Pro エディション
Print Job — 詳細リファレンス
XjdfJobTicket は、プロダクション印刷ワークフロー向けに XJDF 2.1(XML JDF 2.0)のジョブチケットを構築します。フルエントビルダーが、ジョブメタデータ、メディア、カラーインテント、フィニッシング操作、優先度、部数を記録します。続いて toXml が CIP4 名前空間の XML ドキュメントをシリアライズします。本モジュールが生成するのはチケットのみです。チケットを印刷機コントローラーやデバイスに送信することはありません。
提供とライセンス
「提供とライセンス」という見出しのセクションこの機能は NextPDF Pro(nextpdf/pro)に同梱され、Pro ティアのライセンスエンベロープで有効化されます。この権利を持たないデプロイでは、当該機能のクラスはロードされません。エディションを比較してライセンスを取得。
機能ごとのライセンスフラグは適用されません。これは Pro エディションの機能です。
公開 API サーフェス
「公開 API サーフェス」という見出しのセクション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 に初期化。 | インスタンス | — | フルエントビルダーのルート。 |
XjdfJobTicket::setJobId | string $id | ジョブ識別子を記録。 | self | — | 空値も許可。toXml を参照。 |
XjdfJobTicket::setJobName | string $name | 人間可読なジョブ名を記録。 | self | — | 非空のとき GeneralID として出力。 |
XjdfJobTicket::setPriority | JobPriority $priority | デフォルトの Normal 優先度を上書き。 | self | — | — |
XjdfJobTicket::setMedia | MediaSpec $media | メディアリソースを付与。 | self | — | 任意。未設定なら省略。 |
XjdfJobTicket::setColor | ColorSpec $color | カラーインテントリソースを付与。 | self | — | 任意。未設定なら省略。 |
XjdfJobTicket::setFinishing | FinishingSpec $finishing | フィニッシングリソースを付与。 | self | — | 任意。未設定なら省略。 |
XjdfJobTicket::setCopies | int $copies | 出力部数を設定。 | self | $copies < 1 のとき InvalidArgumentException | デフォルトは 1。 |
XjdfJobTicket::toXml | なし | XJDF 2.1 ドキュメントをシリアライズ。 | string | — | 未設定時はランダムな XJDF_<hex> ジョブ ID を生成。 |
MediaSpec::__construct | string $mediaType, float $widthMm, float $heightMm, int $weight, string $coating, string $color | デフォルトは A4 白用紙、80 g/m²。 | インスタンス | — | 全パラメータ任意。 |
MediaSpec::isStandard | なし | A4・US Letter・A3 に 0.5 mm 以内で一致。 | bool | — | 縦向き・横向き。 |
MediaSpec::toXjdfElement | なし | <Media> 要素を出力。ミリメートルをポイントに変換。 | string | — | デフォルト時はコーティングとカラーを省略。 |
ColorSpec::__construct | bool $useCmyk, bool $useSpotColors, list<string> $spotColorNames, string $renderingIntent | デフォルトは CMYK、相対測色インテント。 | インスタンス | — | — |
ColorSpec::colorCount | なし | CMYK の 4 にスポットカラー数を加算して返す。 | int | — | — |
FinishingSpec::__construct | bool $fold, bool $staple, bool $punch, bool $trim, string $binding | デフォルトはフィニッシングなし、綴じは None。 | インスタンス | — | — |
JobPriority | enum ケース Idle、Low、Normal、High、Rush | — | enum | — | 文字列バック型。 |
JobPriority::numericValue | なし | ケースを 0・25・50・75・100 にマップ。 | int | — | 最高は Rush(100)。 |
挙動コントラクト
「挙動コントラクト」という見出しのセクションXjdfJobTicketはフルエントビルダーです。各セッターはチェーン用に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 ポイントに変換します。 MediaSpec::isStandardは 0.5 mm の許容差を適用し、縦向き・横向きのいずれも受け付けます。MediaSpec::toXjdfElementは、コーティングがNoneのとき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"を持ちます。 - カラーシリアライザは
NumColorsとColorsUsedを出力します。ColorSpec::renderingIntentは値オブジェクトに保持されますが、簡略化された出力には書き込まれません。 - フィニッシングは真偽値を XJDF 操作にマップします: fold を
Folding、staple をStitching、punch をHoleMaking、trim をTrimmingに対応させます。None以外の綴じはBindingIntentを出力します。 - 値は XML エスケープされますが、それ以外の検証は行われません。外部由来のジョブ名や識別子はビルド前にサニタイズしてください。
公開範囲の境界
「公開範囲の境界」という見出しのセクション本ページは、外部から観測可能な挙動とサポート対象の公開 API サーフェスのみを記載します。内部の名前空間パス、ヘルパークラス、メカニズム表、Runbook のファイル名、チケットプレフィックスは対象外です。