PeachPDF
PeachPDF
PdfXConformance Enum
The PDF/X (ISO 15930) conformance level to target, set via
PdfXConformance. Defaults to None - no PDF/X-specific
work is done. PDF/X is a print-production conformance family (distinct from - and mutually
exclusive with - PdfAConformance’s archival family): every non-None
level requires an /OutputIntents ICC profile
(OutputIntentProfile on ColorOptions -
unlike PDF/A, PeachPDF bundles no default profile for this, since there is no single correct press
profile to assume).
public enum PdfXConformance
Fields
None 0
No PDF/X conformance is requested. Default.
X1a 1
PDF/X-1a: CMYK/spot-color-only content, no live transparency, output intent required.
X3 2
PDF/X-3: ICC-managed color permitted, no live transparency, output intent required.
X4 3
PDF/X-4: ICC-managed color and live transparency both permitted, output intent required.
X6 4
PDF/X-6 (ISO 15930-9, based on PDF 2.0): ICC-managed color and live transparency permitted, output intent
required. Requires Pdf20 (selected automatically when
PdfVersion is left alone), which also switches off the non-ISO
/BrotliDecode and /JXLDecode filters. Only the complete-exchange flavor is supported: PDF/X-6p and
PDF/X-6n, which reference an external output-intent profile, are not.
Remarks
Each level targets the 2003-era ISO revision (ISO 15930-4 for X1a, ISO 15930-6 for X3 - both PDF
1.4-based; ISO 15930-7 for X4, PDF 1.6-based) rather than the original, older 2001/2002 revisions
(PDF 1.3-based). PeachPDF sets the document’s PDF version header and its
GTS_PDFXVersion/GTS_PDFXConformance identification (both the document information
dictionary and, for X4, its XMP metadata) accordingly - see
PdfMetadataStream.PdfXIdentifiers for the exact identifier
strings and how they were verified.
X1a (ISO 15930-1/4) is the strictest level: every color in the document must be CMYK (or, for grayscale/black content, resolvable to CMYK without approximation - see BlackGeneration) or a named spot color. PeachPDF has no whole-document RGB->CMYK color-management engine (see the CMYK/ICC epic’s design notes), so rather than silently emit an RGB color under a CMYK-only conformance claim, generation rejects a chromatic (non-gray) RGB-authored color outright the moment it would be written - the same “reject, don’t approximate” philosophy PdfAConformance-1 already uses for transparency. X1a also forbids live transparency groups entirely (same restriction as PDF/A-1, and the same rejection mechanism).
X3 (ISO 15930-3/6) permits ICC-managed color: an RGB- or Gray-tagged color may stay in its own space (the output intent profile describes how a RIP should interpret it), so no CMYK-only restriction applies - but, like X1a, it forbids live transparency groups.
X4 (ISO 15930-7), the modern, most commonly requested level, permits both ICC-managed color and live transparency groups - PeachPDF adds no construct restriction beyond the mandatory output intent for this level.