Forms · Ruby

Create and fill PDF forms in Ruby

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

Why Ruby needs this

Prawn generates beautiful PDFs but has no PDF/A, no digital signatures, no AES-256 and no PDF/UA, so the regulated features have simply been missing from Ruby.

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 Ruby with rust-pdf

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

Ruby
doc = RustPdf::Document.new
doc.add_page
   .text_field("applicant.name", 0, [72, 700, 320, 720], value: "")
   .checkbox("agree", 0, [72, 660, 88, 676], false)
   .dropdown("plan", 0, [72, 620, 240, 640],
             ["Starter", "Pro", "Enterprise"], selected: 1)
   .radio_group("billing", 0, [
     [[72, 580, 88, 596], "monthly"],
     [[140, 580, 156, 596], "annual"],
   ], selected: 1)
doc.save("form.pdf")
doc.close
Validated by: qpdfmutool

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

Full Ruby reference in the documentation.

Forms in Ruby: FAQ

Do the form fields render without NeedAppearances in Ruby?

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 Ruby?

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 Ruby.

Create and Fill PDF Forms in Ruby

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