我生成的 pdf 有问题,生成的 pdf 文件有 4 页,我使用现有的 pdf 有两页。我必须使用pyPD2
and写一些文本reportlab
。
当我使用getPage()
方法时,我想在合并之前制作一个页面副本,但由于某些原因它使用相同的页面,我的文本打印了好几次。
我怎样才能避免这种情况?
我的代码:
packet = io.BytesIO()
can = canvas.Canvas(packet)
can.drawString(0,0, "Print on page 1")
can.showPage()
can.drawString(200,200, "Print on page 2")
can.showPage()
can.drawString(0,0, "Print on page 3")
can.showPage()
can.drawString(200,200, "Print on page 4")
can.save()
new_pdf = PdfFileReader(packet)
path_of_two_page_pdf = 'overview.pdf'
existing_pdf = PdfFileReader(file(path_of_two_page_pdf, "rb"))
output = PdfFileWriter()
for pi in range(4):
page = existing_pdf.getPage(pi % 2)
page.mergePage(new_pdf.getPage(pi))
output.addPage(page)
outputStream = file("NEW_PDF.pdf", "wb")
output.write(outputStream)
outputStream.close()