PDF/UA-2 validation and proof of work Experimental
We publish the exact candidate and the checks behind it so you can inspect the result rather than rely on a marketing claim. The source PDF is the public travel-itinerary source, the current stress-test fixture for complex layouts, tables, lists, and figures. The candidate is the same visual document with PDF/UA-2 structure metadata and normalized text extraction.
Download the evidence
Evidence version: 2026-10-31. Verify the files with sha256sum -c hashes.txt. The raw veraPDF report is included in the bundle.
| File | Details |
|---|---|
| itinerary-ua2.pdf | 4-page PDF 2.0 candidate, 237,323 bytes. SHA-256: 89b35f7079d5249e094451e4f23b3d022f0b30d2b86d6569403bcdf7414d2a2c |
| pdfua2-proof.zip | The candidate, veraPDF report, structure tree, validation summary, pixel-diff summary, and hashes. |
| validation-summary.txt | Human-readable version of the results below. |
| hashes.txt | Source and candidate SHA-256 values. |
| tree.txt | Full structure tree dump. It contains structure types and MCIDs, not page text. |
The source PDF is not duplicated in this bundle. It is available from the
public travel-itinerary example; its SHA-256 is
88b3fe05813d9aa6e719c83798a7b069b1c2c781f0608be81c9bc37ab7a99eb5.
Validation results
| Check | Result |
|---|---|
| veraPDF PDF/UA-2 | 0 failed rules / 0 failed checks; 44,190 checks passed |
| PDF version | 2.0 |
| Tagged | yes |
| XMP identification | pdfuaid:part=2, pdfuaid:rev=2024 |
| Document language | en |
| ParentTree | 202/202 entries, 0 mismatches |
| Structure elements | 252 |
| Used text MCIDs | 202 |
| ActualText blocks | 200 |
| Text glyph parity | 202/202 MCIDs, 0 missing, 0 changed |
| Visual parity | 0 px exact diff on pages 1–4 |
Text integrity
The candidate preserves the source glyph text while adding ActualText for letter-spaced and
kerning-fragmented runs. The text check covered 202 used MCIDs and 180 expected text checks; there were no
missing or changed MCIDs and no missing expected text. The detailed extracted-text diff is internal QA
evidence and is intentionally not published here.
Structure evidence
The candidate structure includes a document root, page sections, headings, paragraphs, four tables with header cells, lists, and two route-map figures. A representative excerpt:
Document
Sect
H1
P
Table
TR
TH Scope=Row
TD
L
LI
LBody
Figure alt
Production and load checks
- Production canary: streamed and stored sync requests returned PDF 2.0, tagged output, and veraPDF PDF/UA-2 PASS.
- 20-page load test: 0.57s, 126,552 bytes, veraPDF PDF/UA-2 PASS.
- Visual parity: 0 px exact diff on all four pages of the itinerary sample.
Reproduce
Download the candidate and run:
sha256sum -c hashes.txt
pdfinfo itinerary-ua2.pdf
verapdf -f ua2 --format text itinerary-ua2.pdf
The bundle also includes the full verapdf.json report for independent inspection.
Report an evidence error
If a file, hash, or validation result on this page is wrong, contact us with the page URL and evidence version 2026-10-31.
Current coverage
- PDF/UA-2 structure for semantic HTML documents: headings, paragraphs, lists, tables, links, images with
alttext, and inline emphasis. - Supported inline SVG figures, including the itinerary route-map.
- Machine validation with veraPDF, plus pixel and text parity on the published fixture.
- A completed human screen-reader audit is the remaining step for a formal conformance claim.