PDF/X-6 编写与验证

HotPDF 支持 PDF 2.0 上完整、外部配置文件和 N 色料 PDF/X-6 交换工作流

配置文件

PDFXComplianceTHPDFPDFX6Profile输出配置文件
'X-6'px6Complete通过 DestOutputProfile 嵌入 ICC profile
'X-6p'px6External通过 DestOutputProfileRef 使用外部灰度、RGB 或 CMYK ICC profile
'X-6n'px6NChannel外部 N 色料配置文件加上匹配的 ColorantTable
从文档检测px6Automatic使用生产者设置或已加载 XMP 标识

完整配置文件示例

PDF.Version := pdf20;
PDF.PDFXCompliance := 'X-6';
PDF.Title := 'Press-ready artwork';
PDF.Trapped := 'False';
PDF.BeginDoc;
PDF.CurrentPage.SetTrimBox(0, 0,
  PDF.CurrentPage.Width, PDF.CurrentPage.Height);
PDF.AddPDFXOutputIntent('CGATS TR 001',
  'Document printing condition', ICCStream, 4, 'DeviceCMYK');
PDF.EndDoc;

EndDoc 在序列化前对所有三个 PDF/X-6 配置文件运行失败关闭验证

输出意图范围

页面框

验证器解析继承的 MediaBox 和 CropBox,检查直接的 BleedBox、TrimBox 和 ArtBox 值,并要求每页恰好一个完成页框

交换约束

一次有界图遍历检查配置文件标识和交换结构,同时按对象标识去重共享资源

版本化规则

THPDFPDFX6ValidationOptions.RuleSet 选择已发布的 ISO 15930-9:2020 规则,或同一版本加上截至 2025-11-11 已决议的勘误;默认选择已决议勘误集

HPDFPDFX6RuleSetRevision 返回稳定的修订标签,每个 THPDFPDFX6ValidationIssue 都携带 RuleSet 与 RuleRevision,默认值演进时存储的诊断仍可归因

实际着色、叠印与透明

验证器在实际绘图操作符处解释图形状态与资源,而不是把颜色选择当作已着色输出

有界执行与缓存

对象、发现、解码字节、内容工作、递归与图形状态栈上限在无界分配之前以稳定诊断失败即关闭,包括嵌套在 TJ 数组内的成员

解码内容、ICC profile、JPX header 颜色与 Type 3 结构使用带几何增长的文档本地索引缓存;上下文敏感的颜色与透明状态在每次调用时重新求值

结构化诊断

ValidatePDFX6 返回 THPDFPDFX6ValidationIssues,即 THPDFPDFX6ValidationIssue 记录的数组,其 THPDFPDFX6IssueSeverity 标识警告和错误

每个问题包括稳定代码、标准条款、对象路径、对象编号、零基页面索引和消息

THPDFPDFX6ValidationOptions 独立约束对象和问题,并可以隔离输出意图、页面框、交换、字体或批注检查

相关 API