跳到內容
getnextpdf.com

Pro 版本

Print Job — 深入參考

XjdfJobTicket 為量產印刷工作流程建構一份 XJDF 2.1(XML JDF 2.0)作業工單。這個流暢式(fluent)建構器會記錄作業中繼資料、媒材、色彩意圖、加工作業、優先順序與份數。接著 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;
}

媒材規格 — 不可變值物件:

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:

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。instance流暢式建構器根節點。
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設定輸出份數。self$copies < 1 時拋出 InvalidArgumentException預設為 1。
XjdfJobTicket::toXml序列化 XJDF 2.1 文件。string未設定作業 ID 時會產生隨機的 XJDF_<hex> 作業 ID。
MediaSpec::__constructstring $mediaType, float $widthMm, float $heightMm, int $weight, string $coating, string $color預設為 80 g/m² 的 A4 白紙。instance所有參數皆為選用。
MediaSpec::isStandard在 0.5 mm 容差內比對 A4、US Letter 或 A3。bool直向或橫向皆可。
MediaSpec::toXjdfElement輸出一個 <Media> 元素;將毫米換算為點(points)。string塗佈與色彩為預設值時省略。
ColorSpec::__constructbool $useCmyk, bool $useSpotColors, list<string> $spotColorNames, string $renderingIntent預設為 CMYK、相對色度(relative colorimetric)意圖。instance
ColorSpec::colorCount回傳 4(CMYK)再加上每個特別色各 1。int
FinishingSpec::__constructbool $fold, bool $staple, bool $punch, bool $trim, string $binding預設為不加工;裝訂為 Noneinstance
JobPriorityenum 案例 IdleLowNormalHighRushenum字串型。
JobPriority::numericValue將案例對應到 0、25、50、75 或 100。int最高為 Rush(100)。
  • XjdfJobTicket 是一個流暢式建構器。每個 setter 都回傳 self 以利串接。
  • toXml 會在 CIP4 命名空間 http://www.CIP4.org/JDFSchema_2_0 下、以 Types="ConventionalPrinting" 序列化出一份精簡的 XJDF 2.1 文件。
  • 未設定作業 ID 時,toXml 會以隨機的 XJDF_ 識別碼取代,而非失敗。
  • 優先順序會同時寫成一個 Comment 與一個數值型 NodeInfo 屬性。份數會寫成 Component 的輸出數量。
  • 媒材、色彩與加工資源僅在其規格已設定時才會出現。
  • 所有屬性值在序列化前都會經過 XML 轉義。
  • 本模組會產出工單文件。它不會產生列印串流,也不會將工單送交給裝置。
  • setCopies 傳入小於 1 的值時會拋出 InvalidArgumentException。這是本模組唯一會拋出的例外。
  • 空白或未設定的作業 ID 並非錯誤。toXml 會在序列化時以隨機的 XJDF_<hex> 識別碼取代。
  • 媒材尺寸以毫米為單位。toXjdfElement 會以 72 / 25.4 的係數將其換算為 PDF 點(points)。
  • MediaSpec::isStandard 套用 0.5 mm 的容差,並接受直向或橫向。
  • 當塗佈為 None 時,MediaSpec::toXjdfElement 會省略 FrontCoatings;當色彩為 White 時會省略 MediaColorName
  • 本模組不執行任何密碼學運算。FIPS 模式不會改變其行為。

NextPDF Pro 會輸出精簡的 XJDF 2.1 子集。這是功能對齊,而非認證。NextPDF 未持有任何 CIP4 認證。

行為參考狀態
XJDF 2.1 作業工單結構XJDF 2.1 (CIP4)對齊 — 精簡子集
  • 根節點與命名空間:http://www.CIP4.org/JDFSchema_2_0 下的一個 <XJDF> 元素,並帶有 Types="ConventionalPrinting"
  • 色彩序列化器會輸出 NumColorsColorsUsedColorSpec::renderingIntent 會保留在值物件上,但不會寫入精簡輸出中。
  • 加工會將布林值對應到 XJDF 作業:fold 對應 Folding、staple 對應 Stitching、punch 對應 HoleMaking、trim 對應 Trimming。非 None 的裝訂會輸出一個 BindingIntent
  • 值只會經過 XML 轉義,不會有其他驗證。請在建構前先清理來自外部來源的作業名稱與識別碼。

本頁僅記錄外部可觀察的行為與受支援的公開 API 介面。內部命名空間路徑、輔助類別、機制表、操作手冊檔名,以及工單前綴均不在範圍內。