Ajout de texte à des PDF existants avec Python
Question :
Comment puis-je incorporer des texte dans un fichier PDF existant à l'aide de Python ? Quelles bibliothèques externes sont nécessaires pour cette tâche ?
Réponse :
Pour y parvenir, une combinaison de bibliothèques PyPDF2 et ReportLab peut être utilisée, permettant à la fois Windows et Linux compatibilité. Voici comment :
Exemple 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() packet.seek(0) new_pdf = PdfFileReader(packet) existing_pdf = PdfFileReader(file("original.pdf", "rb")) output = PdfFileWriter() page = existing_pdf.getPage(0) page.mergePage(new_pdf.getPage(0)) output.addPage(page) outputStream = file("destination.pdf", "wb") output.write(outputStream) outputStream.close()</code>
Exemple 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() packet.seek(0) new_pdf = PdfFileReader(packet) 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>
Par en utilisant ces bibliothèques, vous pouvez facilement ajouter du texte aux documents PDF existants dans les environnements Python 2.7 et Python 3.x sur les plates-formes Windows et Linux.
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!