Form Fill
Mail merge for PDFs — one filled form per spreadsheet row
AcroForm field detection, header-to-field auto-mapping, support for text, checkbox, radio, and dropdown fields, optional flattening, and custom output filenames built from row data.
Download Complimentary TrialThe form-merge problem
When 500 forms each need 30 fields filled, hand-keying is not an option
Onboarding a new cohort means 500 W-9 forms, each with the same 30 fields populated from a different row of an HR spreadsheet. An insurance application run is 200 ACORD forms a week. A school enrollment process is 800 forms with student-specific data. The volume isn't the hard part — the hard part is consistency. Hand-keying produces typos, missing fields, swapped rows, and a slow grind.
PDF Batch Editor's form fill is a mail merge for PDFs. Load the form template once, load the data source (CSV or Excel) once, map columns to PDF field names once, run. Each row in the spreadsheet becomes one filled PDF, named according to a template you control, in a single batch operation. The same data flow that produces a Word mail merge produces filled PDFs — without the manual conversion step.
Form formats
AcroForm is what virtually every PDF form uses
PDF has had two competing form formats over its history. AcroForm is the standardized one — defined in the PDF specification, supported by every PDF library, used by tax forms (W-9, W-2, 1099), HR forms (I-9, ACA reporting), and essentially every form generator in production today. XFA was an Adobe-proprietary XML-based alternative used by a small set of legacy government forms, deprecated in PDF 2.0, and removed from Adobe Reader in 2024. PDF Batch Editor handles AcroForm.
Field types supported in AcroForm fill: text fields (single-line, multi-line, formatted), checkboxes (checked/unchecked from any truthy value in the spreadsheet), radio button groups (one option of many selected by exact value match), and dropdown lists (selected by display value or by export value). Each spreadsheet column is mapped to one PDF field; the field type determines how the column value is interpreted at fill time.
Data and mapping
CSV, Excel, and the field-to-column auto-mapper
CSV import
Standard comma-separated values with a header row. Quoting handled per RFC 4180 — cells containing commas or quotes are wrapped in double quotes, embedded quotes are doubled. UTF-8 expected; the app handles BOM-prefixed files transparently.
Excel import
Modern .xlsx files. The first sheet is used by default, with the option to pick a different one. Header row detection looks at the first non-empty row. Numeric, date, and formula cells flow through as their displayed values.
Auto-mapping
On load, the app proposes a mapping where spreadsheet column headers and PDF field names match exactly or differ only in case and whitespace. Most well-designed forms with thoughtful field naming auto-map with no manual intervention.
Manual override
Override any auto-mapped pair, point any field to any column. Supply a literal constant value for fields that should be the same across every output (e.g. a fixed company name). Leave fields blank when the data set doesn't carry a value for them.
Output
Filenames from row data, optional flattening, and the preview layer
Output filenames are generated from a template that references column values. A template like {LastName}-{FirstName}-W9.pdf against a 1,000-row spreadsheet produces 1,000 distinct filenames. Characters illegal in filenames are sanitized; duplicates get a disambiguating suffix automatically.
Flattening is an optional final step. With flattening on, the filled fields are converted from interactive widgets into static page content — the values are drawn into the content stream and the AcroForm dictionary is removed. The output file is a regular PDF that can't be edited as a form anymore. Right for archival, for sending to recipients who shouldn't alter the values, and for downstream tools that don't handle form fields cleanly. With flattening off, the output stays editable so a downstream signer or reviewer can add to it.
Before running 1,000 rows through the pipeline, the mapping pane shows the first row's data filled into the form. You verify the mapping is doing what you expect, iterate if needed, then commit. That preview is the safety layer between a misconfigured mapping and 1,000 wrong outputs.
Use Cases
Real-world PDF form automation
HR Onboarding
HR fills 500 W-9 forms from an employee spreadsheet. Each form gets the correct legal name, address, EIN/SSN, and signature line — all generated in five minutes flat. Output names follow {LastName}-{FirstName}-W9.pdf for direct payroll-system upload.
Insurance Applications
An insurance agency processes 200 policy applications per week. Applicant data exports from the CRM as Excel; the agency's ACORD form template auto-maps to the export columns. Pre-filled applications are ready for underwriter review the same day instead of three days later.
Student Records
A school administrator generates 800 enrollment forms from a student database export. Each form is pre-filled, flattened (so administrators can't accidentally edit fields), named after the student ID, and ready for the permanent records folder.
Frequently Asked Questions
What kind of PDF forms work with this?
AcroForm-based PDFs — the standard fillable-PDF format produced by Acrobat, LibreOffice, most form designers, and most government tax/regulatory forms. Field types supported include text fields, checkboxes, radio button groups, and dropdown lists. XFA-only forms (a deprecated proprietary format Adobe used in some legacy government forms) are not supported; convert XFA forms to AcroForm in Acrobat first if needed.
How does field-to-column mapping work?
On import, the app reads the spreadsheet's column headers and the PDF's field names, and proposes an automatic mapping where the names match exactly or differ only in case/whitespace. The mapping is editable: override any auto-mapped pair, supply a literal value for fields not represented in the data, or leave fields blank. The mapping configuration is part of the run config and can be saved for re-use.
What does flattening do?
Flattening converts the filled form fields from interactive widgets into static page content — the values are drawn into the content stream and the AcroForm dictionary is removed. Flattened files can't be edited as forms anymore. Right for archival, for sending to recipients who shouldn't be able to alter the values, and for downstream tools that don't handle form fields well. Optional — uncheck to keep the output editable.
How do output filenames work for a 1,000-row run?
Output filenames are generated from a template that references spreadsheet column values. A template like {LastName}-{FirstName}-W9.pdf produces 1,000 distinct filenames like Smith-Jane-W9.pdf, Jones-Bob-W9.pdf. Characters illegal in filenames are sanitized automatically; rows producing duplicate filenames get a disambiguating suffix.
Can I preview a few rows before generating all 500 outputs?
Yes. The mapping pane shows the first row of data filled into the form so you can verify the field-to-column mapping is producing the right output. Iterate the mapping until the preview looks right, then commit to the full run. This is the safety layer between a misconfigured mapping and 500 wrong PDFs.
Stop filling PDF forms by hand
Mail merge for PDFs. One spreadsheet, hundreds of filled forms, ready to ship. Complimentary 14-day trial.
Download Complimentary Trial