Enterprise editie
Common
In één oogopslag
Sectie met titel “In één oogopslag”NextPDF Enterprise levert een kleine set gedeelde primitieven die in Enterprise-modules worden hergebruikt. De eerste is een genormaliseerde bounding box voor resolutie-onafhankelijke ruimtelijke positionering. Dit zijn value objects zonder compliance-, conformiteits- of cryptografisch gedrag.
Beschikbaarheid en licentie
Sectie met titel “Beschikbaarheid en licentie”Deze functie wordt geleverd in NextPDF Enterprise (nextpdf/enterprise) en wordt geactiveerd met een licentie-envelop op Enterprise-niveau. Een deployment zonder die entitlement laadt de classes van de functie niet. Vergelijk edities en verkrijg een licentie.
Het Enterprise-pakket wordt naast het Core-pakket geïnstalleerd; deze gedeelde primitieven worden intern gebruikt door de andere Enterprise-modules en worden met het pakket geresolved. Ze hebben geen equivalent op Core- of Pro-niveau.
Installatie
Sectie met titel “Installatie”composer require nextpdf/enterprise:^3Conceptueel overzicht
Sectie met titel “Conceptueel overzicht”BoundingBox is een onveranderlijk value object waarvan de vier coördinaten — x, y, width, height — zijn genormaliseerd naar het bereik [0.0, 1.0] relatief ten opzichte van de pagina-afmetingen. Omdat de coördinaten zijn genormaliseerd, is de box resolutie-onafhankelijk en kan deze worden hergebruikt in Enterprise-modules die over pagina-geometrie redeneren. De constructor valideert dat elke coördinaat binnen het bereik valt en dat x + width en y + height niet groter zijn dan 1.0 (binnen een kleine floating-point-tolerantie), en gooit anders een argumentfout.
Het biedt area(), contains(self $other) en overlaps(self $other). Boxen met een oppervlakte van nul (gedegenereerde punten of lijnen) kunnen per definitie niet overlappen.
Wat deze module claimt
Sectie met titel “Wat deze module claimt”Deze module levert gevalideerde geometrieprimitieven. Het doet geen compliance- of conformiteitsclaim en voert geen I/O uit.
Tiergrens
Sectie met titel “Tiergrens”Common is een Enterprise-only ondersteuningsoppervlak dat andere Enterprise-modules verbruiken. Het dupliceert of vervangt de Core-geometrie niet; het levert de kleine, gevalideerde primitieven die de Enterprise-modules delen.
Waarom het zo werkt
Sectie met titel “Waarom het zo werkt”De doorslaggevende beslissing is om elke coördinaat te normaliseren naar het bereik [0.0, 1.0] en deze in de constructor te valideren. Genormaliseerde coördinaten maken de box resolutie-onafhankelijk, zodat een gebied dat eenmaal is beschreven correct blijft bij elk paginaformaat of elke renderschaal. Fail-closed-constructie betekent dat een ongeldige of overlopende box niet kan bestaan: de constructor wijst deze af in plaats van te clampen of te gissen. Verbruikende Enterprise-modules hoeven daarom de geometrie die ze ontvangen nooit opnieuw te controleren, omdat een geconstrueerde box al bekend-geldig is. Onveranderlijkheid houdt een gedeelde box veilig om zonder defensieve kopieën tussen modules door te geven.
Ontwerpachtergrond: Een API die weigert te gissen.
API-oppervlak
Sectie met titel “API-oppervlak”| Class | Verantwoordelijkheid |
|---|---|
BoundingBox | Onveranderlijke genormaliseerde box; area(), contains(), overlaps(). |
Codevoorbeeld — Snelstart
Sectie met titel “Codevoorbeeld — Snelstart”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));Codevoorbeeld — Productie
Sectie met titel “Codevoorbeeld — Productie”$region = new BoundingBox($x, $y, $w, $h); // throws on out-of-range input
if ($region->overlaps($redactionZone)) { $logger->info('common.overlap', ['area' => $region->area()]);}Randgevallen en valkuilen
Sectie met titel “Randgevallen en valkuilen”- Construeren met een coördinaat buiten
[0.0, 1.0], of metx + width/y + heightboven 1.0, gooit een argumentfout — valideer de invoer upstream. - Boxen met een oppervlakte van nul overlappen nooit; houd daar rekening mee bij het berekenen van doorsneden.
- Coördinaten zijn genormaliseerd, geen pixels; converteer op de rendergrens.
Prestaties
Sectie met titel “Prestaties”Alle operaties zijn constante-tijd rekenkundige bewerkingen op vier floats.
Beveiligingsnotities
Sectie met titel “Beveiligingsnotities”BoundingBox voert geen I/O uit en bevat geen documentinhoud. De constructor weigert geometrie buiten het bereik, waardoor gedegenereerde waarden niet kunnen doorsijpelen naar verbruikende modules.
Datalocatie en PII-mitigaties
Sectie met titel “Datalocatie en PII-mitigaties”Deze module bevat geen persoonsgegevens en voert geen persistentie of netwerk-I/O uit. Overwegingen rond gegevenslocatie zijn niet van toepassing.
Veilige telemetrie en logscrubbing
Sectie met titel “Veilige telemetrie en logscrubbing”Box-coördinaten en oppervlaktes zijn niet-gevoelige geometrie en zijn veilig om te loggen.
Conformiteit
Sectie met titel “Conformiteit”Deze module implementeert geen normatieve standaard en doet geen conformiteitsclaim. Het is een geometrieprimitieve.
FIPS-modusgedrag
Sectie met titel “FIPS-modusgedrag”Deze module voert geen cryptografische operaties uit; de FIPS-modus is niet van toepassing.
Dreigingsmodel
Sectie met titel “Dreigingsmodel”De enige invoer bestaat uit vier floats. De bereik- en grensvalidatie van de constructor is de mitigatie: ongeldige geometrie kan niet worden geconstrueerd.
Gedragscontract
Sectie met titel “Gedragscontract”BoundingBoxis een onveranderlijk value object waarvan de vier coördinaten zijn genormaliseerd naar het bereik[0.0, 1.0]relatief ten opzichte van de pagina-afmetingen, waardoor het resolutie-onafhankelijk is.- De constructor valideert dat elke coördinaat binnen het bereik valt en dat
x + widtheny + heightniet groter zijn dan 1.0 (binnen een kleine floating-point-tolerantie), en gooit anders een argumentfout. - Het biedt
area(),contains()enoverlaps(); boxen met een oppervlakte van nul overlappen per definitie nooit. - De module voert geen I/O uit, bevat geen documentinhoud en doet geen compliance- of conformiteitsclaim.
Publicatiegrens
Sectie met titel “Publicatiegrens”Deze pagina documenteert alleen extern waarneembaar gedrag en het ondersteunde publieke API-oppervlak. Interne namespace-paden, helper-classes, mechanismetabellen, runbook-bestandsnamen en ticketprefixen vallen buiten de scope.
Core-fallback
Sectie met titel “Core-fallback”Core-fallback — geen; dit is een Enterprise-only gedeelde ondersteuningsprimitieve. Het dupliceert of vervangt de Core-geometrie niet en heeft geen equivalent op Core-niveau.
Pro-fallback
Sectie met titel “Pro-fallback”Pro-fallback — geen; deze capaciteit heeft geen equivalent op Pro-niveau. De gedeelde BoundingBox-primitieve wordt uitsluitend in het pakket nextpdf/enterprise geleverd.
Enterprise-grensnotitie
Sectie met titel “Enterprise-grensnotitie”De gevalideerde geometrieprimitieve wordt op gedragsniveau beschreven. Het is een Enterprise-only ondersteuningsoppervlak dat andere Enterprise-modules verbruiken; er zijn geen interne submechanismen buiten het gedocumenteerde contract.
Implementatiegrens
Sectie met titel “Implementatiegrens”Implementatiegrens — geen van toepassing; deze module voert geen persistentie, geen netwerk-I/O uit en bevat geen documentinhoud of persoonsgegevens. Er is geen door de operator beheerde resource voor dit oppervlak.
Juridisch-compliancegrens
Sectie met titel “Juridisch-compliancegrens”Voor dit oppervlak geldt geen exportcontrolebeperking. De module implementeert geen normatieve standaard en doet geen conformiteits-, certificerings- of regelgevingsclaim. Deze documentatie is geen juridisch oordeel.
Zie ook
Sectie met titel “Zie ook”- Validation — verbruikt gedeelde primitieven.
- Evidence — verbruikt gedeelde primitieven.
- Common — Deep Reference — deep reference voor de gedeelde primitieven.