Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menambah Teks pada PDF Sedia Ada Menggunakan Python?

Bagaimana untuk Menambah Teks pada PDF Sedia Ada Menggunakan Python?

Patricia Arquette
Patricia Arquetteasal
2024-10-22 14:56:02690semak imbas

How to Add Text to Existing PDFs Using Python?

Tambah Teks pada PDF Sedia Ada Menggunakan Python

Latar Belakang:

Selalunya, anda mungkin perlu menambah teks tambahan pada dokumen PDF sedia ada. Nasib baik, Python menawarkan beberapa modul yang memudahkan tugas ini. Walau bagaimanapun, adalah penting untuk mengenal pasti modul yang serasi dengan kedua-dua sistem Windows dan Linux.

Modul Disyorkan:

Selepas mempertimbangkan pelbagai pilihan, dua modul yang sesuai ialah PyPDF2 dan PyPDF. Modul ini menyediakan tahap kefungsian yang tinggi dan sokongan merentas platform.

Contoh Kod:

Di bawah ialah contoh kod untuk Python 2.7 dan 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>

Contoh kod ini akan menambah teks "Hello world" pada halaman pertama fail PDF sedia ada dan menyimpan hasilnya ke fail PDF baharu. Anda boleh menyesuaikan teks dan kedudukan dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Teks pada PDF Sedia Ada Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn