跳转到内容

一致性首页:NextPDF 会产出什么,以及由谁判定是否一致

边界声明。 支持某个配置文件并不等于一致; 一致与否由独立的验证器(validator)判定。

本页为 NextPDF Core 锁定的标准配置文件提供 Index(索引)。本节每一页都遵循一条直接取自标准本身的规则:本库产出的是以某个配置文件为一致性目标的输出,而某个文件是否真的一致,由独立的验证器(validator)判定——可能是 veraPDF、某个 PDF/UA 检查器、某个 Schematron 电子发票验证器,或接收方主管部门。ISO 19005-4 §6.7.3 对 PDF/A 明确规定:写入器发出的 pdfaid:part/pdfaid:rev 标记“本身并不决定一致性”。判定须依标准的一致性条款所规定的方式执行,由产出库以外的程序进行。

NextPDF 不主张一致性。它只发出某个配置文件所要求的结构性产物。当某个配置文件启用把关(gate)时,NextPDF 会在 API 边界快速失败(fail fast),让缺漏的能力呈现为明确错误,而不是默默产出一个不一致的文件。

Terminal window
composer require nextpdf/core:^3

以下部分配置文件需要 Premium 的 nextpdf/pro 包(各页另有标注)。Core 随附一致性判别器(NextPDF\Conformance\ConformanceMode)以及 NextPDF\Compliance 中的字节流验证器;归档配置文件所需的 OutputIntent/ICC/XMP 撰写路径则由 nextpdf/pro 提供。

NextPDF 通过一个带类型的单一判别器 NextPDF\Conformance\ConformanceMode 将文档路由到一致性契约。这个 enum 是“写入器必须遵循哪一份 ISO 契约”的唯一事实来源。它包含以下 case:PlainPdfUa1PdfUa2PdfA2PdfA3/PdfA3b/PdfA3u,以及 PdfA4/PdfA4e/PdfA4f。写入器读取这个模式并发出所需结构;它从不设置“这个文件一致”的标志。

本节的每一页都遵循三条边界:

  • 支持 ≠ 一致。 发出某个配置文件所要求的元数据代表一种能力,不是判定结果。
  • 验证 ≠ 认证。 运行一个报告零错误的验证器是佐证,不是证书。
  • 已测试的配置文件 ≠ 认证。 NextPDF 本身的测试断言其发出的字节与所引条款相符;这些测试并非经认可的审计。

以下是 NextPDF\Core\Document 上的一致性入口点:

方法效果层级
enablePdfA(?object $version = null)将文档路由到某个 PDF/A 的 ConformanceMode case(默认为 PdfA4);在 save() 时调度 OutputIntent + ICC + XMP。抛出 InvalidConfigException(当 nextpdf/pro 不存在时)。Core API,Premium 引擎
enableTaggedPdf(string $lang = 'en', ?ConformancePolicy $policy = null)设置 ConformanceMode::PdfUa2,连接带标记内容的发出器,并按策略验证语言标签。Core(核心)
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Document;
$doc = Document::createStandalone();
$doc->enableTaggedPdf('en'); // ConformanceMode::PdfUa2
$doc->setTitle('Conformance index sample');
$doc->writeHtml('<h1>Hello</h1><p>Tagged content.</p>');
$doc->save(getenv('NEXTPDF_COOKBOOK_OUTPUT') ?: __DIR__ . '/out.pdf');

不适用。可运行的生产环境示例放在各配置文件的专属页面;本索引只是一个路由页。

  • 本索引不主张任何具体行为。 经过验证的声明表放在各配置文件的专属页面。本页只陈述统管全局的那条规则。
  • 元数据里的配置文件名称是一种声明,不是证明。 读到 pdfaid:part=4 的读取器知道的是产出者的意图,而不是这个文件确实一致。
  • 能力把关采用快速失败(fail fast)。 只安装 Core 却调用 Premium 归档路径时,会得到带有升级消息的 InvalidConfigException,绝不会默默产出一个不一致的文件。

本索引不适用。各配置文件的专属页面会分别声明预算。

一致性配置文件约束的是结构,而非威胁态势。PDF/A-4 禁止加密;PDF/UA-2 则强制要求可访问的结构。两者都不是安全控制措施。关于本引擎的安全模型,请参阅 信任中心

声明规范条款参考 ID(reference_id)
产出者的 pdfaid 标记本身并不决定一致性;判定须依标准的一致性条款执行(也就是由 validator/process 执行,而不是由库执行)。ISO 19005-4§6.7.3
PDF/UA-2 的一致性依据标准的一致性要求来评估,而不是由产出软件主张。ISO 14289-2§7.2.2
一个一致的 PDF 2.0 文件必须满足标准定义的文件结构与 trailer 要求;本库会发出这些结构,但不会裁决结果。ISO 32000-2§7.5.5

引用通过条款 ID 加 reference_id 指针指向验证语料库。不复现任何标准文字。