PDF/X 合规性:NextPDF 的印刷生产输出意图
边界声明。 经过测试的配置文件并不等同于认证。
范围提示(请先阅读)。 ISO 15930(PDF/X 系列标准) 不在 NextPDF 验证语料库中。本页不声称提供独立的 PDF/X-4 或 PDF/X-6 认证。NextPDF 输出 PDF/X 工作流所依赖的印刷生产输出意图和 ICC 机制。 NextPDF 依据 ISO 32000-2 §14.11.5(即 ISO 15930 通过引用导入的 OutputIntent 字典)以及 ICC.1 / ISO 15076-1 配置文件结构对其进行验证。给定文件是否符合某个 PDF/X 部分,由外部印前预检工具裁定,而非由本库决定。
当选定宽色域工作空间时,NextPDF Core 会输出一个 /GTS_PDFX OutputIntent,并引用一个嵌入式 ICC DestOutputProfile。NextPDF Core 会将嵌入式 ICC 配置文件门控为版本 4。这些是 PDF/X-4 / PDF/X-6 预检会检查的结构性前提条件。该库会生成这些产物;合规性由预检工具裁定。
composer require nextpdf/core:^3PDF/X 输出意图路径属于 Core 能力,由文档的 OutputColorProfile 驱动。GTS_PDFX OutputIntent 本身不需要 Premium 套件。
概念概述
标题为“概念概述”的章节NextPDF\Core\OutputColorProfile 是工作空间判别项:DeviceRGB(默认,无宽色域意图)、DisplayP3、Rec2020、A98RGB、ProphotoRGB。选定任一宽色域情形都会激活 PdfWriter 路径,并依据 ISO 32000-2 §14.11.5 输出:
- 一个位于目录
/OutputIntents数组中的/Type /OutputIntent /S /GTS_PDFX字典; - 一个作为
DestOutputProfile的嵌入式 ICC 流(工作空间配置文件,例如display-p3-v4.icc); - 该字典所需的
OutputConditionIdentifier/ 注册表字段。
NextPDF\Graphics\ColorSpace\IccVersionTier 对嵌入式配置文件进行门控。PDF 2.0 / PDF/A-4 / PDF/X-6 输出意图要求使用 V4。requiresV4Strict() 会拒绝 v2 配置文件,因此不会为非 v4 的 ICC 配置文件作出 PDF/X-6 声明。这是 PDF/X-6 预检会验证的结构性前提条件;它本身并不是预检。
API 接口
标题为“API 接口”的章节| 符号 | 作用 |
|---|---|
OutputColorProfile (枚举) | 工作空间判别项;宽色域情形会触发 /GTS_PDFX OutputIntent 输出。 |
OutputColorProfile::isWideGamut(): bool | 对任何非 DeviceRGB 情形均返回 True。 |
OutputColorProfile::iccFilename(): ?string | 该情形对应的嵌入式 ICC 配置文件资源。 |
IccVersionTier::requiresV4Strict() | 声明 PDF/A-4 / PDF/X-6 结构时,用于拒绝非 v4 ICC 配置文件的门控。 |
代码示例——快速开始
标题为“代码示例——快速开始”的章节<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Config;use NextPDF\Core\Document;use NextPDF\Core\OutputColorProfile;
$out = getenv('NEXTPDF_COOKBOOK_OUTPUT') ?: __DIR__ . '/print.pdf';
$config = new Config(outputColorProfile: OutputColorProfile::DisplayP3);$doc = Document::createStandalone($config);$doc->setTitle('Print production sample');$doc->writeHtml('<h1>Wide-gamut artwork</h1>');$doc->save($out); // /GTS_PDFX OutputIntent + display-p3-v4.icc emitted here
echo "Wrote {$out} — run an external PDF/X preflight to validate.\n";代码示例——生产环境
标题为“代码示例——生产环境”的章节生产模式会将输出送入外部印前预检(接收印刷工作流的记录工具)。生产模式以预检报告作为门控依据。NextPDF 输出 GTS_PDFX OutputIntent 和 v4 ICC。预检工具裁定 PDF/X-4 / PDF/X-6 合规性。NextPDF 并不附带 PDF/X 验证器。
边界情形与注意事项
标题为“边界情形与注意事项”的章节- DeviceRGB 不输出任何 PDF/X 意图。 默认配置文件与旧版输出逐字节相同,不携带
/GTS_PDFXOutputIntent。PDF/X 工作流必须显式选择宽色域配置文件。 - v2 ICC 会阻止 PDF/X-6 声明。
requiresV4Strict()会拒绝 v2 配置文件;不要针对非 v4 的 ICC 配置文件声明 PDF/X-6 结构。 - 专色 / 叠印。 完整的 PDF/X-1a/X-3 CMYK + 专色工作流不在 Core OutputIntent 路径范围内。本页仅涵盖基于 ICC 的 PDF/X-4 / PDF/X-6 输出意图。
- 不作认证声明。 输出 OutputIntent 只是结构性支持。PDF/X 合规性由预检裁定,而不是库自身的状态。
宽色域 OutputIntent 会在 save() 时新增一个嵌入式 ICC 流(针对该工作空间为固定大小)。预算为实际耗时 ≤ 1500 ms,峰值 ≤ 128 MB。
安全说明
标题为“安全说明”的章节印刷生产输出意图是色彩管理元数据,而非安全控制措施。嵌入式 ICC 配置文件是公开数据。
数据驻留与 PII 缓解
标题为“数据驻留与 PII 缓解”的章节OutputIntent 的输出在进程内完成。仅写入文档和嵌入式 ICC 配置文件。没有任何内容离开该进程;该配置文件不携带 PII。
安全遥测与日志脱敏
标题为“安全遥测与日志脱敏”的章节该示例仅记录输出路径和一条验证提示。不记录任何文档字节;NEXTPDF_COOKBOOK_OUTPUT 会生效。
威胁模型
标题为“威胁模型”的章节PDF/X 文件不受访问控制。OutputIntent 保证的是某个印刷条件下的色彩可复现性,而非机密性。
FIPS 模式行为
标题为“FIPS 模式行为”的章节PDF/X OutputIntent 路径不执行任何加密操作。FIPS 模式没有任何影响。
合规性
标题为“合规性”的章节| 声明 | 规范 | 条款 | 引用标识 (reference_id) |
|---|---|---|---|
| OutputIntent 会引用一个用于输出渲染条件的 DestOutputProfile ICC 流。 | ISO 32000-2 | §14.11.5 | |
| OutputIntent 携带 OutputConditionIdentifier / 注册表标识。 | ISO 32000-2 | §14.11.5 | |
| 输出意图位于文档目录的 OutputIntents 数组中。 | ISO 32000-2 | §14.11.5 | |
| 合规的 ICC 配置文件携带定义明确的头部,其中包含版本字段。 | ICC.1 / ISO 15076-1 | §7 | |
| 嵌入式 DestOutputProfile 使用 ICC v4 配置文件结构。 | ICC.1 / ISO 15076-1 | §7 |
ISO 15930(PDF/X)不在验证语料库中。上述声明是 PDF/X 预检会检查的 ISO 32000-2 §14.11.5 + ICC.1 前提条件。引用是指向验证语料库的 clause-id + reference_id 指针(清单)。不复制任何标准文本。