Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich mit Python Text zu vorhandenen PDFs hinzu?

Wie füge ich mit Python Text zu vorhandenen PDFs hinzu?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-22 14:56:02690Durchsuche

How to Add Text to Existing PDFs Using Python?

Text zu vorhandenem PDF mit Python hinzufügen

Hintergrund:

Häufig müssen Sie möglicherweise zusätzlichen Text zu einem vorhandenen PDF-Dokument hinzufügen. Glücklicherweise bietet Python mehrere Module, die diese Aufgabe vereinfachen. Es ist jedoch wichtig, Module zu identifizieren, die sowohl mit Windows- als auch mit Linux-Systemen kompatibel sind.

Empfohlenes Modul:

Nach Prüfung verschiedener Optionen sind zwei geeignete Module PyPDF2 und PyPDF. Diese Module bieten ein hohes Maß an Funktionalität und plattformübergreifender Unterstützung.

Codebeispiele:

Unten finden Sie Codebeispiele für Python 2.7 und Python 3. x:

Python 2.7:

<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()

# Move to the beginning of the StringIO buffer
packet.seek(0)

# Create a new PDF with Reportlab
new_pdf = PdfFileReader(packet)
# Read your existing PDF
existing_pdf = PdfFileReader(file("original.pdf", "rb"))
output = PdfFileWriter()
# Add the "watermark" (which is the new pdf) on the existing page
page = existing_pdf.getPage(0)
page.mergePage(new_pdf.getPage(0))
output.addPage(page)
# Finally, write "output" to a real file
outputStream = file("destination.pdf", "wb")
output.write(outputStream)
outputStream.close()</code>

Python 3.x:

<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()

# Move to the beginning of the StringIO buffer
packet.seek(0)

# Create a new PDF with Reportlab
new_pdf = PdfFileReader(packet)
# Read your existing PDF
existing_pdf = PdfFileReader(open("original.pdf", "rb"))
output = PdfFileWriter()
# Add the "watermark" (which is the new pdf) on the existing page
page = existing_pdf.pages[0]
page.merge_page(new_pdf.pages[0])
output.addPage(page)
# Finally, write "output" to a real file
output_stream = open("destination.pdf", "wb")
output.write(output_stream)
output_stream.close()</code>

Diese Codebeispiele fügen den Text „Hallo Welt“ zur ersten Seite der vorhandenen PDF-Datei hinzu und speichern das Ergebnis in einer neuen PDF-Datei. Sie können den Text anpassen und entsprechend positionieren.

Das obige ist der detaillierte Inhalt vonWie füge ich mit Python Text zu vorhandenen PDFs hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn