Pro edisi
Print Job — Referensi Mendalam
Sekilas
Bagian berjudul “Sekilas”XjdfJobTicket membangun job ticket XJDF 2.1 (XML JDF 2.0) untuk alur kerja print produksi. Pembangun fluen ini merekam metadata job, media, intent warna, operasi finishing, prioritas, dan jumlah salinan. toXml kemudian menserialisasi dokumen XML ber-namespace CIP4. Modul ini hanya menghasilkan sebuah ticket. Modul ini tidak mengirimkan ticket ke kontroler mesin cetak atau perangkat.
Ketersediaan & lisensi
Bagian berjudul “Ketersediaan & lisensi”Kapabilitas ini disertakan dalam NextPDF Pro (nextpdf/pro) dan aktif dengan envelope lisensi tingkat Pro. Deployment tanpa entitlement tersebut tidak memuat kelas-kelas kapabilitas ini. Bandingkan edisi dan dapatkan lisensi.
Tidak ada flag lisensi per-fitur yang berlaku. Ini adalah kapabilitas edisi Pro.
Permukaan API publik
Bagian berjudul “Permukaan API publik”composer require nextpdf/pro:^3Titik masuk — pembangun fluen:
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;}Spesifikasi media — value object imutabel:
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;}Intent warna — value object imutabel:
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;}Intent finishing — value object imutabel:
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', );}Prioritas — enum yang didukung string:
enum JobPriority: string{ case Idle = 'Idle'; case Low = 'Low'; case Normal = 'Normal'; case High = 'High'; case Rush = 'Rush';
public function numericValue(): int;}| Simbol | Parameter | Perilaku default | Mengembalikan | Melempar atau gagal dengan | Catatan |
|---|---|---|---|---|---|
XjdfJobTicket::__construct | none | Prioritas diinisialisasi ke JobPriority::Normal; salinan ke 1. | instance | — | Akar pembangun fluen. |
XjdfJobTicket::setJobId | string $id | Merekam identifier job. | self | — | Nilai kosong diizinkan; lihat toXml. |
XjdfJobTicket::setJobName | string $name | Merekam nama job yang mudah dibaca manusia. | self | — | Dipancarkan sebagai GeneralID bila tidak kosong. |
XjdfJobTicket::setPriority | JobPriority $priority | Menimpa prioritas Normal default. | self | — | — |
XjdfJobTicket::setMedia | MediaSpec $media | Melampirkan resource media. | self | — | Opsional; dihilangkan bila tidak diset. |
XjdfJobTicket::setColor | ColorSpec $color | Melampirkan resource intent warna. | self | — | Opsional; dihilangkan bila tidak diset. |
XjdfJobTicket::setFinishing | FinishingSpec $finishing | Melampirkan resource finishing. | self | — | Opsional; dihilangkan bila tidak diset. |
XjdfJobTicket::setCopies | int $copies | Menetapkan jumlah salinan keluaran. | self | InvalidArgumentException bila $copies < 1 | Default-nya 1. |
XjdfJobTicket::toXml | none | Menserialisasi dokumen XJDF 2.1. | string | — | Menghasilkan ID job XJDF_<hex> acak bila belum diset. |
MediaSpec::__construct | string $mediaType, float $widthMm, float $heightMm, int $weight, string $coating, string $color | Default ke kertas putih A4 pada 80 g/m². | instance | — | Semua parameter opsional. |
MediaSpec::isStandard | none | Cocok dengan A4, US Letter, atau A3 dalam toleransi 0.5 mm. | bool | — | Portrait atau landscape. |
MediaSpec::toXjdfElement | none | Memancarkan elemen <Media>; mengonversi milimeter ke poin. | string | — | Menghilangkan coating dan warna pada nilai default-nya. |
ColorSpec::__construct | bool $useCmyk, bool $useSpotColors, list<string> $spotColorNames, string $renderingIntent | Default ke CMYK, intent relative colorimetric. | instance | — | — |
ColorSpec::colorCount | none | Mengembalikan 4 untuk CMYK ditambah satu per spot color. | int | — | — |
FinishingSpec::__construct | bool $fold, bool $staple, bool $punch, bool $trim, string $binding | Default tanpa finishing; binding None. | instance | — | — |
JobPriority | case enum Idle, Low, Normal, High, Rush | — | enum | — | Didukung string. |
JobPriority::numericValue | none | Memetakan case ke 0, 25, 50, 75, atau 100. | int | — | Tertinggi adalah Rush (100). |
Kontrak perilaku
Bagian berjudul “Kontrak perilaku”XjdfJobTicketadalah pembangun fluen. Setiap setter mengembalikanselfuntuk perangkaian.toXmlmenserialisasi dokumen XJDF 2.1 yang disederhanakan di bawah namespace CIP4http://www.CIP4.org/JDFSchema_2_0, denganTypes="ConventionalPrinting".- Ketika tidak ada ID job yang diset,
toXmlmenggantikannya dengan identifierXJDF_acak alih-alih gagal. - Prioritas ditulis sebagai atribut
Commentsekaligus atribut numerikNodeInfo. Salinan ditulis sebagai jumlah keluaranComponent. - Resource media, warna, dan finishing hanya muncul ketika spesifikasinya diset.
- Semua nilai atribut di-escape XML sebelum serialisasi.
- Modul ini menghasilkan dokumen ticket. Modul ini tidak merender print stream atau mengirimkan ticket ke perangkat.
Kasus tepi & mode kegagalan
Bagian berjudul “Kasus tepi & mode kegagalan”setCopiesdengan nilai di bawah 1 melemparInvalidArgumentException. Ini adalah satu-satunya exception yang dimunculkan modul.- ID job yang kosong atau tidak diset bukanlah error.
toXmlmenggantikannya dengan identifierXJDF_<hex>acak pada saat serialisasi. - Dimensi media dalam milimeter.
toXjdfElementmengonversinya ke poin PDF menggunakan faktor 72 / 25.4. MediaSpec::isStandardmenerapkan toleransi 0.5 mm dan menerima orientasi portrait atau landscape.MediaSpec::toXjdfElementmenghilangkanFrontCoatingsketika coating adalahNonedanMediaColorNameketika warna adalahWhite.- Modul ini tidak melakukan operasi kriptografis. Mode FIPS tidak mengubah perilakunya.
Kesesuaian
Bagian berjudul “Kesesuaian”NextPDF Pro memancarkan subset XJDF 2.1 yang disederhanakan. Ini adalah penyelarasan kapabilitas, bukan sertifikasi. NextPDF tidak memegang sertifikasi CIP4.
| Perilaku | Rujukan | Status |
|---|---|---|
| Struktur job-ticket XJDF 2.1 | XJDF 2.1 (CIP4) | Selaras — subset yang disederhanakan |
Catatan pengembangan
Bagian berjudul “Catatan pengembangan”- Akar dan namespace: sebuah elemen
<XJDF>di bawahhttp://www.CIP4.org/JDFSchema_2_0, denganTypes="ConventionalPrinting". - Serializer warna memancarkan
NumColorsdanColorsUsed.ColorSpec::renderingIntentdipertahankan pada value object tetapi tidak ditulis ke keluaran yang disederhanakan. - Finishing memetakan boolean ke operasi XJDF: fold ke
Folding, staple keStitching, punch keHoleMaking, dan trim keTrimming. Binding non-NonememancarkanBindingIntent. - Nilai di-escape XML, tidak divalidasi selain itu. Sanitasi nama job dan identifier yang bersumber dari luar sebelum membangun.
Batas publikasi
Bagian berjudul “Batas publikasi”Halaman ini hanya mendokumentasikan perilaku yang teramati secara eksternal dan permukaan API publik yang didukung. Path namespace internal, kelas helper, tabel mekanisme, nama file runbook, dan prefiks ticket berada di luar cakupan.