跳转到内容

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 预检会检查的结构性前提条件。该库会生成这些产物;合规性由预检工具裁定。

Terminal window
composer require nextpdf/core:^3

PDF/X 输出意图路径属于 Core 能力,由文档的 OutputColorProfile 驱动。GTS_PDFX OutputIntent 本身不需要 Premium 套件。

NextPDF\Core\OutputColorProfile 是工作空间判别项:DeviceRGB(默认,无宽色域意图)、DisplayP3Rec2020A98RGBProphotoRGB。选定任一宽色域情形都会激活 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 输出意图要求使用 V4requiresV4Strict() 会拒绝 v2 配置文件,因此不会为非 v4 的 ICC 配置文件作出 PDF/X-6 声明。这是 PDF/X-6 预检会验证的结构性前提条件;它本身并不是预检。

符号作用
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_PDFX OutputIntent。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 配置文件是公开数据。

OutputIntent 的输出在进程内完成。仅写入文档和嵌入式 ICC 配置文件。没有任何内容离开该进程;该配置文件不携带 PII。

该示例仅记录输出路径和一条验证提示。不记录任何文档字节;NEXTPDF_COOKBOOK_OUTPUT 会生效。

PDF/X 文件不受访问控制。OutputIntent 保证的是某个印刷条件下的色彩可复现性,而非机密性。

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 指针(清单)。不复制任何标准文本。