这是对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 ;在最后一页?
答案 0 :(得分:3)
很抱歉,事实证明我确实需要另一种方法。即PdfWriter.appendPagesFromReader()
。