Maison >développement back-end >Tutoriel Python >Comment ajouter du texte à des PDF existants à l'aide de Python ?
Souvent, vous devrez peut-être ajouter du texte supplémentaire à un document PDF existant. Heureusement, Python propose plusieurs modules qui simplifient cette tâche. Cependant, il est important d'identifier les modules compatibles avec les systèmes Windows et Linux.
Après avoir examiné diverses options, deux modules appropriés sont PyPDF2 et Python. Ces modules offrent un haut niveau de fonctionnalités et une prise en charge multiplateforme.
Vous trouverez ci-dessous des exemples de code pour Python 2.7 et Python 3. x :
<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>
<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>
Ces exemples de code ajouteront le texte « Bonjour tout le monde » à la première page du fichier PDF existant et enregistreront le résultat dans un nouveau fichier PDF. Vous pouvez personnaliser le texte et la position en conséquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!