我對生成的PDF有一個問題,生成的pdf文件有4頁,我使用的是現有的兩頁PDF。我必須使用pyPD2
和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()
你能鏈接到輸入文件,所以我可以進一步瞭解嗎? –
@ B8vrede我不明白爲什麼這個downvote。任何有兩頁的PDF都會很好(我在每頁上繪製不同的字符串)。 – Zety
但正如我剛剛修復那部分我刪除downvote – B8vrede