Hinzufügen von Text zu vorhandenen PDFs mit Python
Frage:
Wie kann ich zusätzliche einbinden Text mit Python in eine vorhandene PDF-Datei einfügen? Welche externen Bibliotheken sind für diese Aufgabe erforderlich?
Antwort:
Um dies zu erreichen, kann eine Kombination aus PyPDF2- und ReportLab-Bibliotheken eingesetzt werden, die sowohl Windows als auch Linux ermöglicht Kompatibilität. So geht's:
Python 2.7 Beispiel:
<code class="python">from pyPdf import PdfFileWriter, PdfFileReader import StringIO from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import letter packet = StringIO.StringIO() can = canvas.Canvas(packet, pagesize=letter) can.drawString(10, 100, "Hello world") can.save() packet.seek(0) new_pdf = PdfFileReader(packet) existing_pdf = PdfFileReader(file("original.pdf", "rb")) output = PdfFileWriter() page = existing_pdf.getPage(0) page.mergePage(new_pdf.getPage(0)) output.addPage(page) outputStream = file("destination.pdf", "wb") output.write(outputStream) outputStream.close()</code>
Python 3.x Beispiel:
<code class="python">from PyPDF2 import PdfFileWriter, PdfFileReader import io from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import letter packet = io.BytesIO() can = canvas.Canvas(packet, pagesize=letter) can.drawString(10, 100, "Hello world") can.save() packet.seek(0) new_pdf = PdfFileReader(packet) existing_pdf = PdfFileReader(open("original.pdf", "rb")) output = PdfFileWriter() page = existing_pdf.pages[0] page.merge_page(new_pdf.pages[0]) output.add_page(page) output_stream = open("destination.pdf", "wb") output.write(output_stream) output_stream.close()</code>
Von Mithilfe dieser Bibliotheken können Sie mühelos Text zu vorhandenen PDF-Dokumenten in Python 2.7- und Python 3.x-Umgebungen auf Windows- und Linux-Plattformen hinzufügen.
Das obige ist der detaillierte Inhalt vonSo fügen Sie mit Python Text zu vorhandenen PDFs hinzu: Bibliotheksanforderungen und Code-Implementierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!