Chris Wade Chris developed much of the Forms handling code and also the hooks for the XFA.

Do you need to display PDF Forms in a Browser?

Find out how FormVu can convert PDF Forms into HTML5

What are AcroForms?

1 min read

acroforms forms pdf

acroforms forms pdf

AcroForms are the original Forms technology added to the PDF file format to provide interactive form elements such at radio buttons, text fields, combo lists, etc in PDF files.

The data for an AcroForm is stored inside standard COS objects in a PDF. You will find most of the AcroForms data linked to the name ‘AcroForm’ Object inside a PDF file. This will then have a ‘Fields’ tag which will then list lots of PDF references which are all AcroForms. Some files will only have one or two, others contain hundreds.

The key value is th ‘FT’ entry which defines the type of Form object. What other values are present will depend on this value. Here are the possible values.

Tx = is a text field.
Ch = is a choice field.
Btn = is a Button field.
Sig = is a Signature field.

Now we know the type of field, but there are multiple fields within most types. To find out which exact field you have you also need the value for tag name ‘Ff’, this is a byte sequence where each byte represents a different flag.
These are :-
Choice fields
byte 18=combo
text fields
byte 13=multiline
byte 14=password
button fields
byte 16=radio
byte 17=pushbutton
Tx = Text  (defaults to a single line text field, the flags are options)
byte 13 = multiline
byte 14 = password
Ch = choice
byte 18 = combo
no flag = list field
Btn = button
byte 16 = radio
byte 17 = push button
neither flag = checkbox button

This gives you all the possible Form types for an AcroForm object. There will be lots of other values dependent on what type of Form you have. There can also be AP streams to show the Form value and JavaScript to provide validation.



FormVu allows you to

Use PDF Forms in the Web Browser
Integrate PDF Forms into Web Apps
Parse PDF forms as HTML5
Chris Wade Chris developed much of the Forms handling code and also the hooks for the XFA.