생성 된 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