Skip to main content
Version: API v1

Working with Acroforms

PDFDancer lets you work with PDF forms (AcroForms) programmatically. Select, fill, update, and delete form fields with simple API calls.


Selecting Form Fields​

All Form Fields​

from pdfdancer import PDFDancer

with PDFDancer.open("form.pdf") as pdf:
# Get all form fields across the document
all_fields = pdf.select_form_fields()

# Get all form fields on a specific page
page_fields = pdf.page(1).select_form_fields()

for field in page_fields:
print(f"Field: {field.name}, Type: {field.object_type}")

Form Fields by Name​

with PDFDancer.open("form.pdf") as pdf:
# Find form fields by name
first_name_fields = pdf.select_form_fields_by_name("firstName")

# On a specific page
page_fields = pdf.page(1).select_form_fields_by_name("signature")

if first_name_fields:
print(f"Found field: {first_name_fields[0].name}")

Filling Form Fields​

Fill Single Field​

from pdfdancer import PDFDancer

with PDFDancer.open("form.pdf") as pdf:
# Find form field by name
fields = pdf.page(1).select_form_fields_by_name("signature")

if fields:
# Update the field value
fields[0].edit().value("Signed by Jane Doe").apply()

pdf.save("filled_form.pdf")

Bulk Form Filling​

from pdfdancer import PDFDancer

with PDFDancer.open("form.pdf") as pdf:
# Define form data
form_data = {
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"phone": "555-1234"
}

# Fill all fields
for field_name, value in form_data.items():
fields = pdf.select_form_fields_by_name(field_name)
if fields:
fields[0].edit().value(value).apply()

pdf.save("filled_form.pdf")

Deleting Form Fields​

from pdfdancer import PDFDancer

with PDFDancer.open("form.pdf") as pdf:
# Delete specific form fields
zip_fields = pdf.select_form_fields_by_name("zip")

for field in zip_fields:
field.delete()

pdf.save("output.pdf")

Next Steps​