PDF corpus: inspect the files behind the results
Inspect OfficeIMO PDF corpus results with source hashes, licenses, rendering, extraction checks, mutation decisions, failures, and reproduction commands.
These results come from the existing OfficeIMO PDF quality runner. Each input has a pinned source and SHA-256 hash. The runner opens it, exercises public APIs, and compares the outcome with explicit expectations.
A passing case means those expectations were met. It can include a safe refusal to modify a file. A rendered page, extracted text, or declared PDF/A marker does not establish visual fidelity, reading-order accuracy, or standards conformance.
Measured PDF quality run
14 unique files · 14 of 14 cases met expectations · 0 failures · 0 timeouts.
112 of 112 operational checks completed; 141 of 141 pinned expectations passed.
- Completed (UTC)
- 2026-09-07T18:45:02.2339376+00:00
- Runtime and platform
- .NET 10.0.11 · Microsoft Windows 10.0.26200 · X64
- Tested engine
- OfficeIMO.Pdf 3.4.1.0 · local source build
- Source revision
b3e2f0ea46dd4ae4136013b16bfffcbe188a747f
Download the full JSON report · Download artifact provenance and hashes
Checks by operation
| Operation | Completed checks |
|---|---|
| open-and-inspect | 14 / 14 |
| text | 14 / 14 |
| logical-semantics | 14 / 14 |
| font-inspection | 14 / 14 |
| image-inspection | 14 / 14 |
| managed-svg-render | 14 / 14 |
| mutation-portfolio | 14 / 14 |
| declared-compliance-claims | 14 / 14 |
The render check uses managed SVG output for at most 4 pages per file. Mutation checks assess preservation plans; they do not prove that every planned edit was saved and reopened. Compliance checks inspect declarations and do not certify them.
Inspect each input and outcome
producer-text-embedded-subset — passed
Source: openpreserve-format-corpus · 33411 bytes · SHA-256: fb0c62591ac545f0b56e8986a30f67c008d0434b28ac5bd550e0e7ecd3c56435
Open source: producer-text-embedded-subset · CC0-1.0
Rendered 1 / 1 attempted pages; extracted 230 characters. Mutation decision: AppendOnly.
Mutation plans: 2 full rewrite, 5 append-only, 14 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 1 | 230 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | true | ||
| mutation-mode | AppendOnly | AppendOnly | true |
producer-pdfa1b-text — passed
Source: openpreserve-format-corpus · 39513 bytes · SHA-256: 81bf11af4c56488c63c6d038d4ba09c7334dc3e26c5d6a17c7df9bd398f48635
Open source: producer-pdfa1b-text · CC0-1.0
Rendered 1 / 1 attempted pages; extracted 230 characters. Mutation decision: AppendOnly.
Mutation plans: 3 full rewrite, 5 append-only, 13 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 1 | 230 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | true | ||
| mutation-mode | AppendOnly | AppendOnly | true |
producer-document-attachment — passed
Source: openpreserve-format-corpus · 78950 bytes · SHA-256: c7ff5c769c257a7ab0cc3a906e63b15aea91e1605a269b7dcbcb3911ea07681c
Open source: producer-document-attachment · CC0-1.0
Rendered 1 / 1 attempted pages; extracted 233 characters. Mutation decision: Blocked.
Mutation plans: 2 full rewrite, 2 append-only, 17 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 1 | 233 | true |
| attachments | >= 1 | 1 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | true | ||
| mutation-mode | Blocked | Blocked | true |
producer-external-link — passed
Source: openpreserve-format-corpus · 73227 bytes · SHA-256: 14ca68bc60b188279ffa9b2dae926d9fe5cefe83b52fcdfd0a64e67232407008
Open source: producer-external-link · CC0-1.0
Rendered 1 / 1 attempted pages; extracted 281 characters. Mutation decision: Blocked.
Mutation plans: 2 full rewrite, 2 append-only, 17 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 1 | 281 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 1 | 1 | true |
| annotation-action-types | Launch | Launch | true |
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | render.resource.annotation-appearance-missing | render.resource.annotation-appearance-missing | true |
| mutation-mode | Blocked | Blocked | true |
producer-recoverable-header-corruption — passed
Source: openpreserve-format-corpus · 39512 bytes · SHA-256: 7423451704ef9cb32340618416796a812c47fa2337cf1356aa63c2f414b7798e
Open source: producer-recoverable-header-corruption · CC0-1.0
Rendered 1 / 1 attempted pages; extracted 230 characters. Mutation decision: AppendOnly.
Mutation plans: 3 full rewrite, 5 append-only, 13 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 1 | 230 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | InvalidStartXref | InvalidStartXref | true |
| render-succeeded | True | True | true |
| render-diagnostic-codes | true | ||
| mutation-mode | AppendOnly | AppendOnly | true |
producer-valid-high-resolution-image — passed
Source: openpreserve-format-corpus · 65205 bytes · SHA-256: a9be3e1100d450637da1b9f8837384934b435ace122b3962136797fa8568a611
Open source: producer-valid-high-resolution-image · CC0-1.0
Rendered 1 / 1 attempted pages; extracted 0 characters. Mutation decision: AppendOnly.
Mutation plans: 12 full rewrite, 5 append-only, 4 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 0 | 0 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | true | ||
| mutation-mode | AppendOnly | AppendOnly | true |
producer-missing-image-xobject — passed
Source: openpreserve-format-corpus · 65205 bytes · SHA-256: dc7ae1ae93dab50806bf881077559bb004d7f18b9de6335aefbe0cd81aa966af
Open source: producer-missing-image-xobject · CC0-1.0
Rendered 1 / 1 attempted pages; extracted 0 characters. Mutation decision: AppendOnly.
Mutation plans: 1 full rewrite, 5 append-only, 15 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 0 | 0 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | render.resource.xobject-unsupported | render.resource.xobject-unsupported | true |
| mutation-mode | AppendOnly | AppendOnly | true |
standard-tounicode-valid-a — passed
Source: verapdf-corpus · 10433 bytes · SHA-256: 42df79430e88e6ce0e8fbe8f5c81111502d3b28dcb4b3959e76ba6ee3ab4fdc1
Open source: standard-tounicode-valid-a · CC-BY-4.0
Rendered 1 / 1 attempted pages; extracted 4 characters. Mutation decision: AppendOnly.
Mutation plans: 3 full rewrite, 5 append-only, 13 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 1 | 4 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | true | ||
| mutation-mode | AppendOnly | AppendOnly | true |
standard-tounicode-valid-j — passed
Source: verapdf-corpus · 25625 bytes · SHA-256: c030cabbc151c8ce06cae09969fc3d0e2ac54738f0d80c6396d559e92c01fd4e
Open source: standard-tounicode-valid-j · CC-BY-4.0
Rendered 1 / 1 attempted pages; extracted 4 characters. Mutation decision: AppendOnly.
Mutation plans: 3 full rewrite, 5 append-only, 13 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 1 | 4 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | render.resource.font-substitution | render.resource.font-substitution | true |
| mutation-mode | AppendOnly | AppendOnly | true |
standard-iccbased-content — passed
Source: verapdf-corpus · 3463 bytes · SHA-256: ac6814d795e2c5a0996e8b708bdec0750459b5d41a8344292abe69b18c1f7de8
Open source: standard-iccbased-content · CC-BY-4.0
Rendered 1 / 1 attempted pages; extracted 0 characters. Mutation decision: AppendOnly.
Mutation plans: 12 full rewrite, 5 append-only, 4 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 0 | 0 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | true | ||
| mutation-mode | AppendOnly | AppendOnly | true |
standard-devicen-content — passed
Source: verapdf-corpus · 392848 bytes · SHA-256: b6b836fb98dbab30ff7e3b201409c04dd207ae60c24cdc6129deceb863764a0a
Open source: standard-devicen-content · CC-BY-4.0
Rendered 1 / 1 attempted pages; extracted 0 characters. Mutation decision: AppendOnly.
Mutation plans: 12 full rewrite, 5 append-only, 4 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 0 | 0 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | true | ||
| mutation-mode | AppendOnly | AppendOnly | true |
standard-indexed-icc-content — passed
Source: verapdf-corpus · 3969 bytes · SHA-256: 5cda438b8ceb59ba138f99c92401cd894c0fed92379ff028b2690f6debc37400
Open source: standard-indexed-icc-content · CC-BY-4.0
Rendered 1 / 1 attempted pages; extracted 0 characters. Mutation decision: AppendOnly.
Mutation plans: 12 full rewrite, 5 append-only, 4 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 0 | 0 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | true | ||
| mutation-mode | AppendOnly | AppendOnly | true |
standard-optional-content — passed
Source: verapdf-corpus · 42510 bytes · SHA-256: 4167d8dde59a858ff0521d83f7bc69c4017033952a1ac236ff00586bc36d6084
Open source: standard-optional-content · CC-BY-4.0
Rendered 1 / 1 attempted pages; extracted 16 characters. Mutation decision: AppendOnly.
Mutation plans: 2 full rewrite, 5 append-only, 14 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 1 | 16 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 0 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | render.resource.font-substitution | render.resource.font-substitution | true |
| mutation-mode | AppendOnly | AppendOnly | true |
| optional-content-groups | >= 1 | 1 | true |
standard-zero-area-annotation — passed
Source: verapdf-corpus · 3160 bytes · SHA-256: 93ac7ed7dfcd86d81e7a4865220fc77eb2284297370aca5a87c10e2d3e75d10b
Open source: standard-zero-area-annotation · CC-BY-4.0
Rendered 1 / 1 attempted pages; extracted 0 characters. Mutation decision: AppendOnly.
Mutation plans: 12 full rewrite, 5 append-only, 4 blocked. Claimable compliance declarations: 0.
| Expectation | Expected | Observed | Met |
|---|---|---|---|
| page-count | 1 | 1 | true |
| text-characters | >= 0 | 0 | true |
| attachments | >= 0 | 0 | true |
| links | >= 0 | 0 | true |
| annotations | >= 0 | 1 | true |
| annotation-action-types | true | ||
| repair-codes | true | ||
| render-succeeded | True | True | true |
| render-diagnostic-codes | true | ||
| mutation-mode | AppendOnly | AppendOnly | true |
Reproduce this corpus
Check out the source revision above, then run:
pwsh ./Build/Test-PdfQualityCorpus.ps1 -Framework net10.0 -OutputDirectory artifacts/pdf-quality-corpusThe run checks the manifest and input hashes before processing. Keep the environment and engine artifact with any new result; a fresh run may have different timings.
Other evidence answers different questions
| Evidence | What it establishes | What it does not establish |
|---|---|---|
| PDF performance workloads | Validated equivalent work and measurements for the recorded environment | Performance on every document or machine |
| Office producer references | Pinned Microsoft Office output, rendering distances, and declared budgets | Pixel equivalence or universal Office compatibility |
| PDF interoperability input catalog | Reproducible input selection with provenance and licensing | A completed run for every listed input |
| Reverse conversion scorecard | Route-specific serialization, reopening, and semantic or visual contracts | Reconstruction of the original editable source |
The catalogs can overlap. Their entry counts must not be added together as a unique-file total. OCR accuracy, certified conformance, and large external-corpus stress results are separate evidence requirements.
Try a PDF task, inspect a generated document, or read the runner and interpretation guide.