PDF/X 準拠:NextPDF が出力する印刷制作用 OutputIntent
境界の明確化。 テスト済みプロファイルは認証を意味しません。
スコープに関する注意(最初にお読みください)。 ISO 15930(PDF/X ファミリー規格)は NextPDF の検証コーパスに含まれていません。このページは、 独立した PDF/X-4 または PDF/X-6 認証を主張するものではありません。NextPDF は、PDF/X ワークフローが依存する印刷制作用 OutputIntent と 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 の OutputIntent パスは、ドキュメントの OutputColorProfile によって制御される Core 機能です。GTS_PDFX OutputIntent 自体に Premium パッケージは必要ありません。
概念の概要
「概念の概要」という見出しのセクションNextPDF\Core\OutputColorProfile はワーキングスペースを判別するディスクリミネーターです。種類は、DeviceRGB(デフォルト、広色域インテントなし)、DisplayP3、Rec2020、A98RGB、ProphotoRGB です。いずれかの広色域ケースを選択すると、ISO 32000-2 §14.11.5 に従って次のものを出力する PdfWriter パスが有効になります。
- カタログの
/OutputIntents配列内に置かれる/Type /OutputIntent /S /GTS_PDFXディクショナリ。 - 埋め込み ICC ストリームを
DestOutputProfileとして使用(ワーキングスペースのプロファイル。たとえばdisplay-p3-v4.icc)。 - ディクショナリで必要な
OutputConditionIdentifier/ レジストリのフィールド。
NextPDF\Graphics\ColorSpace\IccVersionTier は、埋め込みプロファイルをゲーティングします。PDF 2.0 / PDF/A-4 / PDF/X-6 の OutputIntent には V4 が必要です。requiresV4Strict() は v2 プロファイルを拒否するため、v4 ではない ICC プロファイルで PDF/X-6 が主張されることはありません。これは PDF/X-6 のプリフライトが検証する構造上の前提条件であり、プリフライトそのものではありません。
API サーフェス
「API サーフェス」という見出しのセクション| シンボル | 効果 |
|---|---|
OutputColorProfile (enum) | ワーキングスペースのディスクリミネーター。広色域ケースで /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 パスの対象範囲外です。このページは PDF/X-4 / PDF/X-6 の ICC ベースの OutputIntent のみを扱います。
- 認証の主張はありません。 OutputIntent の出力は、構造面でのサポートを意味します。PDF/X 準拠はプリフライトで判定されるものであり、ライブラリの状態ではありません。
パフォーマンス
「パフォーマンス」という見出しのセクション広色域の OutputIntent は、save() 時に埋め込み ICC ストリームを 1 つ(ワーキングスペースに応じた固定サイズ)追加します。バジェットは実時間 ≤ 1500 ms、ピーク ≤ 128 MB です。
セキュリティに関する注意
「セキュリティに関する注意」という見出しのセクション印刷制作用の OutputIntent は、カラーマネジメントのメタデータであり、セキュリティ制御ではありません。埋め込み ICC プロファイルは公開データです。
データレジデンシーと PII の緩和策
「データレジデンシーと PII の緩和策」という見出しのセクションOutputIntent の出力はプロセス内で完結します。書き込まれるのはドキュメントと埋め込み ICC プロファイルのみです。コンテンツがプロセスの外に出ることはなく、プロファイルに PII は含まれません。
安全なテレメトリとログのスクラビング
「安全なテレメトリとログのスクラビング」という見出しのセクションこの例では、出力パスと検証のヒントのみをログに記録します。ドキュメントのバイトはログに記録されず、NEXTPDF_COOKBOOK_OUTPUT が尊重されます。
脅威モデル
「脅威モデル」という見出しのセクションPDF/X ファイルにはアクセス制御がありません。OutputIntent が保証するのは印刷条件下での色の再現性であり、機密性ではありません。
FIPS モードの動作
「FIPS モードの動作」という見出しのセクションPDF/X の OutputIntent パスでは暗号処理を行いません。FIPS モードの影響はありません。
| 主張 | 仕様 | 箇条 | リファレンス ID |
|---|---|---|---|
| OutputIntent による、出力のレンダリング条件に対応する DestOutputProfile ICC ストリームの参照 | ISO 32000-2 | §14.11.5 | |
| OutputIntent による OutputConditionIdentifier / レジストリ識別情報の保持 | ISO 32000-2 | §14.11.5 | |
| ドキュメントカタログの OutputIntents 配列内への OutputIntent の格納 | 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 の前提条件です。引用は、検証コーパス(マニフェスト)を指す箇条 ID + reference_id のポインターです。規格の本文は転載していません。