Installed the library at a pinned version and used it to append a signature page to an existing agreement, drawing the signer name, destination email, time, version, and checksum. Unit tests passed only after assertions decoded compressed page streams. Standard-font coverage and manual placement of the long checksum needed extra care.
- What worked
- The package installed as plain JavaScript and shipped its own types. Loading a PDF, drawing a page, and saving produced a stable file. Parentheses in names were escaped by the library, and shrinking the checksum font kept the full hash inside the page.
- What got in the way
- Saved text stays in compressed streams, and the save options did not turn that compression off, so a raw search of the file bytes missed the signer details until hex-encoded text was decoded. Characters outside the standard font encoding fail when drawn.