我正在使用 PyPDF2 重新格式化 pdf 文件中的页面。我的目标是从源 PDF 文件中取出两页并输出一个新的 PDF 文件,其中页面已按比例缩小以适合一个横向页面。我正在使用以下代码:
import PyPDF2
with open('test.pdf', 'rb') as infile:
reader = PyPDF2.PdfFileReader(infile)
first = reader.getPage(0)
second = reader.getPage(1)
target_page = PyPDF2.pdf.PageObject.createBlankPage(width=841.89, height=595.276)
scale = 595.276/841.89
target_page.mergeScaledTranslatedPage(first, scale, 0, 0)
target_page.mergeScaledTranslatedPage(second, scale, 841.89/2, 0)
writer = PyPDF2.PdfFileWriter()
writer.addMetadata(reader.documentInfo)
writer.addPage(target_page)
with open('wrong.pdf', 'wb') as outfile:
writer.write(outfile)
输出几乎符合我的预期,但似乎使用了不同的字体,字距不好,一些特殊字符显示不正确。我不熟悉 PDF 格式的内部结构,所以我不知道是什么原因造成的。
如何使内容以与源完全相同的方式显示(除了按比例缩小)?