- June 7, 2019
- FOXITBLOG
by Carlos Gonzalez, Foxit Software
Acroforms are the original PDF-based fillable forms, based on the PDF architecture. XFA forms are XML-based forms, wrapped inside a PDF. So, what’s the difference—and more importantly, which should you use? Let’s take a look.
The backstory
Acroforms were released in 1997. In 2002, Adobe acquired Canadian service provider Accelio, who was using XFA. Adobe adopted the XFA format as the standard for PDF forms of a larger platform (LiveCycle). But it also made it available to Acrobat-only users. And that’s where the confusion began—two PDF fillable form standards from the same vendor at the same time.
Today, Adobe plans to stop supporting the LiveCycle platform. That leaves many customers understandably thinking about replacing their XFA forms with Acroforms. If you’re in that situation, here are some things to consider.
The basics
When talking about PDF fillable forms, we need to differentiate between:
- Form design or layout, aka, what the user sees on screen and in print.
- Form development, aka, addition of fields, check boxes, buttons, scripts, etc. This is what the user interacts with. It’s also the form intelligence “under the hood”.
PDF fillable forms can be very simple. And they can be really smart when you add dynamic behavior, electronic submission, 2D barcodes for 100% error-free data collection, lookup tables, validations, complex calculations, version control, etc.
The difference
You can develop Acroforms using a number of different PDF platforms, such as Foxit PhantomPDF, Adobe Acrobat, Nitro Pro, Nuance Power PDF, to mention a few.You create Acroforms in two steps. First, design the form layout using an external application such as Microsoft Word, InDesign, or Adobe Illustrator, etc. Second, add the form elements (fields, check boxes, scripts, etc) on top of the existing layout. This approach allows you to easily replace the form layout without affecting the form objects. This is a must when form design and form development are performed by different teams (e.g. Marketing and IT).
You can only develop XFA forms using Adobe Forms Designer (FD). While the FD allows you to start with an existing PDF file—the same as Acroforms—it will truly unleash all its XFA potential when you design the layout from scratch using FD. With this approach, you use a single application to do everything: design and development. Depending on the project and the departments involved, this has pros and cons.
One of the keys here is the output. Because XFA forms architecture was designed to output the same XFA form in PDF or in HTML using a dedicated forms server, XFA forms have inherited all the limitations of HTML. That means you lack Javascript access to many of the internal PDF objects. This makes XFA forms less powerful than Acroforms, which allow much greater interaction with the form objects using JavaScript, besides having a much larger Javascript object collection.
Content reflow is overrated
XFA forms can do one thing that Acroforms can’t do: reflow PDF content. If, for example, you need the form to dynamically add more rows to accommodate varying data, while pushing the content layout down to make room for the new rows, it can do it. This solves some problems but creates other important ones.
Reflowing is a nice feature but it’s useless if your form needs to be printed and its data is collected using an OCR-based system. Why? OCR-based forms processing systems expect to find the same data in the same place. If you move the data, OCR gets lost and does not work.
You can overcome this problem by using 2D barcodes to collect data from your forms. That eliminates the need for OCR and it’s way more accurate. But it’s still not perfect. 2D barcodes have fixed dimensions according to the amount of data they hold, and if you move the layout you may end up not being able to draw the 2D barcode at all. Again, no luck with reflow.
You can also send the electronic data directly to the server, if you want a “pure” electronic form with no paper involved but then, why use PDF at all?
PDF is the perfect format if your forms need to be printed at some point in the process.
If not, I suggest using a different technology better suited for desktop and mobile devices.
So, which one is better?
If you use PDF fillable forms, stay with Acroforms. The JavaScript support for Acroforms (what makes the form smart and powerful) is much better than for XFA.
Besides reflowing content, Acroforms can do everything that XFA forms can do, and other things that XFA can’t. In addition, the tools that PDF desktop products offer to develop JavaScript functionality are better than the ones offered in the FD, starting with a JavaScript debugging console. Plus, Acroforms supports Templates, which allow additional form pages to be dynamically added and/or removed on a need basis. (We’ll talk about Templates soon, in another blog.)
Want to convert XFA forms to Acroforms? There are a number of tools out there that will let you do it. While none of them is fully automated, they may help in your transition.
Still not sure? Contact Foxit if you’re deciding between XFA and Acroforms or planning to move away from XFA. Since we support both XFA and Acroforms, we can help you decide which one is best for you and help you implement your project.