Pro รุ่น
Print Job — เอกสารอ้างอิงเชิงลึก
ภาพรวมโดยสังเขป
หัวข้อที่มีชื่อว่า “ภาพรวมโดยสังเขป”XjdfJobTicket สร้าง job ticket แบบ XJDF 2.1 (XML JDF 2.0) สำหรับเวิร์กโฟลว์งานพิมพ์ระดับการผลิต ตัวสร้างแบบ fluent จะบันทึกข้อมูลเมทาดาทาของงาน สื่อ เจตนาด้านสี การดำเนินการตกแต่งสำเร็จ ความสำคัญ และจำนวนสำเนา จากนั้น toXml จะ serialize เป็นเอกสาร XML ที่มี namespace แบบ CIP4 โมดูลนี้ผลิตเฉพาะ ticket เท่านั้น ไม่ได้ส่ง ticket ไปยัง controller ของแท่นพิมพ์หรืออุปกรณ์
ความพร้อมใช้งานและการอนุญาต
หัวข้อที่มีชื่อว่า “ความพร้อมใช้งานและการอนุญาต”ความสามารถนี้มาพร้อมกับ NextPDF Pro (nextpdf/pro) และเปิดใช้งานด้วยซองใบอนุญาตระดับ Pro การติดตั้งที่ไม่มีสิทธิ์ดังกล่าวจะไม่โหลดคลาสของความสามารถนี้ เปรียบเทียบรุ่นและรับใบอนุญาต
ไม่มีแฟล็กใบอนุญาตต่อฟีเจอร์ นี่เป็นความสามารถของรุ่น Pro
ผิว API สาธารณะ
หัวข้อที่มีชื่อว่า “ผิว API สาธารณะ”composer require nextpdf/pro:^3จุดเข้าใช้งาน — ตัวสร้างแบบ fluent
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;}ข้อกำหนดของสื่อ — value object ที่เปลี่ยนแปลงไม่ได้
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;}เจตนาด้านสี — value object ที่เปลี่ยนแปลงไม่ได้
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;}เจตนาด้านการตกแต่งสำเร็จ — value object ที่เปลี่ยนแปลงไม่ได้
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 ที่รองรับด้วย string
enum JobPriority: string{ case Idle = 'Idle'; case Low = 'Low'; case Normal = 'Normal'; case High = 'High'; case Rush = 'Rush';
public function numericValue(): int;}| Symbol | Parameters | Default behavior | Returns | Throws or fails with | Notes |
|---|---|---|---|---|---|
XjdfJobTicket::__construct | none | กำหนดค่าเริ่มต้นความสำคัญเป็น JobPriority::Normal และสำเนาเป็น 1 | instance | — | รากของตัวสร้างแบบ fluent |
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 | InvalidArgumentException เมื่อ $copies < 1 | ค่าเริ่มต้นคือ 1 |
XjdfJobTicket::toXml | none | serialize เอกสาร XJDF 2.1 | string | — | สร้าง job ID แบบสุ่ม XJDF_<hex> เมื่อไม่ได้ตั้งค่าไว้ |
MediaSpec::__construct | string $mediaType, float $widthMm, float $heightMm, int $weight, string $coating, string $color | ค่าเริ่มต้นเป็นกระดาษ A4 สีขาวที่ 80 g/m² | instance | — | พารามิเตอร์ทั้งหมดเลือกได้ |
MediaSpec::isStandard | none | ตรงกับ A4, US Letter หรือ A3 ภายใน 0.5 mm | bool | — | แนวตั้งหรือแนวนอน |
MediaSpec::toXjdfElement | none | ปล่อยออกเป็นอิลิเมนต์ <Media> แปลงมิลลิเมตรเป็น points | string | — | ละ coating และสีเมื่อเป็นค่าเริ่มต้น |
ColorSpec::__construct | bool $useCmyk, bool $useSpotColors, list<string> $spotColorNames, string $renderingIntent | ค่าเริ่มต้นเป็น CMYK เจตนาแบบ relative colorimetric | instance | — | — |
ColorSpec::colorCount | none | คืนค่า 4 สำหรับ CMYK บวกหนึ่งต่อ spot color แต่ละสี | int | — | — |
FinishingSpec::__construct | bool $fold, bool $staple, bool $punch, bool $trim, string $binding | ค่าเริ่มต้นเป็นไม่มีการตกแต่งสำเร็จ binding เป็น None | instance | — | — |
JobPriority | enum cases Idle, Low, Normal, High, Rush | — | enum | — | รองรับด้วย string |
JobPriority::numericValue | none | จับคู่ case กับ 0, 25, 50, 75 หรือ 100 | int | — | สูงสุดคือ Rush (100) |
สัญญาด้านพฤติกรรม
หัวข้อที่มีชื่อว่า “สัญญาด้านพฤติกรรม”XjdfJobTicketเป็นตัวสร้างแบบ fluent ตัว setter แต่ละตัวคืนค่าselfเพื่อร้อยต่อกันtoXmlserialize เอกสาร XJDF 2.1 แบบย่อภายใต้ namespace CIP4http://www.CIP4.org/JDFSchema_2_0โดยมีTypes="ConventionalPrinting"- เมื่อไม่ได้ตั้งค่า job ID ไว้
toXmlจะแทนที่ด้วยตัวระบุXJDF_แบบสุ่มแทนที่จะล้มเหลว - ความสำคัญถูกเขียนทั้งเป็น
Commentและเป็นแอตทริบิวต์ตัวเลขNodeInfoสำเนาถูกเขียนเป็นปริมาณผลลัพธ์Component - ทรัพยากรสื่อ สี และการตกแต่งสำเร็จจะปรากฏก็ต่อเมื่อมีการตั้งค่าข้อกำหนดไว้เท่านั้น
- ค่าแอตทริบิวต์ทั้งหมดถูก escape แบบ XML ก่อน serialize
- โมดูลนี้ผลิตเอกสาร ticket ไม่ได้เรนเดอร์สตรีมงานพิมพ์หรือส่ง ticket ไปยังอุปกรณ์
กรณีขอบและโหมดความล้มเหลว
หัวข้อที่มีชื่อว่า “กรณีขอบและโหมดความล้มเหลว”setCopiesด้วยค่าต่ำกว่า 1 จะยกInvalidArgumentExceptionนี่เป็น exception เดียวที่โมดูลยกขึ้น- job ID ที่ว่างหรือไม่ได้ตั้งค่าไม่ถือเป็นข้อผิดพลาด
toXmlจะแทนที่ด้วยตัวระบุXJDF_<hex>แบบสุ่มในเวลา serialize - มิติของสื่อเป็นมิลลิเมตร
toXjdfElementแปลงเป็น PDF points โดยใช้ตัวคูณ 72 / 25.4 MediaSpec::isStandardใช้ค่าคลาดเคลื่อน 0.5 mm และยอมรับการวางแนวตั้งหรือแนวนอนMediaSpec::toXjdfElementละFrontCoatingsเมื่อ coating เป็นNoneและละMediaColorNameเมื่อสีเป็นWhite- โมดูลนี้ไม่ทำการดำเนินการเชิงการเข้ารหัสลับใด ๆ โหมด FIPS ไม่เปลี่ยนพฤติกรรมของมัน
ความสอดคล้อง
หัวข้อที่มีชื่อว่า “ความสอดคล้อง”NextPDF Pro ปล่อยออกเป็นชุดย่อยของ XJDF 2.1 แบบย่อ นี่เป็นการจัดแนวความสามารถ ไม่ใช่การรับรอง NextPDF ไม่ได้ถือการรับรอง CIP4 ใด ๆ
| Behavior | Reference | Status |
|---|---|---|
| โครงสร้าง job ticket แบบ XJDF 2.1 | XJDF 2.1 (CIP4) | Aligned — simplified subset |
บันทึกการพัฒนา
หัวข้อที่มีชื่อว่า “บันทึกการพัฒนา”- รากและ namespace ได้แก่ อิลิเมนต์
<XJDF>ภายใต้http://www.CIP4.org/JDFSchema_2_0โดยมีTypes="ConventionalPrinting" - ตัว serialize สีปล่อยออกเป็น
NumColorsและColorsUsedส่วนColorSpec::renderingIntentถูกเก็บไว้บน value object แต่ไม่ถูกเขียนลงในผลลัพธ์แบบย่อ - การตกแต่งสำเร็จจับคู่ boolean กับการดำเนินการ XJDF ได้แก่ fold ไป
Folding, staple ไปStitching, punch ไปHoleMakingและ trim ไปTrimmingส่วน binding ที่ไม่ใช่Noneจะปล่อยออกเป็นBindingIntent - ค่าต่าง ๆ ถูก escape แบบ XML แต่ไม่ได้ตรวจสอบด้วยวิธีอื่น ให้ล้างชื่องานและตัวระบุที่มาจากภายนอกก่อนสร้าง
ขอบเขตการเผยแพร่
หัวข้อที่มีชื่อว่า “ขอบเขตการเผยแพร่”หน้านี้อธิบายเฉพาะพฤติกรรมที่สังเกตได้จากภายนอกและผิว API สาธารณะที่รองรับเท่านั้น เส้นทาง namespace ภายใน คลาสตัวช่วย ตารางกลไก ชื่อไฟล์ runbook และคำนำหน้า ticket อยู่นอกขอบเขต