Pythonを使用してPDFフォームからデータを抽出する

この記事では、Pythonを使用してPDFフォームからデータを抽出する方法について説明します。IDEの設定方法、手順のリスト、およびフォームフィールドデータにアクセスするためのサンプルコードが含まれています。サンプルコードは、フィールドと値を持つテストPDFを作成し、すべてのフィールドからデータを取得します。

Pythonを使用してPDFフォームフィールドからデータを抽出する手順

  1. Aspose.PDF for Python via .NETを使用してフォームデータを抽出するための環境を設定する
  2. データを含む入力フィールドを持つPDFファイルをDocumentオブジェクトに作成またはロードする
  3. ロードされたPDFドキュメントのformプロパティからすべてのフィールドを取得する
  4. すべてのフィールドを走査し、各フィールドにアクセスする
  5. フィールドの完全な名前と値を表示する

これらの手順は、Pythonを使用して入力可能なPDFからデータを抽出する方法を説明しています。フィールドと値を持つPDFファイルを作成またはロードし、PDFファイルのFormプロパティからフィールドのコレクションにアクセスします。すべてのフィールドを走査し、処理のためにフィールドの完全な名前と値にアクセスします。

Pythonを使用してPDFからフォームフィールドを抽出するコード

import aspose.pdf as pdf
from aspose.pdf import Document, License, Rectangle
from aspose.pdf.forms import TextBoxField
def main():
# Load Aspose PDF license
license = License()
license.set_license("license.lic")
# Generate PDF with input fields
create_pdf_with_fields()
# Open and process the generated PDF file
pdf_document = Document("UserForm.pdf")
# Retrieve and display form fields
form_fields = pdf_document.form.fields
for form_field in form_fields:
print("Field Name:", form_field.full_name)
print("Field Content:", form_field.value)
def create_pdf_with_fields():
# Instantiate new PDF document
pdf_file = Document()
for page_index in range(1, 4): # 3 pages
new_page = pdf_file.pages.add()
for field_index in range(1, 5): # 4 fields per page
# Define a text input field
input_field = TextBoxField(new_page, Rectangle(120, field_index * 90, 320,(field_index + 1) * 90,True))
input_field.partial_name = f"inputField_{page_index}_{field_index}"
input_field.value = f"Data Entry {page_index}-{field_index}"
# Attach field to the document form
pdf_file.form.add(input_field, page_index)
# Save document to disk
pdf_file.save("UserForm.pdf")
main()

このコードは、PDFフォームからデータを抽出する方法を示しています。Document.form.fieldsコレクションを使用しました。このコレクションには、PDF内のすべてのフィールドが含まれています。コレクションからアクセスしたFieldオブジェクトのpage_indexを使用して、特定のページのフィールドをフィルタリングできます。

この記事では、PDFフォームデータを読み取るプロセスを学びました。PDFファイルをフラット化したい場合は、PythonでPDFをフラット化する方法の記事を参照してください。

 日本語