【发布时间】:2014-12-26 19:35:06
【问题描述】:
对于一些输入文件,我将 2 页并排合并为 1 页失败。我不知道为什么! 示例测试代码:
from PyPDF2 import PdfFileWriter, PdfFileReader
import sys
print ("2-up input " + sys.argv[1])
input1 = PdfFileReader(open(sys.argv[1], "rb"), strict=False)
output = PdfFileWriter()
lhs = input1.getPage(0)
rhs = input1.getPage(1)
lhs.mergeTranslatedPage(rhs, 420,0, True)
output.addPage(lhs)
outputStream = open(sys.argv[2], "wb")
output.write(outputStream)
outputStream.close()
失败的案例生成一个只有 lhs 页面的输出文件,而一个好的输出有 lhs 和 rhs 页面彼此相邻。
一个可能的线索:当我在“坏”输入文件上运行脚本时,我收到以下消息: “PdfReadWarning:外部参照表不是零索引。对象的 ID 号将被更正。[pdf.py:1503]”
【问题讨论】:
-
请提供相关文件。如果问题只发生在一些输入文件,它们似乎有一些特别之处。
-
如果您不喜欢 PyPDF2,另一个可以合并 PDF 的 Python 库是 pdfrw。它有 4-up 和 2up 示例。