Cracking the Code: Managing PDF Forms
Do you struggle with PDF forms? Challenges like:
- Trouble opening, editing, accessing, or printing PDF form documents.
- Struggling to import and export information from your PDF form.
- PDF viewer software causing PDF form incompatibility issues and loss of features.
- Inefficient paper-forms processing slows down important workflows.
PDF forms are not always the easiest to work with, but fortunately we have forms management tools available within the Adobe PDF Library’s Forms Extension module that can help you employ powerful forms technology in your own applications and beyond. Let’s take a look at our forms code samples to demonstrate how the underlying technology works.
Note: The samples in this post are written in C++, but we have other samples available for .NET Framework and Java.
Converting XFA to AcroForm
XFA was deprecated in the new PDF 2.0 format and cannot be used with special ISO formats for PDF documents (such as PDF/A). Google Chrome and most other browsers will not display XFA documents, and XFA is not supported on mobile devices.The XFA format is being phased out, and the standard for managing forms within PDF files in the future will be AcroForms. If you are going to be building or manipulating PDF forms documents programmatically in the future, knowing to rely on AcroForms rather than XFA is important.
ConvertXFAToAcroForms is a code sample that demonstrates how to convert XFA (Dynamic or Static) fields to AcroForms fields and remove XFA fields.
Importing & Exporting Forms Data
Importing and exporting data from forms can be helpful when you need to view the data in the context of a PDF as opposed to other files types, or if you need to condense the data from a form and export it to use with different file formats.
In some cases, you may encounter completed forms as data-only files instead of full PDF files. These files use a different file format than PDFs, such as FDF, XML, or CSV. By viewing the original file and importing the data in the file, you can view the data submitted by a specific recipient in the context of the PDF.
Additionally, an exported file is usually smaller than the original PDF form file, which makes it much more convenient for distributing to others.
The ImportFormsData sample demonstrates how to Import forms data into XFA and AcroForms documents.
The ExportFormsData sample demonstrates how to Export forms data from XFA and AcroForms documents.
PDF Forms Flattening
Widespread challenges in forms processing workflows can prevent many users from opening and viewing the content of documents on screen, editing documents, and printing to paper.
Most XFA documents, for example, are completely unintelligible to the majority of PDF software and can’t be processed at all. By flattening XFA and AcroForms, you can solve this problem by removing editable form fields that users can interact with and replace them with baked-in textual content which will no longer be editable when viewing them with PDF software.
The FlattenForms sample demonstrates how to Flatten two types of forms fields:
- Flatten XFA (Dynamic or Static) to regular page content which converts and expands XFA fields to regular PDF content and removes the XFA fields.
- Flatten AcroForms to regular page content which converts AcroForm fields to regular page content and removes the AcroForm fields.
Forms Extension is a great SDK for managing forms.
Prefer a command-line tool? Forms Flattener is your answer.
We invite you to check out the Datalogics GitHub Repository for more information on Adobe PDF Library and samples for the creation, modification, and management of PDF documents.