Doc Fill

Node made for filling a pdf form.

Overview

This node, named "Doc Fill," is designed to fill PDF forms by mapping specified form fields to given values. It processes incoming binary PDF documents, applies the user-defined field mappings, and outputs the filled PDF as a new binary file. This is particularly useful in automating workflows that require populating standardized PDF forms such as applications, contracts, or surveys without manual intervention.

Practical examples include:

  • Automatically filling out employment application PDFs with candidate data.
  • Populating tax forms with financial information extracted from other systems.
  • Generating customized contracts by filling client details into a template PDF form.

Properties

Name Meaning
Property Name The name of the binary property in the input item that contains the original PDF document to be filled.
Property Name Out The name of the binary property where the output (filled) PDF document will be stored.
Configuration JSON A JSON array defining how to map PDF form fields to values. Each object must specify:
- key: the form field name in the PDF
- value: the value to set
- type: one of "textfield", "checkbox", "dropdown", or "radiogroup"
For checkboxes, the value "true" means checked; any other string means unchecked.
Max PDF Size Maximum allowed size of the input PDF file in megabytes. If the input PDF exceeds this size, the node will throw an error. Default is 10 MB.

Output

The node outputs items containing the original JSON data plus a binary property holding the filled PDF document. The output binary property name is configurable.

  • json: Contains the original input JSON data unchanged.
  • binary: Contains the filled PDF document under the configured output binary property name. The PDF is saved in standard PDF format (application/pdf).

No additional binary data types are produced beyond the filled PDF.

Dependencies

  • Requires the pdf-lib library for reading and modifying PDF forms.
  • Uses n8n's helper methods to handle binary data buffers and prepare binary outputs.
  • No external API keys or services are required.
  • The node expects valid PDF files as input in the specified binary property.

Troubleshooting

  • Input is not a PDF: If the binary data in the specified input property is not a PDF, the node throws an error indicating the wrong MIME type. Ensure the input binary property contains a valid PDF file.
  • PDF size too large: If the input PDF exceeds the configured maximum size, the node will error out. Increase the "Max PDF Size" property if needed.
  • Invalid Configuration JSON: The configuration JSON must be a valid JSON array with correct keys and types. Malformed JSON or incorrect field definitions will cause errors.
  • Field mapping errors: If a specified form field key does not exist or cannot be filled, the node throws an error specifying the problematic field.
  • Continue on Fail: If enabled, the node will continue processing subsequent items even if some fail, returning error messages in the JSON output.

Links and References

Discussion