KamoCRM

Flatten signed documents for real and stamp values by their field type

FixESigService
Shipped
November 12, 2026 at 9:48 PM UTC
Author
Kamo
Commit
0868970

A signed W-9 came out looking blank: the flattened PDF kept the IRS form's /AcroForm (with /XFA) and its 23 widgets, and every browser viewer drew those empty, editable boxes over the stamped values. The flatten now strips the form layer after stamping: the AcroForm, NeedsRendering, every Widget annotation and the structure tree's references to them, plus the now-invalid usage-rights signature and the form's document JavaScript. Links and other annotations stay. Values were stamped as raw text whatever the field was, so a ticked checkbox printed the word "true". Stamping now reads the DESIGN field's type: checkbox and toggle draw a tick, a single-option radio (the AcroForm-import / W-9 line 3a shape) is marked only when the group chose its option, a multi-option radio is drawn as the signer saw it, dropdown and multi-select show option labels, and a text area wraps inside its box. signed_<uid> now always answers: an executed copy is served with any form layer an older flatten left in it stripped (the stored bytes are untouched), and an envelope still waiting on a later signer gets an unstored flatten of the values captured so far, with no certificate. Nobody signed yet means the source.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing