2

我正在使用 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 格式的内部结构,所以我不知道是什么原因造成的。

如何使内容以与源完全相同的方式显示(除了按比例缩小)?

4

0 回答 0