跳转到内容
getnextpdf.com

Pro 版本

Print Job — 深度参考

XjdfJobTicket 为生产印刷工作流构建一份 XJDF 2.1(XML JDF 2.0)作业票。该流式构建器记录作业元数据、media、色彩意图、装订加工操作、优先级与份数。随后 toXml 会序列化一份带 CIP4 命名空间的 XML 文档。该模块只产出作业票,不会把作业票提交给印刷机控制器或设备。

此能力随 NextPDF Pronextpdf/pro)一起发布,并通过 Pro 层级的授权信封(license envelope)激活。未持有该授权的部署不会加载此能力的类。对比各版本并获取授权

不适用任何单项功能许可标志。这是一项 Pro 版本能力。

Terminal window
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;
}

Media 规格 —— 不可变值对象:

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;
}
SymbolParametersDefault behaviorReturnsThrows or fails withNotes
XjdfJobTicket::__constructnone优先级初始化为 JobPriority::Normal;份数为 1。instance流式构建器的根。
XjdfJobTicket::setJobIdstring $id记录作业标识符。self允许空值;见 toXml
XjdfJobTicket::setJobNamestring $name记录人类可读的作业名称。self非空时作为 GeneralID 输出。
XjdfJobTicket::setPriorityJobPriority $priority覆盖默认的 Normal 优先级。self
XjdfJobTicket::setMediaMediaSpec $media附加一个 media 资源。self可选;未设置时省略。
XjdfJobTicket::setColorColorSpec $color附加一个色彩意图资源。self可选;未设置时省略。
XjdfJobTicket::setFinishingFinishingSpec $finishing附加装订加工资源。self可选;未设置时省略。
XjdfJobTicket::setCopiesint $copies设置输出份数。self$copies < 1 时抛出 InvalidArgumentException默认为 1。
XjdfJobTicket::toXmlnone序列化 XJDF 2.1 文档。string未设置时生成随机的 XJDF_<hex> 作业 ID。
MediaSpec::__constructstring $mediaType, float $widthMm, float $heightMm, int $weight, string $coating, string $color默认为 80 g/m² 的 A4 白纸。instance所有参数均可选。
MediaSpec::isStandardnone在 0.5 mm 内匹配 A4、US Letter 或 A3。bool纵向或横向。
MediaSpec::toXjdfElementnone输出一个 <Media> 元素;将毫米换算为点(point)。stringcoating 与 color 为默认值时省略。
ColorSpec::__constructbool $useCmyk, bool $useSpotColors, list<string> $spotColorNames, string $renderingIntent默认为 CMYK、相对比色意图。instance
ColorSpec::colorCountnoneCMYK 返回 4,每个专色再加 1。int
FinishingSpec::__constructbool $fold, bool $staple, bool $punch, bool $trim, string $binding默认无装订加工;binding 为 Noneinstance
JobPriorityenum cases IdleLowNormalHighRushenum字符串枚举。
JobPriority::numericValuenone将枚举项映射为 0、25、50、75 或 100。int最高为 Rush(100)。
  • XjdfJobTicket 是一个流式构建器。每个 setter 返回 self 以支持链式调用。
  • toXml 在 CIP4 命名空间 http://www.CIP4.org/JDFSchema_2_0 下序列化一份简化的 XJDF 2.1 文档,Types="ConventionalPrinting"
  • 未设置作业 ID 时,toXml 会替换为随机的 XJDF_ 标识符,而非失败。
  • 优先级同时写为 Comment 与数值型的 NodeInfo 属性。份数写为 Component 输出数量。
  • Media、color 与 finishing 资源仅在其规格被设置时才出现。
  • 所有属性值在序列化前都会经过 XML 转义。
  • 该模块产出作业票文档。它不会渲染打印流,也不会把作业票提交给设备。
  • setCopies 传入低于 1 的值会抛出 InvalidArgumentException。这是该模块抛出的唯一异常。
  • 空的或未设置的作业 ID 不是错误。toXml 会在序列化时替换为随机的 XJDF_<hex> 标识符。
  • Media 尺寸以毫米为单位。toXjdfElement 使用因子 72 / 25.4 将其换算为 PDF 点(point)。
  • MediaSpec::isStandard 采用 0.5 mm 容差,并接受纵向或横向方向。
  • MediaSpec::toXjdfElement 在 coating 为 None 时省略 FrontCoatings,在 color 为 White 时省略 MediaColorName
  • 该模块不执行任何密码学操作。FIPS 模式不改变其行为。

NextPDF Pro 输出一个简化的 XJDF 2.1 子集。这是能力对齐,而非认证。NextPDF 未持有任何 CIP4 认证。

BehaviorReferenceStatus
XJDF 2.1 作业票结构XJDF 2.1 (CIP4)已对齐 —— 简化子集
  • 根与命名空间:一个位于 http://www.CIP4.org/JDFSchema_2_0 下的 <XJDF> 元素,Types="ConventionalPrinting"
  • 色彩序列化器输出 NumColorsColorsUsedColorSpec::renderingIntent 保留在值对象上,但不会写入简化输出。
  • Finishing 将布尔值映射为 XJDF 操作:fold 映射为 Folding,staple 映射为 Stitching,punch 映射为 HoleMaking,trim 映射为 Trimming。非 None 的 binding 会输出一个 BindingIntent
  • 值会被 XML 转义,但不做其他校验。请在构建前先对外部来源的作业名称与标识符进行清洗。

本页仅记录外部可观测的行为与受支持的公开 API 范围。内部命名空间路径、辅助类、机制表、运行手册文件名与作业票前缀均不在范围内。