Datalogics is very proud to announce the newest release of Forms Extension™ for Adobe PDF Library, available now on Windows 64-bit for C++, .NET, and Java! While our initial launch was limited to Windows 32-bit, we’ve worked hard to overcome obstacles to bring you a comprehensive Windows solution. In case you missed our previous announcement about the recent introduction of this exciting new product, please refer to this blog post.
One of the primary reasons this is a really big deal in the PDF space is that most XFA documents are completely unintelligible to the majority of PDF software and simply can’t be processed at all. Thanks to Forms Extension, such documents can be converted to AcroForms or simply flattened to regular PDF content that any PDF software can support.
Let’s take a closer look at what we mean by “unintelligible.” Here’s a dynamic XFA document opened in Acrobat DC, which is among the very few PDF viewers able to understand the XFA data:
Here we see the text from the XFA form rendered to the Acrobat DC viewer. Now let’s look at what this dynamic XFA document looks like when you open it in a non-XFA aware PDF viewer (e.g. the majority of PDF software):
Here we see a message indicating that the PDF viewer cannot display this type of document. So why do we see something completely different? Let’s take a look at the PDF page’s content itself to find out why:
What we have here is a series of commands to display some text, such as the “Please wait…” we see displayed on the page. That’s the content of the actual PDF page, so that’s what the non-XFA aware viewer shows us. This is what is meant by a shell, stock, or placeholder page for an XFA document. It’s simply supplied so non-XFA aware viewers can show the user something rather than nothing. So then where is the “Text Field” content that Acrobat is able to display?
The reason it’s not in the page’s content is that this is a dynamic XFA document, which means all of the meaningful data is locked inside an XFA container (stream or array) at the document level. Let’s take a look at an excerpt of this data:
We see a “TextEdit” field (a user interface element that encloses a widget intended to aid in the manipulation of textual content) using the font “Myriad Pro” with the value “Text Field.” As a human, you can read that and make sense of it. It’s a form of XML known as XDP that’s designed to carry around the XFA information in a PDF. Most PDF parsing tools designed to show the page aren’t going to look at this XDP data. Even if they did look, they wouldn’t find actual Graphics or Text operators that are expected in a PDF content stream, so non-XFA aware viewers are not able to show us what’s hidden in the XDP data when opening the document.
Enter Forms Extension for the Adobe PDF Library, which allows us to easily flatten this dynamic XFA document to a regular PDF and save the result. Now let’s examine the page’s content after flattening:
Where T1_0 is defined as:
We see that we begin a Text Block (BT), the rgb color for fill operations (rg) is set to Black (0 0 0), the font T1_0 is chosen (Tf), we set various text state operators (Tc, Tw, Ts, Tz, Tr, and Tm), and the string shown is “Text Field” (Tj). This is syntax that all PDF viewers should be able to recognize.
Now, when we view our file processed with Forms Extension in a non-XFA aware PDF viewer, we see:
So to recap, we took a look at how a dynamic XFA document appears both in Acrobat DC viewer and in non-XFA aware viewers. Next we explored the specification of the data in the ‘language’ of the XFA forms technology. Finally, we saw the result of flattening the XFA document into PDF syntax, which PDF software can understand. Hopefully this provides a better appreciation for the power of Forms Extension to take XFA data locked in a format that most PDF software cannot process and transform it into the universally understood PDF format.
Whether you aim to process XFA forms or AcroForms or convert your XFA forms to AcroForms, we are excited to announce that Forms Extension for the Adobe PDF Library supports all of your PDF forms processing needs! Forms Extension is now available for a free evaluation period – download it today to get started!