跳转到内容
getnextpdf.com

Pro 版本

Print Job

NextPDF Pro 为生产印刷工作流程构建 XJDF(XML JDF 2.0)作业票据:作业元数据、介质规格、色彩意图、整饰操作、优先级,以及份数。

此能力随 NextPDF Pronextpdf/pro)一同发布,并通过 Pro 层级的授权信封激活。缺少该授权的部署不会加载该能力的类。Print Job 不携带单独的逐功能授权标记。比较各版本并获取授权

Terminal window
composer require nextpdf/pro:^3

印刷生产系统会消费一份描述如何制作作业的作业票据。NextPDF Pro 以一个流畅构建器发出一个 XJDF 2.1 文档:

  • XjdfJobTicket —— 构建器。设置作业 ID 与名称、优先级、介质、色彩、整饰与份数,然后序列化为一个 XJDF 2.1 XML 文档。
  • MediaSpec —— 不可变的介质属性:类型、以毫米为单位的宽与高、以 g/m² 为单位的克重、涂层,以及颜色。默认为 A4 白纸。
  • ColorSpecFinishingSpecJobPriority —— 色彩意图、整饰操作,以及一个优先级枚举。

生成的 XML 遵循简化的 XJDF 2.1 结构。本模块产出票据;它不会把票据提交给印刷机控制器或设备。

Print Job 构建一份票据后即停止。它从不提交作业,也不渲染印刷流。这一边界是刻意为之。XJDF 文档是对意图的可移植描述——介质、色彩、整饰、优先级、份数——由下游印刷机控制器消费并执行。让本模块保持为纯序列化器,使一份票据能够驱动大批量的生产运行,而无需把你的代码耦合到某个设备协议。规格对象是不可变的,因此相同的输入总是产出相同的票据,这使批量输出可复现。

设计背景:大批量文档生成

职责
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() 序列化;当作业 ID 为空时,它会生成一个唯一标识符,而不是失败。
  • setCopies() 会拒绝小于 1 的份数。
  • 介质尺寸是毫米;传入前请从点转换。
  • 输出是一份票据文档,而非一个已渲染的印刷流。

票据构造相对于文档大小是常量时间;它只取决于所配置的资源。

构建器从你提供的值发出 XML。请在构建前清洗外部来源的作业名称与标识符。

行为参考状态
XJDF 2.1 作业票据结构XJDF 2.1 (CIP4)对齐(简化子集)
  • XjdfJobTicket 是一个流畅构建器,用于作业 ID 与名称、优先级、介质、色彩、整饰与份数,并通过 toXml() 序列化为一个简化的 XJDF 2.1 XML 文档。setCopies() 会拒绝小于 1 的份数;空的作业 ID 会被自动生成。
  • MediaSpec 携带不可变的介质属性(类型、以毫米为单位的宽/高、以 g/m² 为单位的克重、涂层、颜色),并默认为 A4 白纸。
  • ColorSpecFinishingSpecJobPriority 描述色彩意图、整饰操作,以及优先级。
  • 本模块仅产出一份票据文档。它不会渲染印刷流,也不会把票据提交给印刷机控制器或设备。

Enterprise 不改变 Print Job 的行为。Enterprise 增加的是另行记录的更高层级功能;它们对构建一个 XJDF 作业票据并非必需。

XJDF 2.1 作业票据生成没有 Core 层级的对等物。这是一项 Pro 新增能力。

本页面仅描述可从外部观察到的行为以及受支持的公共 API 接口面。内部命名空间路径、辅助类、机制表、runbook 文件名,以及票据前缀均不在范围之内。