PDF form extraction guide
AcroForm vs XFA: what a local extractor can safely read
Two PDFs can look equally fillable while storing data in very different structures. Treating XFA like AcroForm can produce incomplete results that look successful, which is worse than an explicit failure.
Recognize AcroForm
AcroForm uses PDF field dictionaries and widget annotations. A native PDF library can inventory those field names, types, page occurrences and stored values without reading pixels.
Recognize XFA
XFA stores a separate XML-based form model and may generate dynamic page content. Support varies across viewers, and a basic widget pass cannot be assumed to represent the submitted data.
Fail hybrid and unsupported structures visibly
If an XFA entry is present, record the document as unsupported unless the extractor implements and validates that exact structure. Do not harvest a convenient subset of widgets and call the row complete.
Keep the evidence portable
Report the source filename, hash and unsupported reason. That lets another person route the form to an appropriate tool without exposing an absolute workstation path.