Соответствие PDF/X: выходной интент для печатного производства, формируемый NextPDF
О границах ответственности. Проверенный профиль — не сертификация.
Область применения (прочитайте сначала). ISO 15930 (стандарт семейства PDF/X) не входит в проверочный корпус NextPDF. На этой странице не заявляется независимая сертификация PDF/X-4 или PDF/X-6. NextPDF выводит выходной интент для печатного производства и механизмы работы с профилями International Color Consortium (ICC), необходимые процессам PDF/X. NextPDF проверяет эти структуры на соответствие требованиям ISO 32000-2 §14.11.5 (словарь OutputIntent, который ISO 15930 импортирует по ссылке) и структуре профиля ICC.1 / ISO 15076-1. Внешний инструмент предпечатной проверки, а не эта библиотека, определяет, соответствует ли файл части PDF/X.
NextPDF Core формирует выходной интент /GTS_PDFX, который ссылается на встроенный ICC-профиль DestOutputProfile, когда выбрано широкоохватное рабочее пространство. NextPDF Core допускает во встроенном ICC-профиле только версию 4. Эти элементы — структурные предпосылки, которые проверяет предпечатная проверка PDF/X-4 / PDF/X-6. Библиотека формирует их; соответствие определяет инструмент предпечатной проверки.
Установка
Заголовок раздела «Установка»composer require nextpdf/core:^3Формирование выходного интента PDF/X входит в возможности Core. Им управляет OutputColorProfile документа. Для самого выходного интента GTS_PDFX пакет Premium не нужен.
Концептуальный обзор
Заголовок раздела «Концептуальный обзор»NextPDF\Core\OutputColorProfile выбирает рабочее пространство: DeviceRGB (по умолчанию, без широкоохватного интента), DisplayP3, Rec2020, A98RGB или ProphotoRGB. Когда вы выбираете любой широкоохватный вариант, PdfWriter формирует согласно ISO 32000-2 §14.11.5:
- словарь
/Type /OutputIntent /S /GTS_PDFXв массиве/OutputIntentsкаталога; - встроенный ICC-поток в качестве
DestOutputProfile(профиль рабочего пространства, напримерdisplay-p3-v4.icc); - поля
OutputConditionIdentifier/ реестра, требуемые словарём.
NextPDF\Graphics\ColorSpace\IccVersionTier контролирует встроенный профиль. V4 требуется для выходных интентов PDF 2.0 / PDF/A-4 / PDF/X-6. requiresV4Strict() отклоняет профиль v2, чтобы структура PDF/X-6 не заявлялась для ICC-профиля, не относящегося к v4. Это структурная предпосылка, которую проверяет предпечатная проверка PDF/X-6; сама по себе это не проверка.
Поверхность API
Заголовок раздела «Поверхность API»| Символ | Действие |
|---|---|
OutputColorProfile (enum) | Дискриминатор рабочего пространства; широкоохватные варианты включают вывод выходного интента /GTS_PDFX. |
OutputColorProfile::isWideGamut(): bool | Возвращает True для любого варианта, отличного от DeviceRGB. |
OutputColorProfile::iccFilename(): ?string | Ресурс встроенного ICC-профиля для данного варианта. |
IccVersionTier::requiresV4Strict() | Проверка, отклоняющая ICC-профили, не относящиеся к v4, при заявлении структуры PDF/A-4 / PDF/X-6. |
Пример кода — быстрый старт
Заголовок раздела «Пример кода — быстрый старт»<?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 и ICC v4. Инструмент предпечатной проверки принимает решение о соответствии PDF/X-4 / PDF/X-6. NextPDF не поставляет валидатор PDF/X.
Граничные случаи и подводные камни
Заголовок раздела «Граничные случаи и подводные камни»- DeviceRGB не формирует интент PDF/X. Профиль по умолчанию побайтово идентичен прежнему выводу и не содержит выходного интента
/GTS_PDFX. Для процесса PDF/X необходимо явно выбрать широкоохватный профиль. - ICC v2 блокирует заявление о PDF/X-6.
requiresV4Strict()отклоняет профиль v2; не заявляйте структуру PDF/X-6 для ICC-профиля, не относящегося к v4. - Плашечные цвета / наложение. Полные процессы PDF/X-1a/X-3 с CMYK и плашечными цветами выходят за рамки формирования OutputIntent в Core. Эта страница охватывает только выходной интент PDF/X-4 / PDF/X-6 на основе ICC.
- Никакого заявления о сертификации. Вывод OutputIntent — структурная поддержка. Соответствие PDF/X — вердикт предпечатной проверки, а не состояние библиотеки.
Производительность
Заголовок раздела «Производительность»Широкоохватный OutputIntent добавляет один встроенный ICC-поток при вызове save(). Его размер фиксирован для каждого рабочего пространства. Бюджет: общее время ≤ 1500 мс, пик ≤ 128 МБ.
Примечания по безопасности
Заголовок раздела «Примечания по безопасности»Выходные интенты для печатного производства — это метаданные управления цветом, а не механизм безопасности. Встроенный ICC-профиль содержит общедоступные данные.
Размещение данных и меры по защите PII
Заголовок раздела «Размещение данных и меры по защите PII»Формирование OutputIntent выполняется внутри процесса. Записываются только документ и встроенный ICC-профиль. Содержимое не покидает процесс; профиль не содержит персонально идентифицируемой информации (PII).
Безопасная телеметрия и очистка журналов
Заголовок раздела «Безопасная телеметрия и очистка журналов»Пример записывает в журнал только путь к выходному файлу и подсказку по валидации. Байты документа в журнал не записываются; переменная NEXTPDF_COOKBOOK_OUTPUT учитывается.
Модель угроз
Заголовок раздела «Модель угроз»Файл PDF/X сам по себе не получает контроль доступа. OutputIntent обеспечивает воспроизводимость цвета для условий печати, а не конфиденциальность.
Поведение в режиме FIPS
Заголовок раздела «Поведение в режиме FIPS»Путь OutputIntent для PDF/X не выполняет криптографических операций. Режим FIPS на него не влияет.
Соответствие
Заголовок раздела «Соответствие»| Заявление | Спецификация | Пункт | reference_id (идентификатор ссылки) |
|---|---|---|---|
| OutputIntent ссылается на ICC-поток DestOutputProfile для условия выходного отображения. | 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) не входит в проверочный корпус. Приведённые выше заявления — предпосылки ISO 32000-2 §14.11.5 + ICC.1, которые проверяет предпечатная проверка PDF/X. Ссылки — указатели clause-id + reference_id в проверочном корпусе (манифест). Текст стандартов не воспроизводится.