تخطَّ إلى المحتوى
getnextpdf.com

Pro الإصدار

Interop

يوفّر ⁨NextPDF Pro⁩ مجموعة مُصدَّرة من كائنات نقل بيانات النتائج (⁨DTOs⁩) التي تُسلسِل مخرَج تحليل ⁨PDF⁩ — معلومات المستند، والصفحات، وكتل النص، والتجزئة، وبيانات النماذج — إلى شكل ⁨JSON⁩ مستقر ومُقفَل المخطّط للاستهلاك من قِبل الأنظمة والأدوات الخارجية.

تتوفّر هذه الإمكانية في ⁨NextPDF Pro⁩ (nextpdf/pro) وتُفعَّل بمظروف ترخيص من طبقة ⁨Pro⁩. النشر الذي يفتقر إلى ذلك الاستحقاق لا يُحمِّل أصناف الإمكانية. ⁨Interop⁩ جزء من إصدار ⁨Pro⁩؛ ولا يوجد علم ترخيص منفصل لكل ميزة. ‏قارن الإصدارات واحصل على ترخيص.

Terminal window
composer require nextpdf/pro:^3

عندما يعبر مخرَج معالجة ⁨PDF⁩ حدّ عملية أو خدمة، يحتاج المُستقبِل إلى عقد مستقر. يوفّر سطح ⁨Interop V1⁩ ذلك:

  • InteropResultInterface — ينفّذ هذا كلُّ كائن نقل بيانات نتائج. يُسلسِل كلٌّ منها إلى مصفوفة آمنة لـ ⁨JSON⁩ تحمل دائمًا مفتاح schema_version، وإلى سلسلة ⁨JSON.⁩
  • كائنات نقل بيانات النتائجDocumentInfo وPageInfo وBoundingBox، وExtractedText / ExtractedPage / TextBlock، وDocumentSegmentation / Segment، وFormData / FormField. كلٌّ منها رؤية غير قابلة للتغيير لنتيجة تحليل واحدة.
  • SchemaLock — حارس تكامل مستمر. يحمل ⁨SHA-256⁩ للمخطّط المُجمَّد ويُفشِل البناء إذا تغيّر ملف المخطّط دون رفع نسخة مقابل، بحيث لا ينحرف عقد السلك بصمت.

سطح ⁨Interop⁩ مُصدَّر صراحةً (SCHEMA_VERSION). عامِله بوصفه عقد ⁨API⁩ عامًا: التغييرات الإضافية ترفع المخطّط؛ والتغييرات الكاسرة تتطلّب نسخة رئيسية جديدة.

يُعامَل شكل التسلسل بوصفه عقد ⁨API⁩ عامًا، لا تفصيلًا تنفيذيًا. يحمل كلُّ كائن نقل بيانات مفتاح schema_version، فيتفرّع المستهلكون بناءً على الشكل الذي يستقبلونه بدلًا من التخمين. يثبّت SchemaLock قيمة ⁨SHA-256⁩ للمخطّط المُجمَّد في ⁨CI⁩، فلا يمكن أن ينحرف الشكل دون رفع نسخة. هذا ما يتيح للأنظمة الخارجية البناء على ⁨JSON⁩ بأمان: لا يتحرّك العقد إلا حين تتحرّك النسخة. يبقى المخرَج محمولًا — بيانات موثَّقة ومُصدَّرة تملكها، لا شكلًا يتبدّل من تحتك.

خلفية التصميم: ‏نواة مفتوحة، دون احتكار.

الصنفالمسؤولية
InteropResultInterfaceعقد التسلسل المشترك.
DocumentInfo, PageInfo, BoundingBoxكائنات نقل بيانات المستند/الصفحة المشتركة.
ExtractedText, ExtractedPage, TextBlockكائنات نقل بيانات استخراج النص.
DocumentSegmentation, Segmentكائنات نقل بيانات تجزئة المستند.
FormData, FormFieldكائنات نقل بيانات النماذج.
SchemaLockحارس انحراف المخطّط المستمر.
$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() دائمًا schema_version؛ وعلى المستهلكين في المصبّ التفرّع بناءً عليه.
  • يُعيد SchemaLock::verify() القيمة false إذا كان ملف المخطّط مفقودًا أو مُعدَّلًا.
  • كائنات نقل البيانات رؤى للقراءة فقط؛ وهي لا تُعيد تشغيل التحليل.

التسلسل خطّي بحجم رسم النتيجة.

تحمل كائنات نقل البيانات مخرَج التحليل الذي تملؤه فقط. لا يحدث أي إدخال/إخراج لنظام الملفات أو الشبكة أثناء التسلسل.

يُعرّف ⁨Interop⁩ مخطّطًا مُصدَّرًا مملوكًا لـ ⁨NextPDF⁩؛ وهو لا ينفّذ معيارًا خارجيًا.

  • ينفّذ كلُّ كائن نقل بيانات نتائج InteropResultInterface ويُسلسِل إلى مصفوفة آمنة لـ ⁨JSON⁩ تحمل دائمًا مفتاح schema_version، وإلى سلسلة ⁨JSON.⁩
  • كائنات نقل بيانات النتائج (DocumentInfo وPageInfo وBoundingBox، وExtractedText/ExtractedPage/TextBlock، وDocumentSegmentation/Segment، وFormData/FormField) رؤى غير قابلة للتغيير للقراءة فقط؛ وهي لا تُعيد تشغيل التحليل.
  • يحمل SchemaLock::verify() ⁨SHA-256⁩ للمخطّط المُجمَّد ويُعيد false إذا كان ملف المخطّط مفقودًا أو مُعدَّلًا، بحيث لا ينحرف عقد السلك بصمت.
  • السطح مُصدَّر صراحةً (SCHEMA_VERSION): التغييرات الإضافية ترفع المخطّط؛ والتغييرات الكاسرة تتطلّب نسخة رئيسية جديدة.
  • لا يحدث أي إدخال/إخراج لنظام الملفات أو الشبكة أثناء التسلسل.

لا يغيّر ⁨Enterprise⁩ سلوك ⁨Interop.⁩ يضيف ⁨Enterprise⁩ ميزات من طبقة أعلى موثَّقة بشكل منفصل؛ وهي ليست مطلوبة لاستخدام كائنات نقل بيانات النتائج المُصدَّرة.

لا يوجد مكافئ في ⁨Core⁩ لكائنات نقل بيانات نتائج مُقفَلة المخطّط ومُصدَّرة. هذه إضافة في ⁨Pro.⁩

توثّق هذه الصفحة السلوك القابل للملاحظة خارجيًا وسطح ⁨API⁩ العام المدعوم فقط. أما مسارات فضاءات الأسماء الداخلية، والأصناف المساعدة، وجداول الآليات، وأسماء ملفات أدلة التشغيل، وبادئات التذاكر فخارج النطاق.