Aller au contenu
getnextpdf.com

Enterprise édition

Common

NextPDF Enterprise livre un petit ensemble de primitives partagées réutilisées dans tous les modules Enterprise. La première est une boîte englobante normalisée pour un positionnement spatial indépendant de la résolution. Ce sont des objets-valeurs sans aucun comportement de conformité, d’attestation de conformité ni cryptographique.

Cette capacité est livrée dans NextPDF Enterprise (nextpdf/enterprise) et s’active avec une enveloppe de licence de palier Enterprise. Un déploiement sans ce droit ne charge pas les classes de la capacité. Compare les éditions et obtiens une licence.

Le paquet Enterprise s’installe à côté du paquet Core ; ces primitives partagées sont consommées en interne par les autres modules Enterprise et se résolvent avec le paquet. Elles n’ont aucun équivalent au palier Core ni au palier Pro.

Fenêtre de terminal
composer require nextpdf/enterprise:^3

BoundingBox est un objet-valeur immuable dont les quatre coordonnées — x, y, largeur, hauteur — sont normalisées dans la plage [0.0, 1.0] relativement aux dimensions de la page. Parce que les coordonnées sont normalisées, la boîte est indépendante de la résolution et peut être réutilisée dans les modules Enterprise qui raisonnent sur la géométrie de la page. Le constructeur valide que chaque coordonnée est dans la plage et que x + width et y + height ne dépassent pas 1.0 (à une petite tolérance en virgule flottante près), levant une erreur d’argument sinon.

Il expose area(), contains(self $other) et overlaps(self $other). Les boîtes d’aire nulle (points ou lignes dégénérés) ne peuvent par définition pas se chevaucher.

Ce module fournit des primitives de géométrie validées. Il ne formule aucune revendication de conformité ni d’attestation de conformité et n’effectue aucune E/S.

Common est une surface de support réservée à Enterprise que les autres modules Enterprise consomment. Il ne duplique ni ne remplace la géométrie du Core ; il fournit les petites primitives validées que les modules Enterprise partagent.

La décision porteuse est de normaliser chaque coordonnée dans la plage [0.0, 1.0] et de la valider dans le constructeur. Les coordonnées normalisées rendent la boîte indépendante de la résolution, si bien qu’une région décrite une fois reste correcte à n’importe quelle taille de page ou échelle de rendu. La construction fail-closed signifie qu’une boîte invalide ou en dépassement ne peut pas exister : le constructeur la rejette plutôt que de la borner ou de deviner. Les modules Enterprise consommateurs ne revérifient donc jamais la géométrie qu’ils reçoivent, car une boîte construite est déjà connue comme valide. L’immuabilité permet de partager une boîte en toute sécurité entre modules sans copies défensives. Contexte de conception : Une API qui refuse de deviner.

ClasseResponsabilité
BoundingBoxBoîte normalisée immuable ; 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()]);
}
  • Construire avec une coordonnée hors de [0.0, 1.0], ou avec x + width / y + height au-delà de 1.0, lève une erreur d’argument — valide les entrées en amont.
  • Les boîtes d’aire nulle ne se chevauchent jamais ; tiens-en compte lors du calcul des intersections.
  • Les coordonnées sont normalisées, pas en pixels ; convertis à la frontière du rendu.

Toutes les opérations sont de l’arithmétique à temps constant sur quatre flottants.

BoundingBox n’effectue aucune E/S et ne détient aucun contenu de document. Le constructeur rejette une géométrie hors plage, empêchant les valeurs dégénérées de se propager vers les modules consommateurs.

Résidence des données et mesures d’atténuation des PII

Section intitulée « Résidence des données et mesures d’atténuation des PII »

Ce module ne détient aucune donnée personnelle et n’effectue aucune persistance ni E/S réseau. Les considérations de résidence ne s’appliquent pas.

Les coordonnées et les aires des boîtes sont une géométrie non sensible et peuvent être journalisées en toute sécurité.

Ce module n’implémente aucune norme normative et ne formule aucune revendication d’attestation de conformité. C’est une primitive de géométrie.

Ce module n’effectue aucune opération cryptographique ; le mode FIPS ne s’applique pas.

La seule entrée est quatre flottants. La validation de plage et de bornes du constructeur est la mesure d’atténuation : une géométrie invalide ne peut pas être construite.

  • BoundingBox est un objet-valeur immuable dont les quatre coordonnées sont normalisées dans la plage [0.0, 1.0] relativement aux dimensions de la page, ce qui le rend indépendant de la résolution.
  • Le constructeur valide que chaque coordonnée est dans la plage et que x + width et y + height ne dépassent pas 1.0 (à une petite tolérance en virgule flottante près), levant une erreur d’argument sinon.
  • Il expose area(), contains() et overlaps() ; les boîtes d’aire nulle ne se chevauchent jamais par définition.
  • Le module n’effectue aucune E/S, ne détient aucun contenu de document et ne formule aucune revendication de conformité ni d’attestation de conformité.

Cette page documente uniquement le comportement observable de l’extérieur et la surface d’API publique prise en charge. Les chemins d’espace de noms internes, les classes utilitaires, les tables de mécanismes, les noms de fichiers de runbook et les préfixes de ticket sont hors périmètre.

Repli sur le Core — aucun ; c’est une primitive de support partagée réservée à Enterprise. Elle ne duplique ni ne remplace la géométrie du Core et n’a aucun équivalent au palier Core.

Repli sur Pro — aucun ; cette capacité n’a aucun équivalent au palier Pro. La primitive partagée BoundingBox est livrée uniquement dans le paquet nextpdf/enterprise.

La primitive de géométrie validée est décrite au niveau du comportement. C’est une surface de support réservée à Enterprise que les autres modules Enterprise consomment ; il n’y a aucun sous-mécanisme interne au-delà du contrat documenté.

Frontière de déploiement — aucune applicable ; ce module n’effectue aucune persistance, aucune E/S réseau, et ne détient aucun contenu de document ni donnée personnelle. Il n’y a aucune ressource gérée par l’opérateur pour cette surface.

Aucune restriction de contrôle des exportations ne s’applique à cette surface. Le module n’implémente aucune norme normative et ne formule aucune revendication d’attestation de conformité, de certification ni réglementaire. Cette documentation n’est pas un avis juridique.