Lewati ke konten
getnextpdf.com

Enterprise edisi

Common

NextPDF Enterprise menyertakan sekumpulan kecil primitif bersama yang dipakai ulang di seluruh modul Enterprise. Yang pertama adalah bounding box ternormalisasi untuk pemosisian spasial yang independen-resolusi. Ini adalah value object tanpa perilaku kepatuhan, kesesuaian, atau kriptografi.

Kapabilitas ini disertakan dalam NextPDF Enterprise (nextpdf/enterprise) dan diaktifkan dengan envelope lisensi tingkat-Enterprise. Deployment tanpa entitlement tersebut tidak memuat kelas-kelas kapabilitas ini. Bandingkan edisi dan dapatkan lisensi.

Paket Enterprise dipasang di samping paket Core; primitif bersama ini dikonsumsi secara internal oleh modul Enterprise lainnya dan ter-resolve bersama paketnya. Primitif ini tidak memiliki padanan tingkat-Core maupun tingkat-Pro.

Terminal window
composer require nextpdf/enterprise:^3

BoundingBox adalah value object imutabel yang keempat koordinatnya — x, y, width, height — dinormalisasi ke rentang [0.0, 1.0] relatif terhadap dimensi halaman. Karena koordinatnya dinormalisasi, box bersifat independen-resolusi dan dapat dipakai ulang di seluruh modul Enterprise yang menalar geometri halaman. Konstruktor memvalidasi bahwa setiap koordinat berada dalam rentang dan bahwa x + width serta y + height tidak melebihi 1.0 (dalam toleransi titik-mengambang kecil), dan memunculkan galat argumen jika tidak.

Ia memaparkan area(), contains(self $other), dan overlaps(self $other). Box berluas-nol (titik atau garis degenerat) tidak dapat saling tumpang-tindih menurut definisi.

Modul ini menyediakan primitif geometri tervalidasi. Modul ini tidak membuat klaim kepatuhan atau kesesuaian dan tidak melakukan I/O.

Common adalah permukaan dukungan khusus-Enterprise yang dikonsumsi oleh modul Enterprise lainnya. Modul ini tidak menduplikasi atau menggantikan geometri Core; modul ini menyediakan primitif kecil tervalidasi yang dibagikan oleh modul-modul Enterprise.

Keputusan penopang adalah menormalisasi setiap koordinat ke rentang [0.0, 1.0] dan memvalidasinya di dalam konstruktor. Koordinat ternormalisasi membuat box menjadi independen-resolusi, sehingga sebuah region yang dideskripsikan sekali tetap benar pada ukuran halaman atau skala render apa pun. Konstruksi yang fail-closed berarti box yang tidak valid atau meluap tidak dapat eksis: konstruktor menolaknya, bukan menjepit (clamp) atau menebak. Karena itu modul Enterprise yang mengonsumsi tidak pernah memeriksa ulang geometri yang mereka terima, sebab box yang telah dikonstruksi sudah diketahui valid. Imutabilitas menjaga sebuah box bersama tetap aman untuk dilewatkan antarmodul tanpa salinan defensif. Latar belakang desain: API yang menolak menebak.

ClassTanggung jawab
BoundingBoxBox ternormalisasi imutabel; 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()]);
}
  • Mengonstruksi dengan koordinat mana pun di luar [0.0, 1.0], atau dengan x + width / y + height melebihi 1.0, memunculkan galat argumen — validasi masukan di hulu.
  • Box berluas-nol tidak pernah saling tumpang-tindih; perhitungkan itu saat menghitung perpotongan.
  • Koordinat dinormalisasi, bukan piksel; konversikan pada batas perenderan.

Semua operasi adalah aritmetika waktu-konstan pada empat float.

BoundingBox tidak melakukan I/O dan tidak menyimpan konten dokumen. Konstruktor menolak geometri di luar rentang, mencegah nilai degenerat merambat ke modul yang mengonsumsinya.

Modul ini tidak menyimpan data pribadi dan tidak melakukan persistensi atau I/O jaringan. Pertimbangan residensi tidak berlaku.

Koordinat dan luas box adalah geometri non-sensitif dan aman untuk dicatat.

Modul ini tidak mengimplementasikan standar normatif apa pun dan tidak membuat klaim kesesuaian. Ini adalah primitif geometri.

Modul ini tidak melakukan operasi kriptografi; mode FIPS tidak berlaku.

Satu-satunya masukan adalah empat float. Validasi rentang dan batas pada konstruktor adalah mitigasinya: geometri tidak valid tidak dapat dikonstruksi.

  • BoundingBox adalah value object imutabel yang keempat koordinatnya dinormalisasi ke rentang [0.0, 1.0] relatif terhadap dimensi halaman, sehingga independen-resolusi.
  • Konstruktor memvalidasi bahwa setiap koordinat berada dalam rentang dan bahwa x + width serta y + height tidak melebihi 1.0 (dalam toleransi titik-mengambang kecil), dan memunculkan galat argumen jika tidak.
  • Ia memaparkan area(), contains(), dan overlaps(); box berluas-nol tidak pernah saling tumpang-tindih menurut definisi.
  • Modul ini tidak melakukan I/O, tidak menyimpan konten dokumen, dan tidak membuat klaim kepatuhan atau kesesuaian.

Halaman ini hanya mendokumentasikan perilaku yang dapat diamati secara eksternal dan permukaan API publik yang didukung. Path namespace internal, kelas helper, tabel mekanisme, nama berkas runbook, dan prefiks tiket berada di luar cakupan.

Fallback Core — tidak ada; ini adalah primitif dukungan bersama khusus-Enterprise. Modul ini tidak menduplikasi atau menggantikan geometri Core dan tidak memiliki padanan tingkat-Core.

Fallback Pro — tidak ada; kapabilitas ini tidak memiliki padanan tingkat-Pro. Primitif BoundingBox bersama disertakan hanya dalam paket nextpdf/enterprise.

Primitif geometri tervalidasi dijelaskan pada tingkat perilaku. Ini adalah permukaan dukungan khusus-Enterprise yang dikonsumsi oleh modul Enterprise lainnya; tidak ada sub-mekanisme internal di luar kontrak yang didokumentasikan.

Batas penerapan — tidak ada yang berlaku; modul ini tidak melakukan persistensi, tidak melakukan I/O jaringan, dan tidak menyimpan konten dokumen atau data pribadi. Tidak ada sumber daya milik operator untuk permukaan ini.

Tidak ada pembatasan kontrol-ekspor yang berlaku pada permukaan ini. Modul ini tidak mengimplementasikan standar normatif apa pun dan tidak membuat klaim kesesuaian, sertifikasi, atau regulasi. Dokumentasi ini bukan opini hukum.