ข้ามไปยังเนื้อหา
getnextpdf.com

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

Terminal window
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;
}
SymbolParametersDefault behaviorReturnsThrows or fails withNotes
XjdfJobTicket::__constructnoneกำหนดค่าเริ่มต้นความสำคัญเป็น JobPriority::Normal และสำเนาเป็น 1instanceรากของตัวสร้างแบบ fluent
XjdfJobTicket::setJobIdstring $idบันทึกตัวระบุงานselfอนุญาตให้ค่าว่างได้ ดู toXml
XjdfJobTicket::setJobNamestring $nameบันทึกชื่องานที่มนุษย์อ่านได้selfปล่อยออกเป็น GeneralID เมื่อไม่ว่าง
XjdfJobTicket::setPriorityJobPriority $priorityแทนที่ความสำคัญเริ่มต้น Normalself
XjdfJobTicket::setMediaMediaSpec $mediaผูกทรัพยากรสื่อselfเลือกได้ ละไว้เมื่อไม่ตั้งค่า
XjdfJobTicket::setColorColorSpec $colorผูกทรัพยากรเจตนาด้านสีselfเลือกได้ ละไว้เมื่อไม่ตั้งค่า
XjdfJobTicket::setFinishingFinishingSpec $finishingผูกทรัพยากรการตกแต่งสำเร็จselfเลือกได้ ละไว้เมื่อไม่ตั้งค่า
XjdfJobTicket::setCopiesint $copiesกำหนดจำนวนสำเนาผลลัพธ์selfInvalidArgumentException เมื่อ $copies < 1ค่าเริ่มต้นคือ 1
XjdfJobTicket::toXmlnoneserialize เอกสาร XJDF 2.1stringสร้าง job ID แบบสุ่ม XJDF_<hex> เมื่อไม่ได้ตั้งค่าไว้
MediaSpec::__constructstring $mediaType, float $widthMm, float $heightMm, int $weight, string $coating, string $colorค่าเริ่มต้นเป็นกระดาษ A4 สีขาวที่ 80 g/m²instanceพารามิเตอร์ทั้งหมดเลือกได้
MediaSpec::isStandardnoneตรงกับ A4, US Letter หรือ A3 ภายใน 0.5 mmboolแนวตั้งหรือแนวนอน
MediaSpec::toXjdfElementnoneปล่อยออกเป็นอิลิเมนต์ <Media> แปลงมิลลิเมตรเป็น pointsstringละ coating และสีเมื่อเป็นค่าเริ่มต้น
ColorSpec::__constructbool $useCmyk, bool $useSpotColors, list<string> $spotColorNames, string $renderingIntentค่าเริ่มต้นเป็น CMYK เจตนาแบบ relative colorimetricinstance
ColorSpec::colorCountnoneคืนค่า 4 สำหรับ CMYK บวกหนึ่งต่อ spot color แต่ละสีint
FinishingSpec::__constructbool $fold, bool $staple, bool $punch, bool $trim, string $bindingค่าเริ่มต้นเป็นไม่มีการตกแต่งสำเร็จ binding เป็น Noneinstance
JobPriorityenum cases Idle, Low, Normal, High, Rushenumรองรับด้วย string
JobPriority::numericValuenoneจับคู่ case กับ 0, 25, 50, 75 หรือ 100intสูงสุดคือ Rush (100)
  • XjdfJobTicket เป็นตัวสร้างแบบ fluent ตัว setter แต่ละตัวคืนค่า self เพื่อร้อยต่อกัน
  • toXml serialize เอกสาร XJDF 2.1 แบบย่อภายใต้ namespace CIP4 http://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 ใด ๆ

BehaviorReferenceStatus
โครงสร้าง job ticket แบบ XJDF 2.1XJDF 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 อยู่นอกขอบเขต