Den här artikeln guidar dig i hur du extraherar data från ett PDF-formulär med Python. Den innehåller detaljer om hur du ställer in utvecklingsmiljön, en steg-för-steg-guide samt exempelkod för att extrahera data från formulärfält. Exempelkoden skapar en test-PDF med fält och värden och hämtar data från alla fält.
Steg för att extrahera data från PDF-formulärsfält med Python
- Konfigurera miljön för att använda Aspose.PDF for Python via .NET för att extrahera formulärdata
- Skapa eller ladda en PDF-fil i ett Document-objekt med inmatningsfält som innehåller data
- Hämta alla fält från form-egenskapen i det inlästa PDF-dokumentet
- Iterera genom alla fält och få åtkomst till varje fält
- Visa fältets fullständiga namn och värde
Dessa steg beskriver hur man extraherar data från ett ifyllbart PDF-formulär med Python. Skapa eller ladda en PDF-fil med fält och värden, och hämta sedan samlingen av fält från Form-egenskapen i PDF-filen. Iterera genom alla fält och hämta deras fullständiga namn och värde för vidare bearbetning.
Kod för att extrahera formulärfält från PDF med 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() |
Den här koden demonstrerar hur man extraherar data från PDF-formulär. Vi har använt samlingen Document.form.fields, som innehåller alla fält i PDF-filen. Du kan filtrera fälten från en specifik sida genom att använda page_index i Field-objektet som hämtats från samlingen.
Den här artikeln har lärt oss hur vi kan läsa data från PDF-formulär. Om du vill platta till en PDF-fil, se artikeln Hur man plattar till en PDF i Python.