Expand description
PDF/A conformance checking (ISO 19005): what a document fails, and why.
§Reporting and repair policy
check reports what a document fails; it rewrites nothing. Policy
and its outcome types describe what a caller will accept in exchange for
conformance, and packet serializes the XMP a converted
file carries. Applying a repair belongs to the writer.
The checker is cross-examined against veraPDF:
crates/pdfrum/tests/pdfa_oracle.rs scores every check against it exactly
as the conformance board scores rendering against pdfium_test.
§What a failure is
A Violation names three things: the Clause of ISO 19005 it breaks,
the Subject in the file that breaks it, and a short human sentence.
The clause is an enum rather than a formatted string because the whole
point of a report is that a caller can act on it — count by clause, filter
to the ones a converter can repair, or map to another vocabulary. A report
that can only be printed is worth much less than one that can be matched.
§Scope
Level::A1b and Level::A2b, the two basic conformance levels. The
a levels (A-1a, A-2a, A-3a) additionally require a tagged logical
structure tree with a defined reading order, which is a different kind of
claim resting on a structure model this engine does not yet have; they are
absent by decision, not by oversight, and Level has no variant for
them so a caller cannot ask for a check that would silently be weaker than
its name.
Structs§
- Conversion
- What a conversion produced, and what it cost.
- Dpi
- A render resolution, in whole dots per inch.
- Info
Fields - The document information dictionary entries the packet mirrors.
- Policy
- What the conversion is permitted to do to a document it cannot convert faithfully.
- Report
- What
checkfound. - Violation
- One requirement the document fails.
Enums§
- Clause
- The requirement a
Violationbreaks. - Compromise
- One thing the conversion did that changed the document.
- Concession
- What to do when the document cannot be converted faithfully.
- Level
- Which PDF/A conformance level to check against.
- Raster
Cause - Why a page had to be rasterized rather than repaired.
- Refusal
- Why a conversion refused.
- Subject
- What in the file broke a requirement.
Functions§
- check
- Check a document against a PDF/A conformance level.
- xmp_
packet - The complete
/Metadatapacket for a document atlevel.