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.