3

这是如何使用 Python 在 PDF 中将“缺失”页面作为空白页面插入的重写?但我正在尝试使用PdfFileWriter其他方法来做到这一点:cloneDocumentFromReader()并且addBlankPage(),因为这样看起来更干净。

我需要在 PDF 的末尾添加一个空白页,如果它包含奇数页,但页数大于 1。

所以我正在尝试这样做:

from PyPDF2 import PdfFileReader, PdfFileWriter
with open(pdffile, 'rb') as input:
    pdf=PdfFileReader(input)
    numPages=pdf.getNumPages()
    if numPages > 1 and (numPages % 2 == 1):
            outPdf=PdfFileWriter()
            outPdf.cloneDocumentFromReader(pdf)
            outPdf.addBlankPage()
            outStream=file('/tmp/test.pdf','wb')
            outPdf.write(outStream)
            outStream.close()

该代码有效,但创建的 PDF 比原始 PDF 小,并且在尝试在 Adob​​e Acrobat 中打开时出现错误(不解析)。

我是否将某些内容与它应该如何工作混为一谈?当我看到我无法使用 PdfWriter 在 Pdf 中导航以选择添加空白页的位置时,我有点惊讶,但我认为,在我克隆文档后,它应该在最后页面有一些内部“标记”?

4

1 回答 1

3

抱歉,事实证明我确实需要另一种方法。即PdfWriter.appendPagesFromReader().

于 2017-10-04T15:58:32.770 回答