Zum Inhalt springen
getnextpdf.com

Enterprise Edition

Common

NextPDF Enterprise liefert eine kleine Menge gemeinsamer Primitive, die über Enterprise-Module hinweg wiederverwendet werden. Das erste ist eine normalisierte Bounding Box für auflösungsunabhängige räumliche Positionierung. Dies sind Value Objects ohne Compliance-, Konformitäts- oder kryptografisches Verhalten.

Diese Fähigkeit wird in NextPDF Enterprise (nextpdf/enterprise) ausgeliefert und aktiviert sich mit einem Lizenz-Envelope der Enterprise-Stufe. Eine Bereitstellung ohne diese Berechtigung lädt die Klassen der Fähigkeit nicht. Editionen vergleichen und Lizenz erwerben.

Das Enterprise-Paket installiert sich neben dem Core-Paket; diese gemeinsamen Primitive werden intern von den anderen Enterprise-Modulen konsumiert und werden mit dem Paket aufgelöst. Sie haben kein Äquivalent auf der Core-Stufe oder der Pro-Stufe.

Terminal-Fenster
composer require nextpdf/enterprise:^3

BoundingBox ist ein unveränderliches Value Object, dessen vier Koordinaten — x, y, width, height — relativ zu den Seitendimensionen auf den Bereich [0.0, 1.0] normalisiert sind. Weil die Koordinaten normalisiert sind, ist die Box auflösungsunabhängig und kann über Enterprise-Module hinweg wiederverwendet werden, die über Seitengeometrie räsonieren. Der Konstruktor validiert, dass jede Koordinate im Bereich liegt und dass x + width und y + height 1.0 nicht überschreiten (innerhalb einer kleinen Gleitkomma-Toleranz), und löst andernfalls einen Argumentfehler aus.

Es stellt area(), contains(self $other) und overlaps(self $other) bereit. Boxen mit null Fläche (entartete Punkte oder Linien) können sich per Definition nicht überlappen.

Dieses Modul stellt validierte Geometrie-Primitive bereit. Es erhebt keinen Compliance- oder Konformitätsanspruch und führt keine I/O aus.

Common ist eine Enterprise-exklusive Support-Oberfläche, die andere Enterprise-Module konsumieren. Es dupliziert oder ersetzt die Core-Geometrie nicht; es stellt die kleinen, validierten Primitive bereit, die die Enterprise-Module teilen.

Die tragende Entscheidung ist, jede Koordinate auf den Bereich [0.0, 1.0] zu normalisieren und sie im Konstruktor zu validieren. Normalisierte Koordinaten machen die Box auflösungsunabhängig, sodass eine einmal beschriebene Region bei jeder Seitengröße oder jedem Render-Maßstab korrekt bleibt. Fail-closed-Konstruktion bedeutet, dass eine ungültige oder überlaufende Box nicht existieren kann: Der Konstruktor weist sie zurück, statt zu begrenzen oder zu raten. Konsumierende Enterprise-Module überprüfen daher nie erneut die Geometrie, die sie erhalten, weil eine konstruierte Box bereits als gültig bekannt ist. Unveränderlichkeit macht eine gemeinsame Box sicher weitergebbar zwischen Modulen ohne defensive Kopien. Designhintergrund: Eine API, die sich weigert zu raten.

ClassResponsibility
BoundingBoxUnveränderliche normalisierte Box; area(), contains(), overlaps().
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));
$region = new BoundingBox($x, $y, $w, $h); // throws on out-of-range input
if ($region->overlaps($redactionZone)) {
$logger->info('common.overlap', ['area' => $region->area()]);
}
  • Das Konstruieren mit einer Koordinate außerhalb von [0.0, 1.0] oder mit x + width / y + height über 1.0 löst einen Argumentfehler aus — validieren Sie Eingaben vorgelagert.
  • Boxen mit null Fläche überlappen sich nie; berücksichtigen Sie das bei der Berechnung von Schnittmengen.
  • Koordinaten sind normalisiert, keine Pixel; konvertieren Sie an der Rendering-Grenze.

Alle Operationen sind konstantzeitige Arithmetik auf vier Floats.

BoundingBox führt keine I/O aus und hält keinen Dokumenteninhalt. Der Konstruktor weist Geometrie außerhalb des Bereichs zurück und verhindert so, dass entartete Werte in konsumierende Module übergehen.

Dieses Modul hält keine personenbezogenen Daten und führt keine Persistenz oder Netzwerk-I/O aus. Residenzerwägungen sind nicht anwendbar.

Box-Koordinaten und -Flächen sind nicht-sensible Geometrie und sicher zu protokollieren.

Dieses Modul implementiert keinen normativen Standard und erhebt keinen Konformitätsanspruch. Es ist ein Geometrie-Primitiv.

Dieses Modul führt keine kryptografischen Operationen aus; der FIPS-Modus ist nicht anwendbar.

Die einzige Eingabe sind vier Floats. Die Bereichs- und Grenzvalidierung des Konstruktors ist die Mitigation: ungültige Geometrie kann nicht konstruiert werden.

  • BoundingBox ist ein unveränderliches Value Object, dessen vier Koordinaten relativ zu den Seitendimensionen auf den Bereich [0.0, 1.0] normalisiert sind, was es auflösungsunabhängig macht.
  • Der Konstruktor validiert, dass jede Koordinate im Bereich liegt und dass x + width und y + height 1.0 nicht überschreiten (innerhalb einer kleinen Gleitkomma-Toleranz), und löst andernfalls einen Argumentfehler aus.
  • Es stellt area(), contains() und overlaps() bereit; Boxen mit null Fläche überlappen sich per Definition nie.
  • Das Modul führt keine I/O aus, hält keinen Dokumenteninhalt und erhebt keinen Compliance- oder Konformitätsanspruch.

Diese Seite dokumentiert ausschließlich extern beobachtbares Verhalten und die unterstützte öffentliche API-Oberfläche. Interne Namespace-Pfade, Hilfsklassen, Mechanismustabellen, Runbook-Dateinamen und Ticket-Präfixe liegen außerhalb des Geltungsbereichs.

Core-Fallback — keiner; dies ist ein Enterprise-exklusives gemeinsames Support-Primitiv. Es dupliziert oder ersetzt die Core-Geometrie nicht und hat kein Core-Stufen-Äquivalent.

Pro-Fallback — keiner; diese Fähigkeit hat kein Pro-Stufen-Äquivalent. Das gemeinsame BoundingBox-Primitiv wird ausschließlich im Paket nextpdf/enterprise ausgeliefert.

Das validierte Geometrie-Primitiv wird auf Verhaltensebene beschrieben. Es ist eine Enterprise-exklusive Support-Oberfläche, die andere Enterprise-Module konsumieren; es gibt keine internen Sub-Mechanismen über den dokumentierten Vertrag hinaus.

Bereitstellungsgrenze — keine anwendbar; dieses Modul führt keine Persistenz, keine Netzwerk-I/O aus und hält keinen Dokumenteninhalt und keine personenbezogenen Daten. Für diese Oberfläche gibt es keine vom Betreiber verantwortete Ressource.

Für diese Oberfläche gilt keine exportkontrollrechtliche Beschränkung. Das Modul implementiert keinen normativen Standard und erhebt keinen Konformitäts-, Zertifizierungs- oder regulatorischen Anspruch. Diese Dokumentation ist kein Rechtsgutachten.