# XFA forms

Adobe LiveCycle Designer forms keep their fields in an XML template inside the PDF. A static XFA form also has a visible page with ordinary form boxes; a dynamic one has no visible page outside Adobe Reader.

Emboss reads the template directly: every field's name, position and type comes from it, so no detection runs. Because a dynamic form has no page of its own, Emboss draws one from the template (its text, lines, boxes and captions) and reads the labels off that drawing the way it reads any other page; that drawing is also the form's thumbnail and is kept as the `xfa_render` artifact. Checkboxes that share one data node (a cash or accrual choice, a final or partial choice) become a single radio field with one option per box. Filling writes each value into the form's datasets, which is what Adobe Reader and Acrobat display. Fields the form computes itself (totals and subtotals) are left for Reader to calculate on open.

Every fill of an XFA form returns two files: the filled PDF and a data export (`data.json`) holding each field's data reference, label and value, plus the datasets XML fragment. For federal forms the fragment is the same XML the agency's own systems use.

Two things to know. The filled PDF renders in Adobe Reader and Acrobat; Preview and browsers show Adobe's placeholder page instead, so send it to Adobe software, and a dynamic form's receipt carries the note `Reconstructed from the form's template; Adobe Reader renders the official page.` And forms whose layout flows or repeats rows are not supported yet: Emboss reports the warning `xfa_dynamic_form` with the reason, and the workaround is to print the form to PDF in Acrobat and upload that copy.

## See also

- [Pre-fill forms from context documents](https://getemboss.ai/use-cases/prefill-from-context)
- [XFA](https://getemboss.ai/glossary/xfa)
- [AcroForm](https://getemboss.ai/glossary/acroform)
- [The submission package](https://getemboss.ai/docs/submission-package)
- [Artifacts and lineage](https://getemboss.ai/docs/artifacts)
