Pro edizione
Print Job — Riferimento approfondito
In sintesi
Sezione intitolata “In sintesi”XjdfJobTicket costruisce un job ticket XJDF 2.1 (XML JDF 2.0) per i flussi di stampa di produzione. Il costruttore fluente registra i metadati del job, il media, l’intento di colore, le operazioni di finitura, la priorità e il numero di copie. toXml serializza quindi un documento XML con namespace CIP4. Il modulo produce soltanto un ticket. Non sottopone il ticket a un controller di stampa o a un dispositivo.
Disponibilità e licenza
Sezione intitolata “Disponibilità e licenza”Questa funzionalità è inclusa in NextPDF Pro (nextpdf/pro) e si attiva con un envelope di licenza di livello Pro. Un deployment privo di tale entitlement non carica le classi della funzionalità. Confronta le edizioni e ottieni una licenza.
Non si applica alcun flag di licenza per singola funzionalità. Si tratta di una funzionalità dell’edizione Pro.
Superficie API pubblica
Sezione intitolata “Superficie API pubblica”composer require nextpdf/pro:^3Punto di ingresso — il costruttore fluente:
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;}Specifica del media — value object immutabile:
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;}Intento di colore — value object immutabile:
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;}Intento di finitura — value object immutabile:
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', );}Priorità — enum con backing di stringa:
enum JobPriority: string{ case Idle = 'Idle'; case Low = 'Low'; case Normal = 'Normal'; case High = 'High'; case Rush = 'Rush';
public function numericValue(): int;}| Simbolo | Parametri | Comportamento predefinito | Restituisce | Solleva o fallisce con | Note |
|---|---|---|---|---|---|
XjdfJobTicket::__construct | nessuno | Priorità inizializzata a JobPriority::Normal; copie a 1. | istanza | — | Radice del costruttore fluente. |
XjdfJobTicket::setJobId | string $id | Registra l’identificatore del job. | self | — | Un valore vuoto è consentito; vedere toXml. |
XjdfJobTicket::setJobName | string $name | Registra il nome leggibile del job. | self | — | Emesso come GeneralID quando non è vuoto. |
XjdfJobTicket::setPriority | JobPriority $priority | Sovrascrive la priorità predefinita Normal. | self | — | — |
XjdfJobTicket::setMedia | MediaSpec $media | Collega una risorsa media. | self | — | Facoltativo; omesso quando non impostato. |
XjdfJobTicket::setColor | ColorSpec $color | Collega una risorsa di intento di colore. | self | — | Facoltativo; omesso quando non impostato. |
XjdfJobTicket::setFinishing | FinishingSpec $finishing | Collega le risorse di finitura. | self | — | Facoltativo; omesso quando non impostato. |
XjdfJobTicket::setCopies | int $copies | Imposta il numero di copie in uscita. | self | InvalidArgumentException quando $copies < 1 | Il valore predefinito è 1. |
XjdfJobTicket::toXml | nessuno | Serializza il documento XJDF 2.1. | string | — | Genera un ID del job casuale XJDF_<hex> quando non ne è stato impostato alcuno. |
MediaSpec::__construct | string $mediaType, float $widthMm, float $heightMm, int $weight, string $coating, string $color | Predefinito a carta bianca A4 a 80 g/m². | istanza | — | Tutti i parametri sono facoltativi. |
MediaSpec::isStandard | nessuno | Corrisponde ad A4, US Letter o A3 entro 0,5 mm. | bool | — | Verticale o orizzontale. |
MediaSpec::toXjdfElement | nessuno | Emette un elemento <Media>; converte i millimetri in punti. | string | — | Omette patinatura e colore ai loro valori predefiniti. |
ColorSpec::__construct | bool $useCmyk, bool $useSpotColors, list<string> $spotColorNames, string $renderingIntent | Predefinito a CMYK, intento colorimetrico relativo. | istanza | — | — |
ColorSpec::colorCount | nessuno | Restituisce 4 per il CMYK più uno per ogni colore spot. | int | — | — |
FinishingSpec::__construct | bool $fold, bool $staple, bool $punch, bool $trim, string $binding | Predefinito a nessuna finitura; rilegatura None. | istanza | — | — |
JobPriority | casi enum Idle, Low, Normal, High, Rush | — | enum | — | Con backing di stringa. |
JobPriority::numericValue | nessuno | Mappa il caso a 0, 25, 50, 75 o 100. | int | — | Il valore più alto è Rush (100). |
Contratto di comportamento
Sezione intitolata “Contratto di comportamento”XjdfJobTicketè un costruttore fluente. Ogni setter restituisceselfper il concatenamento.toXmlserializza un documento XJDF 2.1 semplificato sotto il namespace CIP4http://www.CIP4.org/JDFSchema_2_0, conTypes="ConventionalPrinting".- Quando non è stato impostato alcun ID del job,
toXmlsostituisce un identificatore casualeXJDF_invece di fallire. - La priorità viene scritta sia come
Commentsia come attributo numericoNodeInfo. Le copie vengono scritte come quantità di uscitaComponent. - Le risorse di media, colore e finitura compaiono solo quando le loro specifiche sono state impostate.
- Tutti i valori degli attributi vengono sottoposti a escape XML prima della serializzazione.
- Il modulo produce il documento del ticket. Non rende un flusso di stampa né sottopone il ticket a un dispositivo.
Casi limite e modalità di errore
Sezione intitolata “Casi limite e modalità di errore”setCopiescon un valore inferiore a 1 sollevaInvalidArgumentException. Questa è l’unica eccezione sollevata dal modulo.- Un ID del job vuoto o non impostato non è un errore.
toXmlsostituisce un identificatore casualeXJDF_<hex>al momento della serializzazione. - Le dimensioni del media sono in millimetri.
toXjdfElementle converte in punti PDF usando il fattore 72 / 25.4. MediaSpec::isStandardapplica una tolleranza di 0,5 mm e accetta l’orientamento verticale o orizzontale.MediaSpec::toXjdfElementometteFrontCoatingsquando la patinatura èNoneeMediaColorNamequando il colore èWhite.- Il modulo non esegue alcuna operazione crittografica. La modalità FIPS non ne altera il comportamento.
Conformità
Sezione intitolata “Conformità”NextPDF Pro emette un sottoinsieme semplificato di XJDF 2.1. Si tratta di allineamento di funzionalità, non di certificazione. NextPDF non detiene alcuna certificazione CIP4.
| Comportamento | Riferimento | Stato |
|---|---|---|
| Struttura del job-ticket XJDF 2.1 | XJDF 2.1 (CIP4) | Allineato — sottoinsieme semplificato |
Note di sviluppo
Sezione intitolata “Note di sviluppo”- Radice e namespace: un elemento
<XJDF>sottohttp://www.CIP4.org/JDFSchema_2_0, conTypes="ConventionalPrinting". - Il serializzatore di colore emette
NumColorseColorsUsed.ColorSpec::renderingIntentè mantenuto sul value object ma non viene scritto nell’output semplificato. - La finitura mappa i booleani su operazioni XJDF: fold su
Folding, staple suStitching, punch suHoleMakinge trim suTrimming. Una rilegatura diversa daNoneemette unBindingIntent. - I valori vengono sottoposti a escape XML, non altrimenti validati. Sanificare i nomi e gli identificatori dei job provenienti da fonti esterne prima della costruzione.
Limite di pubblicazione
Sezione intitolata “Limite di pubblicazione”Questa pagina documenta soltanto il comportamento osservabile esternamente e la superficie API pubblica supportata. I percorsi di namespace interni, le classi di supporto, le tabelle dei meccanismi, i nomi dei file di runbook e i prefissi dei ticket sono fuori ambito.