Enterprise edizione
Comune
In sintesi
Sezione intitolata “In sintesi”NextPDF Enterprise include un piccolo insieme di primitive condivise riutilizzate trasversalmente tra i moduli Enterprise. La prima è un riquadro di delimitazione normalizzato per il posizionamento spaziale indipendente dalla risoluzione. Si tratta di value object privi di comportamento di compliance, conformità o crittografico.
Disponibilità e licenza
Sezione intitolata “Disponibilità e licenza”Questa funzionalità è inclusa in NextPDF Enterprise (nextpdf/enterprise) e si attiva con un envelope di licenza di livello Enterprise. Un deployment privo di tale titolarità non carica le classi della funzionalità. Confronta le edizioni e ottieni una licenza.
Il pacchetto Enterprise si installa accanto al pacchetto Core; queste primitive condivise sono consumate internamente dagli altri moduli Enterprise e vengono risolte con il pacchetto. Non hanno un equivalente di livello Core o Pro.
Installazione
Sezione intitolata “Installazione”composer require nextpdf/enterprise:^3Panoramica concettuale
Sezione intitolata “Panoramica concettuale”BoundingBox è un value object immutabile le cui quattro coordinate — x, y, larghezza, altezza — sono normalizzate nell’intervallo [0.0, 1.0] rispetto alle dimensioni della pagina. Poiché le coordinate sono normalizzate, il riquadro è indipendente dalla risoluzione e può essere riutilizzato tra i moduli Enterprise che ragionano sulla geometria della pagina. Il costruttore convalida che ogni coordinata sia entro l’intervallo e che x + width e y + height non superino 1.0 (entro una piccola tolleranza in virgola mobile), sollevando altrimenti un errore di argomento.
Espone area(), contains(self $other) e overlaps(self $other). I riquadri ad area zero (punti o linee degeneri) non possono sovrapporsi per definizione.
Cosa asserisce questo modulo
Sezione intitolata “Cosa asserisce questo modulo”Questo modulo fornisce primitive di geometria convalidate. Non avanza alcuna rivendicazione di compliance o conformità e non esegue alcun I/O.
Confine di livello
Sezione intitolata “Confine di livello”Common è una superficie di supporto esclusiva di Enterprise che gli altri moduli Enterprise consumano. Non duplica né sostituisce la geometria di Core; fornisce le piccole primitive convalidate che i moduli Enterprise condividono.
Perché funziona così
Sezione intitolata “Perché funziona così”La decisione portante è normalizzare ogni coordinata nell’intervallo [0.0, 1.0] e convalidarla nel costruttore. Le coordinate normalizzate rendono il riquadro indipendente dalla risoluzione, così che una regione descritta una sola volta rimanga corretta a qualsiasi dimensione di pagina o scala di rendering. La costruzione fail-closed significa che un riquadro non valido o in overflow non può esistere: il costruttore lo rifiuta invece di applicare clamp o ipotesi. I moduli Enterprise consumatori non ri-verificano quindi mai la geometria che ricevono, perché un riquadro costruito è già noto come valido. L’immutabilità mantiene un riquadro condiviso sicuro da passare tra i moduli senza copie difensive.
Contesto di progettazione: Un’API che si rifiuta di indovinare.
Superficie API
Sezione intitolata “Superficie API”| Classe | Responsabilità |
|---|---|
BoundingBox | Riquadro normalizzato immutabile; area(), contains(), overlaps(). |
Esempio di codice — Avvio rapido
Sezione intitolata “Esempio di codice — Avvio rapido”use NextPDF\Enterprise\Common\BoundingBox;
$box = new BoundingBox(0.1, 0.1, 0.5, 0.2);$inside = $box->contains(new BoundingBox(0.2, 0.15, 0.1, 0.02));Esempio di codice — Produzione
Sezione intitolata “Esempio di codice — Produzione”$region = new BoundingBox($x, $y, $w, $h); // throws on out-of-range input
if ($region->overlaps($redactionZone)) { $logger->info('common.overlap', ['area' => $region->area()]);}Casi limite e insidie
Sezione intitolata “Casi limite e insidie”- Costruire con una qualsiasi coordinata al di fuori di
[0.0, 1.0], oppure conx + width/y + heightoltre 1.0, solleva un errore di argomento — convalidare gli input a monte. - I riquadri ad area zero non si sovrappongono mai; tenerne conto nel calcolo delle intersezioni.
- Le coordinate sono normalizzate, non pixel; convertire al confine del rendering.
Prestazioni
Sezione intitolata “Prestazioni”Tutte le operazioni sono aritmetica a tempo costante su quattro float.
Note di sicurezza
Sezione intitolata “Note di sicurezza”BoundingBox non esegue alcun I/O e non contiene alcun contenuto del documento. Il costruttore rifiuta la geometria al di fuori dell’intervallo, impedendo che valori degeneri si propaghino nei moduli consumatori.
Residenza dei dati e mitigazioni dei dati personali (PII)
Sezione intitolata “Residenza dei dati e mitigazioni dei dati personali (PII)”Questo modulo non contiene alcun dato personale e non esegue alcuna persistenza o I/O di rete. Le considerazioni sulla residenza non si applicano.
Telemetria sicura e sanificazione dei log
Sezione intitolata “Telemetria sicura e sanificazione dei log”Le coordinate e le aree dei riquadri sono geometria non sensibile e sono sicure da registrare.
Conformità
Sezione intitolata “Conformità”Questo modulo non implementa alcuno standard normativo e non avanza alcuna rivendicazione di conformità. È una primitiva di geometria.
Comportamento in modalità FIPS
Sezione intitolata “Comportamento in modalità FIPS”Questo modulo non esegue alcuna operazione crittografica; la modalità FIPS non si applica.
Modello di minaccia
Sezione intitolata “Modello di minaccia”L’unico input sono quattro float. La convalida di intervallo e di limiti del costruttore è la mitigazione: una geometria non valida non può essere costruita.
Contratto di comportamento
Sezione intitolata “Contratto di comportamento”BoundingBoxè un value object immutabile le cui quattro coordinate sono normalizzate nell’intervallo[0.0, 1.0]rispetto alle dimensioni della pagina, rendendolo indipendente dalla risoluzione.- Il costruttore convalida che ogni coordinata sia entro l’intervallo e che
x + widthey + heightnon superino 1.0 (entro una piccola tolleranza in virgola mobile), sollevando altrimenti un errore di argomento. - Espone
area(),contains()eoverlaps(); i riquadri ad area zero non si sovrappongono mai per definizione. - Il modulo non esegue alcun I/O, non contiene alcun contenuto del documento e non avanza alcuna rivendicazione di compliance o conformità.
Confine di pubblicazione
Sezione intitolata “Confine di pubblicazione”Questa pagina documenta solo il comportamento osservabile dall’esterno e la superficie API pubblica supportata. Percorsi di namespace interni, classi helper, tabelle di meccanismi, nomi di file di runbook e prefissi di ticket sono fuori ambito.
Fallback di Core
Sezione intitolata “Fallback di Core”Fallback di Core — nessuno; questa è una primitiva di supporto condivisa esclusiva di Enterprise. Non duplica né sostituisce la geometria di Core e non ha un equivalente a livello Core.
Fallback di Pro
Sezione intitolata “Fallback di Pro”Fallback di Pro — nessuno; questa capacità non ha un equivalente a livello Pro. La primitiva condivisa BoundingBox è inclusa esclusivamente nel pacchetto nextpdf/enterprise.
Nota sul confine Enterprise
Sezione intitolata “Nota sul confine Enterprise”La primitiva di geometria convalidata è descritta a livello di comportamento. È una superficie di supporto esclusiva di Enterprise che gli altri moduli Enterprise consumano; non vi sono sotto-meccanismi interni oltre al contratto documentato.
Confine di distribuzione
Sezione intitolata “Confine di distribuzione”Confine di distribuzione — nessuno applicabile; questo modulo non esegue alcuna persistenza, alcun I/O di rete e non contiene alcun contenuto del documento o dato personale. Non vi è alcuna risorsa di proprietà dell’operatore per questa superficie.
Confine di conformità legale
Sezione intitolata “Confine di conformità legale”Nessuna restrizione di controllo delle esportazioni si applica a questa superficie. Il modulo non implementa alcuno standard normativo e non avanza alcuna rivendicazione di conformità, certificazione o normativa. Questa documentazione non è un parere legale.
Vedere anche
Sezione intitolata “Vedere anche”- Validation — consuma le primitive condivise.
- Evidence — consuma le primitive condivise.
- Common — Deep Reference — riferimento approfondito per le primitive condivise.