Wie überlagere ich mit Python zusätzlichen Text in vorhandene PDFs?

Barbara Streisand
Freigeben: 2024-10-22 14:41:23
Original
280 Leute haben es durchsucht

How to Overlay Additional Text onto Existing PDFs using Python?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!