Everything below is generated from Forme's CI on every commit — not hand-written, and it fails the build if it drifts from reality. It covers what CI actually proves: PDF/UA-1 and PDF/A conformance per document (via veraPDF), native-vs-WASM byte determinism, and test coverage. Failures and unsupported cases are included where they exist. It is not a browser-parity claim and not a coverage percentage.
Validated with veraPDF 1.30.2. The corpus is 5 shipped templates (invoice, receipt, report, shipping-label, letter) and 4 HTML fixtures (letterhead, dashed-borders, statement, zebra-invoice). Each PDF/A column is the archival-and-accessible render — the same file validated against the PDF/A profile and PDF/UA-1.
| Document | PDF/UA-1 | PDF/A-2b + UA-1 | PDF/A-2a + UA-1 |
|---|---|---|---|
| template/invoice | ✓ | ✓ | ✓ |
| template/receipt | ✓ | ✓ | ✓ |
| template/report | ✓ | ✓ | ✓ |
| template/shipping-label | ✓ | ✓ | ✓ |
| template/letter | ✓ | ✓ | ✓ |
| html/letterhead | ✓ | ✓ | ✓ |
| html/dashed-borders | ✓ | ✓ | ✓ |
| html/statement | ✓ | ✓ | ✓ |
| html/zebra-invoice | ✓ | ✓ | ✓ |
Any failed profile shows its veraPDF clause list here; there are currently none. PDF/A-2u is supported and reachable but not gated separately (2a is the strictest of the three).
The same document renders to byte-identical PDFs across the native binary and the WASM targets, over the four HTML fixtures. These are distinct strengths of evidence and shown as such: native, node, and web are compared byte-for-byte; the bundler target embeds a hash-identical WASM module (so it computes identically by construction) and is exercised by functional browser and workerd renders — it is not itself byte-diffed here.
| Comparison | Fixture | Bytes | Identical |
|---|---|---|---|
| node↔web | letterhead | 3,843 | ✓ |
| native↔node | letterhead | 3,843 | ✓ |
| node↔web | report | 5,541 | ✓ |
| native↔node | report | 5,541 | ✓ |
| node↔web | zebra-invoice | 3,603 | ✓ |
| native↔node | zebra-invoice | 3,603 | ✓ |
| node↔web | dashed-borders | 1,906 | ✓ |
| native↔node | dashed-borders | 1,906 | ✓ |
Boolean structural assertions (page count, break positions, table structure, valign) read from Chrome's rendering of these fixtures and asserted exactly. NOT a general browser-parity claim or a measured diff.
Hand-reduced repros distilled from the ironpress parity corpus (third-party test material, MIT). Not upstream copies.
Source: gastongouron/ironpress (MIT).
Passing tests per suite, parsed from an actual run. Stated as a fact, not a percentage.
| engine (lib + integration) | 535 passed | ✓ |
| html crate | 114 passed | ✓ |
| @formepdf/core | 76 passed | ✓ |
| @formepdf/react | 215 passed | ✓ |
| @formepdf/preact | 4 passed | ✓ |
| @formepdf/svelte | 74 passed | ✓ |
| @formepdf/vue | 1 passed | ✓ |
| @formepdf/renderer | 26 passed | ✓ |
| @formepdf/mcp | 78 passed | ✓ |
| @formepdf/resend | 5 passed | ✓ |
| @formepdf/tailwind | 65 passed | ✓ |
| @formepdf/vscode | 11 passed | ✓ |
| total | 1,204 passed | ✓ |