Перейти к содержимому
getnextpdf.com

Pro редакция

Print Job — глубокий справочник

XjdfJobTicket строит задание-билет XJDF 2.1 (XML JDF 2.0) для производственных процессов печати. Текучий построитель фиксирует метаданные задания, носитель, цветовое намерение, операции отделки, приоритет и число копий. Затем toXml сериализует XML-документ в пространстве имён CIP4. Модуль формирует только билет. Он не отправляет билет на контроллер печатной машины или устройство.

Эта возможность поставляется в составе NextPDF Pro (nextpdf/pro) и активируется лицензионным конвертом уровня Pro. Развёртывание без такого права не загружает классы возможности. Сравните редакции и получите лицензию.

Отдельного флага лицензии на функцию нет. Это возможность редакции Pro.

Окно терминала
composer require nextpdf/pro:^3

Точка входа — текучий построитель:

final class XjdfJobTicket
{
public function __construct();
public function setJobId(string $id): self;
public function setJobName(string $name): self;
public function setPriority(JobPriority $priority): self;
public function setMedia(MediaSpec $media): self;
public function setColor(ColorSpec $color): self;
public function setFinishing(FinishingSpec $finishing): self;
public function setCopies(int $copies): self;
public function toXml(): string;
}

Спецификация носителя — неизменяемый объект-значение:

final readonly class MediaSpec
{
public function __construct(
public string $mediaType = 'Paper',
public float $widthMm = 210.0,
public float $heightMm = 297.0,
public int $weight = 80,
public string $coating = 'None',
public string $color = 'White',
);
public function isStandard(): bool;
public function toXjdfElement(): string;
}

Цветовое намерение — неизменяемый объект-значение:

final readonly class ColorSpec
{
public function __construct(
public bool $useCmyk = true,
public bool $useSpotColors = false,
public array $spotColorNames = [],
public string $renderingIntent = 'RelativeColorimetric',
);
public function colorCount(): int;
}

Намерение отделки — неизменяемый объект-значение:

final readonly class FinishingSpec
{
public function __construct(
public bool $fold = false,
public bool $staple = false,
public bool $punch = false,
public bool $trim = false,
public string $binding = 'None',
);
}

Приоритет — перечисление на основе строк:

enum JobPriority: string
{
case Idle = 'Idle';
case Low = 'Low';
case Normal = 'Normal';
case High = 'High';
case Rush = 'Rush';
public function numericValue(): int;
}
СимволПараметрыПоведение по умолчаниюВозвращаетБросает или падает сПримечания
XjdfJobTicket::__constructнетПриоритет инициализируется как JobPriority::Normal; число копий — 1.экземплярКорень текучего построителя.
XjdfJobTicket::setJobIdstring $idФиксирует идентификатор задания.selfПустое значение допустимо; см. toXml.
XjdfJobTicket::setJobNamestring $nameФиксирует читаемое имя задания.selfВыводится как GeneralID, когда непусто.
XjdfJobTicket::setPriorityJobPriority $priorityПереопределяет приоритет по умолчанию Normal.self
XjdfJobTicket::setMediaMediaSpec $mediaПрикрепляет ресурс носителя.selfНеобязательно; пропускается, если не задан.
XjdfJobTicket::setColorColorSpec $colorПрикрепляет ресурс цветового намерения.selfНеобязательно; пропускается, если не задан.
XjdfJobTicket::setFinishingFinishingSpec $finishingПрикрепляет ресурсы отделки.selfНеобязательно; пропускается, если не задан.
XjdfJobTicket::setCopiesint $copiesЗадаёт число копий на выходе.selfInvalidArgumentException, когда $copies < 1По умолчанию 1.
XjdfJobTicket::toXmlнетСериализует документ XJDF 2.1.stringГенерирует случайный идентификатор задания XJDF_<hex>, если он не был задан.
MediaSpec::__constructstring $mediaType, float $widthMm, float $heightMm, int $weight, string $coating, string $colorПо умолчанию — белая бумага A4 плотностью 80 г/м².экземплярВсе параметры необязательны.
MediaSpec::isStandardнетСовпадает с A4, US Letter или A3 в пределах 0,5 мм.boolПортретная или альбомная ориентация.
MediaSpec::toXjdfElementнетВыводит элемент <Media>; переводит миллиметры в пункты.stringОпускает покрытие и цвет при их значениях по умолчанию.
ColorSpec::__constructbool $useCmyk, bool $useSpotColors, list<string> $spotColorNames, string $renderingIntentПо умолчанию — CMYK, относительное колориметрическое намерение.экземпляр
ColorSpec::colorCountнетВозвращает 4 для CMYK плюс по одному на каждый плашечный цвет.int
FinishingSpec::__constructbool $fold, bool $staple, bool $punch, bool $trim, string $bindingПо умолчанию — без отделки; переплёт None.экземпляр
JobPriorityслучаи перечисления Idle, Low, Normal, High, RushперечислениеНа основе строк.
JobPriority::numericValueнетОтображает случай в 0, 25, 50, 75 или 100.intНаибольший — Rush (100).
  • XjdfJobTicket — текучий построитель. Каждый сеттер возвращает self для цепочки вызовов.
  • toXml сериализует упрощённый документ XJDF 2.1 в пространстве имён CIP4 http://www.CIP4.org/JDFSchema_2_0, с Types="ConventionalPrinting".
  • Если идентификатор задания не был задан, toXml подставляет случайный идентификатор XJDF_, а не завершается ошибкой.
  • Приоритет записывается и как Comment, и как числовой атрибут NodeInfo. Число копий записывается как выходное количество Component.
  • Ресурсы носителя, цвета и отделки появляются, только если их спецификации были заданы.
  • Все значения атрибутов экранируются для XML перед сериализацией.
  • Модуль формирует документ-билет. Он не рендерит поток печати и не отправляет билет на устройство.
  • setCopies со значением меньше 1 бросает InvalidArgumentException. Это единственное исключение, которое поднимает модуль.
  • Пустой или незаданный идентификатор задания не является ошибкой. toXml подставляет случайный идентификатор XJDF_<hex> во время сериализации.
  • Размеры носителя — в миллиметрах. toXjdfElement переводит их в пункты PDF с коэффициентом 72 / 25,4.
  • MediaSpec::isStandard применяет допуск 0,5 мм и принимает портретную или альбомную ориентацию.
  • MediaSpec::toXjdfElement опускает FrontCoatings, когда покрытие — None, и MediaColorName, когда цвет — White.
  • Модуль не выполняет криптографических операций. Режим FIPS не меняет его поведение.

NextPDF Pro выводит упрощённое подмножество XJDF 2.1. Это согласование возможностей, а не сертификация. NextPDF не имеет сертификации CIP4.

ПоведениеСсылкаСтатус
Структура задания-билета XJDF 2.1XJDF 2.1 (CIP4)Согласовано — упрощённое подмножество
  • Корень и пространство имён: элемент <XJDF> в http://www.CIP4.org/JDFSchema_2_0, с Types="ConventionalPrinting".
  • Сериализатор цвета выводит NumColors и ColorsUsed. ColorSpec::renderingIntent сохраняется в объекте-значении, но не записывается в упрощённый вывод.
  • Отделка отображает булевы значения в операции XJDF: fold — в Folding, staple — в Stitching, punch — в HoleMaking, trim — в Trimming. Переплёт, отличный от None, выводит BindingIntent.
  • Значения экранируются для XML, но иначе не проверяются. Санируйте имена и идентификаторы заданий из внешних источников перед построением.

Эта страница документирует только внешне наблюдаемое поведение и поддерживаемую поверхность публичного API. Внутренние пути пространств имён, вспомогательные классы, таблицы механизмов, имена файлов ранбуков и префиксы билетов вне области рассмотрения.