Forms · Node.js and TypeScript

Create and fill PDF forms in Node.js

Build interactive AcroForm fields from Node.js (text inputs, checkboxes, radio groups and dropdowns) with generated appearance streams, then fill and flatten them later. No NeedAppearances hack required.

Why Node.js and TypeScript needs this

Node typically reaches for heavy wrappers or headless Chrome for anything past basic output, which is slow, fragile and never archival-grade.

rust-pdf generates a full AcroForm with appearance streams baked in, so fields render correctly everywhere without relying on the viewer. Names support dotted hierarchy for grouped fields, and an existing form can be filled programmatically and flattened into static content.

  • Text fields, checkboxes, radio groups and dropdowns with generated appearance streams.
  • Hierarchical dotted field names for grouped data.
  • Fill an existing form and flatten it into non-editable content.

Build a form in Node.js with rust-pdf

Install the package, then call the same idiomatic API every rust-pdf binding shares. The snippet below is real Node.js code from the reference docs.

Node.js
const doc = new Document();
doc.addPage();
doc.textField("applicant.name", 0, [72, 700, 320, 720], "");
doc.checkbox("agree", 0, [72, 660, 88, 676], false);
doc.dropdown("plan", 0, [72, 620, 240, 640],
             ["Starter", "Pro", "Enterprise"], 1);
doc.radioGroup("billing", 0, [
  { rect: [72, 580, 88, 596], export: "monthly" },
  { rect: [140, 580, 156, 596], export: "annual" },
], 1);
doc.save("form.pdf");
doc.close();
Validated by: qpdfmutool

This is part of the free tier in Node.js. No license required.

Full Node.js reference in the documentation.

Forms in Node.js: FAQ

Do the form fields render without NeedAppearances in Node.js?

Yes. rust-pdf generates an appearance stream for every field, so checkboxes, text and choices display correctly in all viewers without the NeedAppearances workaround.

Can I fill an existing form in Node.js?

Yes. Load the PDF, set text fields, checkboxes, radios and dropdowns by name, and optionally flatten the form so the values become permanent static content.

Is form authoring free?

Yes. Creating, filling and flattening AcroForm fields is part of the free tier in Node.js.

Create and Fill PDF Forms in Node.js

One Rust core, the same output across every language. Prototype for free, license the corporate features when you ship.