PdfAConformance Property

Definition

Namespace Broadside
Assembly Broadside.dll

Gets or sets the PDF/A conformance level the saved file claims and is checked against, or None (the default) for none.

public PdfAConformance PdfAConformance { get; set; }

Returns

Remarks

ISO 19005-2 (PDF/A-2), ISO 19005-3 (PDF/A-3) and ISO 19005-4 (PDF/A-4), cited by the rule identifiers of veraPDF's validation profiles, the reference the output is validated with: see PdfAConformance for the levels (2b, 2u, 3b, 3u, 4, 4f). Level U also checks that every glyph shown maps to Unicode; PDF/A-3 allows embedded files of any kind when each is an associated file with a relationship. The save first checks the document, changing nothing: each rule it cannot meet (a font program not embedded, encryption, an action PDF/A forbids, an annotation without an appearance, a device colour space the output intent does not cover, a feature later than PDF 1.7, ...) is reported as a PdfANonConformant warning naming the rule. In strict mode the first one throws and nothing is written or changed. In lenient mode the file is saved without the PDF/A changes below and without claiming conformance (a PdfANotIdentified information diagnostic says so): it never claims a conformance it does not have.

When every check passes, the save adds what PDF/A requires: an output intent (GTS_PDFA1) with Broadside's own sRGB profile unless the document has one with a destination profile, the XMP metadata stream with the PDF/A identification (pdfaid:part, pdfaid:conformance) mirroring the document information, and the file identifiers; it writes the header as PDF 1.7 (PDF/A-2 and PDF/A-3 are based on ISO 32000-1), lowering a new document's 2.0; PDF/A-3's associated files (AF, AFRelationship) do not raise it. PDF/A-4 is based on PDF 2.0: the header is 2.0 (a read 1.x document is raised), the identification adds pdfaid:rev, and the trailer keeps no document information dictionary.