Skip to content

v0.5.1

Choose a tag to compare

@roukmoute roukmoute released this 13 Oct 22:13
· 134 commits to master since this release

Fix editable form appearances that could retain their old text while the field
was being edited in Acrobat Reader.

The text and choice examples now place the variable text, clipping and list
selection inside /Tx BMC ... EMC, keeping borders outside. This lets the
source-defined editing procedure replace the existing content; without the
marker, it appends new content to the previous appearance. The choice list now
draws its actual France/Belgique display labels on separate selected rows,
while FR/BE remain exported field values. The reference field in the signature
policy example follows the same structure.

The existing object APIs and form data are unchanged. Static appearances remain
valid; this release does not globally reject an appearance without the marker
or force NeedAppearances. Optional packages remain at their published 0.1.3 versions.

Independent pypdf parsing verifies all three appearances and exercises six
successive replacements, sixteen negative checks, three nested-content cases and
three no-marker append cases under each PHP 8.3, 8.4 and 8.5. Borders stay intact
and old/intermediate values disappear. The signature example's original CMS is
mathematically verified. These are stream and source-algorithm checks; interactive
Acrobat editing was unavailable in the local environment.

References: ISO 32000-1 §12.7.3.3, physical pages 443–444, and the retained Adobe
supplement page 121, notes 118–119. Both original PDF sources remain unchanged.

See the changelog,
AcroForm tutorial and updated PDF
and coverage evidence.