Skip to main content

Module pdfa

Module pdfa 

Source
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.
InfoFields
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 check found.
Violation
One requirement the document fails.

Enums§

Clause
The requirement a Violation breaks.
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.
RasterCause
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 /Metadata packet for a document at level.