PDF Forms

From Drumlin Security Wiki
Revision as of 08:06, 3 August 2022 by MikedeSmith (talk | contribs)
Jump to navigation Jump to search

Interactive PDF Forms are a facility for collecting information from the user. From a standards perspective an interactive form is a "collection of fields for gathering information interactively from the user".

A PDF document may contain any number of fields appearing on any combination of pages, all of which make up a single, global interactive form spanning the entire document. Arbitrary subsets of these fields can be imported or exported from the document. Interactive forms support the following field types:

  • Button fields represent interactive controls on the screen that the user can manipulate with the mouse. They include pushbuttons, check boxes, and radio buttons
  • Text fields are boxes or spaces in which the user can enter text from the keyboard
  • Choice fields contain several text items, at most one of which may be selected as the field value. They include scrollable list boxes and combo boxes
  • Signature fields represent digital signatures and optional data for authenticating the name of the signer and the document’s contents

The information entered into a PDF form can then be printed with the form itself, or sent to a nominated URL (in a special Forms Data Format, FDF), and potentially saved locally for future reference and/or amendment. Initially such forms were limited in functionality, for example with few or no checks on the validity of entries, but a more advanced type of form structure was introduced in the PDF1.5 release, known as XFA forms, that sought to improve forms handling with calculations, validations and formatting, and results stored in XML format for further use. However, the use of such forms requires that the PDF file is editable unless the data entered is stored separately, and in many instances the facility has been superseded by the use of non-PDF based offline and online forms processing facilities, notably online web-based forms data handling.