Создание и валидация PDF/X-6

HotPDF поддерживает workflows обмена PDF/X-6 — полные, с внешним профилем и с N красителями — поверх PDF 2.0

Профили

PDFXComplianceTHPDFPDFX6ProfileOutput-профиль
'X-6'px6CompleteВстроенный ICC-профиль через DestOutputProfile
'X-6p'px6ExternalВнешний ICC-профиль gray, RGB или CMYK через DestOutputProfileRef
'X-6n'px6NChannelВнешний профиль на N красителей плюс соответствующий ColorantTable
Определяется по документуpx6AutomaticИспользует настройку producer или идентификацию из загруженного XMP

Пример полного профиля

PDF.Version := pdf20;
PDF.PDFXCompliance := 'X-6';
PDF.Title := 'Press-ready artwork';
PDF.Trapped := 'False';
PDF.BeginDoc;
PDF.CurrentPage.SetTrimBox(0, 0,
  PDF.CurrentPage.Width, PDF.CurrentPage.Height);
PDF.AddPDFXOutputIntent('CGATS TR 001',
  'Document printing condition', ICCStream, 4, 'DeviceCMYK');
PDF.EndDoc;

EndDoc запускает валидацию по принципу fail-closed для всех трёх профилей PDF/X-6 до сериализации

Область действия output intent

Page box

Валидатор разрешает наследуемые MediaBox и CropBox, проверяет прямые значения BleedBox, TrimBox и ArtBox и требует ровно один box готовой страницы на страницу

Ограничения обмена

Один ограниченный обход графа проверяет идентификацию профиля и структуры обмена, дедуплицируя общие ресурсы по идентичности объектов

Версионируемые правила

THPDFPDFX6ValidationOptions.RuleSet выбирает опубликованные правила ISO 15930-9:2020 или то же издание с разрешёнными errata по 2025-11-11; по умолчанию выбран набор с разрешёнными errata

HPDFPDFX6RuleSetRevision возвращает стабильную метку ревизии, и каждая запись THPDFPDFX6ValidationIssue несёт и RuleSet, и RuleRevision, поэтому сохранённые диагностики остаются атрибутируемыми, когда значения по умолчанию эволюционируют

Нанесённая краска, overprint и прозрачность

Валидатор интерпретирует graphics state и ресурсы в точках фактических операторов краски, а не считает выбор цвета уже нанесённым выводом

Ограниченное выполнение и кеширование

Потолки на объекты, находки, декодированные байты, работу с контентом, рекурсию и стек graphics state срабатывают по принципу fail-closed со стабильной диагностикой до неограниченного выделения памяти, включая члены, вложенные в массивы TJ

Декодированный контент, ICC-профили, цвет из заголовка JPX и структура Type 3 используют индексированные локальные для документа кеши с геометрически растущим хранилищем, а зависящее от контекста состояние цвета и прозрачности пересчитывается на каждом вызове

Структурированная диагностика

ValidatePDFX6 возвращает THPDFPDFX6ValidationIssues — массив record THPDFPDFX6ValidationIssue, чей THPDFPDFX6IssueSeverity различает предупреждения и ошибки

Каждая находка включает стабильный код, пункт стандарта, набор правил, ревизию правил, путь объекта, номер объекта, индекс страницы с нулевой базой и сообщение

THPDFPDFX6ValidationOptions независимо ограничивает объекты, находки, декодированные байты и token контента и может изолировать проверки output intent, page box, обмена, шрифтов, аннотаций, нанесённой краски, overprint или прозрачности

Связанные API