Hinzufügen von Text zu vorhandenen PDFs mit Python
PyPDF und ReportLab sind in der Lage, PDFs zu erstellen und zu bearbeiten, aber sie sind in dieser Hinsicht unzureichend Bearbeiten vorhandener. Lassen Sie uns einen alternativen Ansatz erkunden.
Um zusätzlichen Text über ein vorhandenes PDF zu legen, bietet Python eine Kombination aus den Modulen PyPDF2 und Reportlab. PyPDF2 bietet die Funktionalität zum Extrahieren von Seiten aus dem Originaldokument, während Reportlab es uns ermöglicht, neue Textinhalte zu generieren.
Hier ist ein detailliertes Beispiel in Python 2.7:
<code class="python">import StringIO from pyPdf import PdfFileWriter, PdfFileReader from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import letter # Create a new PDF with the additional text buffer = StringIO.StringIO() canvas = canvas.Canvas(buffer, pagesize=letter) canvas.drawString(10, 100, "Hello world") canvas.save() new_pdf = PdfFileReader(buffer) buffer.seek(0) # Read the existing PDF existing_pdf = PdfFileReader(open("original.pdf", "rb")) output = PdfFileWriter() # Merge the new text onto the existing pages page = existing_pdf.getPage(0) page.mergePage(new_pdf.getPage(0)) output.addPage(page) # Save the updated PDF outputStream = open("destination.pdf", "wb") output.write(outputStream) outputStream.close()</code>
Für Python 3.x , verwenden Sie diesen ähnlichen Ansatz:
<code class="python">from PyPDF2 import PdfFileWriter, PdfFileReader import io from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import letter buffer = io.BytesIO() canvas = canvas.Canvas(buffer, pagesize=letter) canvas.drawString(10, 100, "Hello world") canvas.save() new_pdf = PdfFileReader(buffer) buffer.seek(0) 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>
Das obige ist der detaillierte Inhalt vonWie überlagere ich mit Python zusätzlichen Text in vorhandene PDFs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!