在Python中将空白页面添加到奇数页面的PDF中

时间:2017-10-04 15:53:32

标签: python pypdf2

这是对How to insert a "missing" page as blank page in PDF with Python?的重写,但我尝试使用PdfFileWriter其他方法:cloneDocumentFromReader()addBlankPage(),因为它看起来更干净。< / p>

我需要在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小于原始代码,并且在尝试在Adobe Acrobat中打开时会出错(无法解析)。

我是否会混淆这应该如何运作?当我看到我无法使用PdfWriter在Pdf中导航以选择添加空白页面的位置时,我感到有些惊讶,但我认为,在克隆文档后,它应该有一些内部&#34;标记&#34 ;在最后一页?

1 个答案:

答案 0 :(得分:3)

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