Hey HN! I'm one of the folks behind Documenso (open-source document signing).
We spent years combining pdf-lib with a custom Rust signing library. It worked, but real-world PDFs kept finding edge cases.
Instead of waiting for a better library to appear, we wrote our own.
LibPDF:
- Lenient parsing with brute-force recovery (inspired by Apache PDFBox)
- Digital signatures with no native bindings and full PAdES support
- Incremental saves that preserve existing signatures
- Encryption (AES-256, AES-128, RC4)
- TTF/OTF font subsetting (ported from PDFBox's fontbox)
API inspired by pdf-lib.
Still in beta, but we use it in production at Documenso already. You might hit a few bugs that we haven't yet, if you do let us know!