Извлечение данных из PDF-форм с использованием Python

В этой статье представлено руководство по извлечению данных из PDF-форм с использованием Python. Она включает в себя все подробности по настройке IDE, пошаговые инструкции и пример кода для доступа к данным полей формы. Пример кода создаст тестовый PDF с полями и значениями, а затем извлечет данные из всех полей.

Шаги для извлечения данных из полей PDF-форм с использованием Python

  1. Настройка среды для использования Aspose.PDF для Python через .NET для извлечения данных формы
  2. Создание или загрузка PDF-файла в объект Document с полями ввода, содержащими данные
  3. Получение всех полей из свойства form загруженного PDF-документа
  4. Перебор всех полей и доступ к каждому полю
  5. Отображение полного имени и значения поля

Эти шаги описывают, как извлечь данные из заполняемых PDF с использованием Python. Создайте или загрузите PDF-файл с полями и значениями, а затем получите доступ к коллекции полей из свойства Form в PDF-файле. Переберите все поля и получите доступ к полному имени и значению для дальнейшей обработки.

Код для извлечения полей формы из PDF с использованием Python

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. Вы можете отфильтровать поля с определенной страницы, используя page_index в объекте Field, доступном из коллекции.

Эта статья научила нас процессу чтения данных из PDF-форм. Если вы хотите сделать PDF-файл плоским, обратитесь к статье Как сделать PDF плоским в Python.

 Русский