Checks when saving

The shared engine generates PDF bytes and pdf-lib reparses them. PDF.js renders every output page and extracts new text and captions. The result shows a SHA-256 digest; the download uses those same bytes.

Development verification

We use Node tests, Chromium browser tests, independent pypdf parsing and Poppler rendering. The troubleshooting lab provides original inputs, outputs, inspection methods and the checked scope. Historical test results do not guarantee preservation of every document.

Limits

Identical display across all browsers, devices and PDF readers is not guaranteed. Physical phones, screen readers and owner documents require separate checks. Keep originals and inspect important outputs in another PDF reader.