PDF ドキュメントを操作する場合、追加のテキストを追加する必要があることがよくあります。これは、単純な注釈から複雑な透かしまで多岐にわたります。 PDF を編集するための組み込みの Python ライブラリがないため、この機能を実現するには外部モジュールを使用する必要があります。
PyPDF と ReportLab は、Python で PDF を操作するための 2 つの一般的なオプションです。 。ただし、これらのモジュールはいずれも、既存の PDF ファイルの編集を直接サポートしません。これらは主に、カスタム コンテンツを含む新しい PDF を作成するために使用されます。
既存の PDF にテキストを追加するには、PyPDF と ReportLab を組み合わせて使用できます。 Windows と Linux の両方で動作する詳細な例を次に示します。
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.add_page(page) # finally, write "output" to a real file output_stream = open("destination.pdf", "wb") output.write(output_stream) output_stream.close()</code>
このソリューションは、透かしテキストを作成する ReportLab の柔軟性と PyPDF のページ操作機能を効果的に組み合わせています。
以上がPython と外部モジュールを使用して既存の PDF にテキストを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。