How to Use Native PDF Form Fields

Use native PDF form fields to create interactive fields in PandaDoc documents.

Problem

You have a PDF with native form fields (created in Adobe Acrobat, Foxit, or similar) and you want PandaDoc to recognize them as interactive fields when you upload the file. This approach works only with PDFs and uses the form fields already embedded in the file, unlike text-based field tags which work across PDF, DocX, and RTF.

Prerequisites

Solution

Step 1: Verify your PDF form fields are supported

PandaDoc supports the following native PDF form field types:

Field typeSupportedNotes
TextYesSingle- and multi-line text.
DatePartialRecognized as a date only when the PDF uses standard Acrobat-style date formatting; otherwise appears as text.
CheckboxYes
Dropdown (combo box)YesOptions and current value are captured.
List boxYesExported like a dropdown; multiple selection is represented as multi-line dropdown-style output.
Radio buttonYesEach option is captured; grouping follows the PDF.
SignatureYes
InitialsNo*Not exported as a dedicated type. *May appear if the authoring tool stores them as a text or signature field.
Rich textLimitedMay export as plain text only; rich formatting is not preserved.
PasswordLimitedMay export like a normal text field; masking behavior is not preserved.
Buttons, barcode, image, file pickNoIgnored during field export.

You can view and edit field names in your PDF editor (Adobe Acrobat, Foxit, etc.) before uploading.

Download a Sample PDF with Form Fields

Step 2: Upload the PDF with parse_form_fields enabled

Set parse_form_fields to true in your create document request. This tells PandaDoc to extract native form fields from the PDF.

🚧

Form fields vs. field tags

Set parse_form_fields to true for native form fields. Set it to false (the default) when using text-based field tags. Avoid using both in the same PDF; if both are present, you may get duplicate or overlapping fields.

Step 3: Pre-fill values and assign roles

Use each PDF field's name as the key in the fields object of your request body. See the Create Document from PDF API reference for the exact matching rules.

"fields": {
    "Name_Field": {
        "value": "Jane Doe",
        "role": "user"
    },
    "City_Dropdown": {
        "value": "New York",
        "role": "user"
    }
}

Each entry in the fields object requires:

KeyDescription
valueThe pre-filled value for the field.
roleThe recipient role this field is assigned to. Must match a role in recipients.

Step 4: Map roles to recipients

Each role referenced in the fields object must match a recipient:

"recipients": [
    {
        "email": "[email protected]",
        "first_name": "Jane",
        "last_name": "Doe",
        "role": "user"
    }
]

Verification

  1. Check that the document transitions from document.uploaded to document.draft status (via webhook or polling).
  2. Open the document in the PandaDoc web app and verify that form fields appear as interactive PandaDoc fields.
  3. If the document fails, check the error handling guide for form field validation errors.

Related