What does it mean when a PDF file displays just an 'upgrade Adobe Reader' error message?

Applies to: XpdfViewer, XpdfRasterizer, XpdfPrint, XpdfWidget

If you display (or print) a PDF file using Glyph & Cog software, and you see a single page with a message like this:

Please wait... If this message is not eventually replaced by the proper contents of the document, your PDF viewer may not be able to display this type of document.

or this:

The document you are trying to load requires Adobe Reader 8 or higher. You may not have the Adobe Reader installed or your viewing environment may not be properly configured to use Adobe Reader.

it most likely means that the PDF file contains a "dynamic XFA" form.

PDF supports two different types of interactive forms:

(1) AcroForms are the older format. The form template (or background) is drawn as ordinary PDF content. The AcroForm structure within the PDF file is then used to specify the form fields, e.g., "there is a text entry box at this location on page 2" or "there is a checkbox at that location on page 3".

A PDF renderer that knows nothing about AcroForms (i.e., one that completely ignores the AcroForm information in the PDF file) will still render what looks like a blank form.

Xpdf has additional support for AcroForms, and it will render the field values/contents (text in textboxes, checkmarks in checkboxes, etc.).

(2) XFA forms are the newer option. XFA (XML Forms Architecture) is an XML-based document format which can be embedded in a PDF file.

XFA can be used in two ways:

(2a) Static XFA files are comparable to AcroForms. The form template is drawn as PDF content, and the embedded XFA document specifies the form fields.

As with AcroForms, even a PDF viewer that is completely unaware of XFA will render a blank form.

Xpdf also has support for static XFA. It will render field values, similarly to AcroForms.

(2b) Dynamic XFA files are a different story. The entire content – form template and fields – is specified in the embedded XFA document; there is no regular PDF content. Actually, there's usually a single page of PDF content with the error message mentioned at the top of this question. A PDF viewer that doesn't support dynamic XFA will draw just the PDF content, thus showing the error message.

We don't have any short-term plans to implement an XFA renderer. XFA includes its own markup language, somewhat similar to HTML, for drawing text, images, etc. On top of that, many/most dynamic XFA forms use JavaScript to modify or construct various parts of the form (e.g., to add extra rows to a table, or even extra pages).