PeachPDF

PeachPDF

PdfAConformance Enum

The PDF/A (ISO 19005) conformance level to target, set via PdfAConformance. Defaults to None - no PDF/A -specific work is done: no /OutputIntents, no forced XMP metadata, no PDF-version bump, no PDF/A-1 transparency rejection, and no accessible-level language/alt-text requirements.

public enum PdfAConformance

Fields

None 0

No PDF/A conformance is requested. Default.

PdfA1B 1

PDF/A-1, level B (visual conformance only).

PdfA1A 2

PDF/A-1, level A (visual conformance plus accessibility/tagged-structure requirements).

PdfA2B 3

PDF/A-2, level B (visual conformance only).

PdfA2U 4

PDF/A-2, level U (visual conformance plus guaranteed Unicode text-extraction mapping).

PdfA2A 5

PDF/A-2, level A (visual conformance plus accessibility/tagged-structure requirements).

PdfA3B 6

PDF/A-3, level B (visual conformance only; also permits arbitrary embedded files).

PdfA3U 7

PDF/A-3, level U (visual conformance plus guaranteed Unicode text-extraction mapping; also permits arbitrary embedded files).

PdfA3A 8

PDF/A-3, level A (visual conformance plus accessibility/tagged-structure requirements; also permits arbitrary embedded files).

Remarks

PDF/A-1 (PdfA1B/PdfA1A) is defined in terms of PDF 1.4 and forbids PDF transparency groups entirely. PeachPDF has no transparency-flattening engine, so instead of silently producing a non-conformant file, generation throws an System.InvalidOperationException if the document actually uses a feature that requires a transparency group - CSS/SVG opacity below 1, an SVG <mask>, a semi-transparent gradient color stop, or fill-opacity/stroke-opacity below 1 - and succeeds normally for documents that don’t use any of these. PDF/A-2 and PDF/A-3 are defined in terms of PDF 1.7 and permit transparency groups, so no such restriction applies to those levels.

The accessible “A” levels (PdfA1A/PdfA2A/PdfA3A) additionally require a real document language: requesting one implicitly enables tagged-PDF output (see EnableTaggedPdf) for that render, and generation throws if neither the document’s own <html lang> nor DefaultLanguage resolves to a language.