Lewati ke konten
getnextpdf.com

Pro edisi

Interop

NextPDF Pro menyediakan satu set berversi dari objek transfer-data hasil (DTO) yang menserialisasi keluaran analisis PDF — info dokumen, halaman, blok teks, segmentasi, dan data formulir — ke bentuk JSON yang stabil dan terkunci-skema untuk dikonsumsi oleh sistem dan perkakas eksternal.

Kemampuan ini hadir dalam NextPDF Pro (nextpdf/pro) dan aktif dengan envelope lisensi tingkat-Pro. Deployment tanpa entitlement tersebut tidak memuat kelas-kelas kemampuan ini. Interop merupakan bagian dari edisi Pro; tidak ada penanda lisensi per-fitur terpisah. Bandingkan edisi dan dapatkan lisensi.

Terminal window
composer require nextpdf/pro:^3

Ketika keluaran pemrosesan PDF melintasi batas proses atau layanan, penerima membutuhkan kontrak yang stabil. Permukaan Interop V1 menyediakannya:

  • InteropResultInterface — setiap DTO hasil mengimplementasikan ini. Masing-masing menserialisasi ke array aman-JSON yang selalu membawa kunci schema_version, dan ke string JSON.
  • DTO hasilDocumentInfo, PageInfo, BoundingBox, ExtractedText / ExtractedPage / TextBlock, DocumentSegmentation / Segment, dan FormData / FormField. Masing-masing adalah tampilan imutabel dari satu hasil analisis.
  • SchemaLock — sebuah penjaga CI. Ia menyimpan SHA-256 dari skema yang dibekukan dan menggagalkan build jika berkas skema berubah tanpa version bump yang sesuai, sehingga kontrak wire tidak dapat melenceng secara diam-diam.

Permukaan Interop diberi versi secara eksplisit (SCHEMA_VERSION). Perlakukan ia sebagai kontrak API publik: perubahan aditif menaikkan skema; perubahan yang memutus membutuhkan versi mayor baru.

Bentuk serialisasi diperlakukan sebagai kontrak API publik, bukan detail implementasi. Setiap DTO membawa kunci schema_version, sehingga konsumen bercabang berdasarkan bentuk yang mereka terima alih-alih menebak. SchemaLock menyematkan SHA-256 dari skema yang dibekukan di CI, sehingga format tidak dapat melenceng tanpa version bump. Itulah yang memungkinkan sistem eksternal membangun terhadap JSON dengan aman: kontrak bergerak hanya ketika versinya bergerak. Keluarannya tetap portabel — data yang terdokumentasi, berversi, dan Anda miliki, bukan bentuk yang berubah di bawah Anda.

Latar belakang desain: Open core, tanpa lock-in.

ClassResponsibility
InteropResultInterfaceKontrak serialisasi bersama.
DocumentInfo, PageInfo, BoundingBoxDTO dokumen/halaman umum.
ExtractedText, ExtractedPage, TextBlockDTO ekstraksi-teks.
DocumentSegmentation, SegmentDTO segmentasi-dokumen.
FormData, FormFieldDTO data-formulir.
SchemaLockPenjaga drift-skema CI.
$json = $result->toJson(JSON_PRETTY_PRINT);
$array = $result->toArray(); // includes 'schema_version'
use NextPDF\Pro\Interop\V1\SchemaLock;
if (! SchemaLock::verify()) {
throw new RuntimeException('Interop schema drift detected — version bump required.');
}
$payload = $result->toArray();
$httpClient->postJson($endpoint, $payload);
  • toArray() selalu menyertakan schema_version; konsumen hilir sebaiknya bercabang padanya.
  • SchemaLock::verify() mengembalikan false jika berkas skema hilang atau dimodifikasi.
  • DTO adalah tampilan read-only; ia tidak menjalankan ulang analisis.

Serialisasi bersifat linear terhadap ukuran graf hasil.

DTO hanya membawa keluaran analisis yang Anda isi. Tidak ada I/O sistem berkas atau jaringan yang terjadi selama serialisasi.

Interop mendefinisikan skema berversi milik-NextPDF; ia tidak mengimplementasikan standar eksternal.

  • Setiap DTO hasil mengimplementasikan InteropResultInterface dan menserialisasi ke array aman-JSON yang selalu membawa kunci schema_version, dan ke string JSON.
  • DTO hasil (DocumentInfo, PageInfo, BoundingBox, ExtractedText/ExtractedPage/TextBlock, DocumentSegmentation/Segment, FormData/FormField) adalah tampilan read-only yang imutabel; ia tidak menjalankan ulang analisis.
  • SchemaLock::verify() menyimpan SHA-256 dari skema yang dibekukan dan mengembalikan false jika berkas skema hilang atau dimodifikasi, sehingga kontrak wire tidak dapat melenceng secara diam-diam.
  • Permukaan diberi versi secara eksplisit (SCHEMA_VERSION): perubahan aditif menaikkan skema; perubahan yang memutus membutuhkan versi mayor baru.
  • Tidak ada I/O sistem berkas atau jaringan yang terjadi selama serialisasi.

Enterprise tidak mengubah perilaku Interop. Enterprise menambahkan fitur tingkat-lebih-tinggi yang didokumentasikan terpisah; fitur tersebut tidak diwajibkan untuk menggunakan DTO hasil berversi.

Tidak ada padanan Core untuk DTO hasil yang terkunci-skema dan berversi. Ini adalah tambahan Pro.

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