Pro редакция
Задание печати
Краткий обзор
Заголовок раздела «Краткий обзор»NextPDF Pro создаёт задания печати XJDF (XML JDF 2.0) для производственных процессов печати: метаданные задания, спецификация носителя, цветовое намерение, операции финишной обработки, приоритет и число копий.
Доступность и лицензирование
Заголовок раздела «Доступность и лицензирование»Эта возможность поставляется в NextPDF Pro (nextpdf/pro) и активируется лицензионным конвертом уровня Pro. Развёртывание без такого права не загружает классы этой возможности. Print Job не несёт отдельного пофункционального лицензионного флага. Сравнить редакции и получить лицензию.
Установка
Заголовок раздела «Установка»composer require nextpdf/pro:^3Концептуальный обзор
Заголовок раздела «Концептуальный обзор»Система производственной печати потребляет задание печати, которое описывает, как изготовить заказ. NextPDF Pro выдаёт документ XJDF 2.1 с помощью текучего построителя:
XjdfJobTicket— построитель. Задайте идентификатор и имя задания, приоритет, носитель, цвет, финишную обработку и число копий, затем сериализуйте в XML-документ XJDF 2.1.MediaSpec— неизменяемые свойства носителя: тип, ширина и высота в миллиметрах, плотность в г/м², покрытие и цвет. По умолчанию — белая бумага A4.ColorSpec,FinishingSpec,JobPriority— цветовое намерение, операции финишной обработки и перечисление приоритета.
Сгенерированный XML следует упрощённой структуре XJDF 2.1. Модуль создаёт задание; он не передаёт его контроллеру печатной машины или устройству.
Почему это работает именно так
Заголовок раздела «Почему это работает именно так»Print Job создаёт задание и на этом останавливается. Он никогда не отправляет задание и не отрисовывает поток печати. Эта граница проведена намеренно. Документ XJDF — это переносимое описание намерения (носитель, цвет, финишная обработка, приоритет, копии), которое потребляет и исполняет нижестоящий контроллер печатной машины. Сохранение модуля как чистого сериализатора позволяет одному заданию управлять высокотиражным производственным прогоном, не связывая ваш код с протоколом устройства. Объекты спецификации неизменяемы, поэтому одинаковые входные данные всегда дают одно и то же задание, что делает вывод пакета воспроизводимым.
Проектный контекст: Генерация документов большими объёмами.
Поверхность API
Заголовок раздела «Поверхность API»| Класс | Ответственность |
|---|---|
XjdfJobTicket | Текучий построитель задания печати XJDF 2.1. |
MediaSpec | Физические свойства носителя. |
ColorSpec | Цветовое намерение. |
FinishingSpec | Операции финишной обработки. |
JobPriority | Перечисление приоритета. |
Пример кода — быстрый старт
Заголовок раздела «Пример кода — быстрый старт»use NextPDF\Pro\PrintJob\XjdfJobTicket;
$xml = (new XjdfJobTicket()) ->setJobId('JOB-1001') ->setJobName('Quarterly report') ->toXml();Пример кода — продакшен
Заголовок раздела «Пример кода — продакшен»use NextPDF\Pro\PrintJob\{XjdfJobTicket, MediaSpec, JobPriority};
$xml = (new XjdfJobTicket()) ->setJobId($jobId) ->setPriority(JobPriority::High) ->setMedia(new MediaSpec(mediaType: 'Paper', widthMm: 297.0, heightMm: 420.0)) ->setCopies(500) ->toXml();$logger->info('printjob.ticket_built', ['job_id' => $jobId]);Граничные случаи и подводные камни
Заголовок раздела «Граничные случаи и подводные камни»- Сериализуйте через
toXml(); когда идентификатор задания пуст, он генерирует уникальный идентификатор, а не завершается ошибкой. setCopies()отклоняет число копий меньше 1.- Размеры носителя задаются в миллиметрах; преобразуйте из пунктов перед передачей.
- Вывод — это документ задания, а не отрисованный поток печати.
Производительность
Заголовок раздела «Производительность»Построение задания выполняется за постоянное время относительно размера документа; оно зависит только от настроенных ресурсов.
Замечания по безопасности
Заголовок раздела «Замечания по безопасности»Построитель выдаёт XML из переданных вами значений. Очищайте имена и идентификаторы заданий из внешних источников перед построением.
Соответствие
Заголовок раздела «Соответствие»| Поведение | Ссылка | Статус |
|---|---|---|
| Структура задания печати XJDF 2.1 | XJDF 2.1 (CIP4) | Согласовано (упрощённое подмножество) |
Контракт поведения
Заголовок раздела «Контракт поведения»XjdfJobTicket— это текучий построитель для идентификатора и имени задания, приоритета, носителя, цвета, финишной обработки и числа копий, сериализующий в упрощённый XML-документ XJDF 2.1 черезtoXml().setCopies()отклоняет число копий меньше 1; пустой идентификатор задания генерируется автоматически.MediaSpecнесёт неизменяемые свойства носителя (тип, ширина/высота в миллиметрах, плотность в г/м², покрытие, цвет) и по умолчанию — белая бумага A4.ColorSpec,FinishingSpecиJobPriorityописывают цветовое намерение, операции финишной обработки и приоритет.- Модуль создаёт только документ задания. Он не отрисовывает поток печати и не передаёт задание контроллеру печатной машины или устройству.
Замечание о границе Enterprise
Заголовок раздела «Замечание о границе Enterprise»Enterprise не меняет поведение Print Job. Enterprise добавляет возможности более высокого уровня, документированные отдельно; они не требуются для построения задания печати XJDF.
Резервный вариант / альтернатива в Core
Заголовок раздела «Резервный вариант / альтернатива в Core»Эквивалента генерации заданий печати XJDF 2.1 в Core нет. Это дополнение Pro.
Граница публикации
Заголовок раздела «Граница публикации»Эта страница документирует только внешне наблюдаемое поведение и поддерживаемую публичную поверхность API. Внутренние пути пространств имён, вспомогательные классы, таблицы механизмов, имена файлов runbook и префиксы заданий выходят за рамки.
См. также
Заголовок раздела «См. также»- Print Job — глубокий справочник — полная поверхность API модуля задания печати.
- Output Pipeline — подготовка вывода.
- Document — сборка документа.