The PDF Forms Babylon - AcroForms and XFA

PDF forms are very popular among users. A tools programmer can, however, choose between two different forms systems: AcroForm and XFA. When to choose which and why?

The AcroForm system is available since version 1.2 and has been continuously enhanced since then. It describes the semantics of forms and its fields using PDF syntax. On the other hand, XFA (XML Forms Architecture) uses, as the name implies, the XML syntax for the same. AcroForms can be created using Adobe's Acrobat product and likewise XFA forms can be created using Adobe's LifeCycle Designer.

The XFA specification is referenced as an external document to ISO 32'000-1 (PDF 1.7) and has not yet been standardized by ISO. ISO 19'005-2 forbids most of the XFA data except for the form field content which was created by the form's user. XFA is not compatible with AcroForms but a static, filled out form can be transformed into a PDF/A document for archiving using a suitable software.

The advantages of using AcroForms are:
  • PDF syntax only
  • Easy to understand and implement
  • Standardized
  • Supported by most PDF processors
  • Suffices for simple forms applications
The advantages of using XFA are:
  • More flexible (dynamic forms based on field content)
  • Can be processed using XML manipulation libraries
  • Designed for sophisticated forms applications
Technically spoken, an XFA form is included as a resource in a shell PDF. The shell PDF is usually built as a minimal skeleton plus some fonts and images to render the form. The XFA form itself again may contain a PDF file.

XFA offers a number of benefits for forms designers and users. However, the main disadvantages of XFA forms are, that they are based on a complex, non-standardized technology and most PDF software therefore cannot process them.

Since this is a very controversial topic I'm eager to learn about your opinion. Please, don't hesitate to post a comment.