ExtractStructuredPage

النص، الاستخراج، البيانات المهيكلة

الوصف

يلتقط صفحة PDF واحدة ويسلسل نموذج نصها المهيكل بوصفه JSON بمخطط الإصدار 2 أو XHTML دلاليًا أو CSV للجداول

يجمع النموذج بين ترتيب شجرة البنية الحقيقي وسماتها والاحتياط الهندسي الصريح والفقرات والمقاطع المنسقة والجداول ذات الخلايا الفارغة أو المدموجة

الصيغة

Delphi

Function TPDFlib.ExtractStructuredPage(Page, Format,
  Options: Integer): WideString;

ActiveX

Function PDFlib::ExtractStructuredPage(Page As Long, Format As Long,
  Options As Long) As String

DLL

const wchar_t* DLExtractStructuredPage(int InstanceID, int Page,
  int Format, int Options);
const char* DLExtractStructuredPageA(int InstanceID, int Page,
  int Format, int Options);

المعاملات

Pageرقم الصفحة ويبدأ العد من 1
FormatPDF_STRUCTURED_TEXT_JSON (0)، أو PDF_STRUCTURED_TEXT_XHTML (1)، أو PDF_STRUCTURED_TEXT_CSV (2)
Optionsصفر أو PDF_STRUCTURED_TEXT_INCLUDE_STYLES‏ (1) لتضمين الخط والحجم واللون والمحاذاة الرأسية في JSON وXHTML

التسلسل الهرمي لـ JSON

{
  "version": 2,
  "page": 1,
  "width": 612,
  "height": 792,
  "readingOrderSource": "tagged",
  "structureComplete": true,
  "warnings": [],
  "blocks": [
    {
      "type": "paragraph",
      "nodeId": 3,
      "source": "tagged",
      "confidence": 1,
      "furniture": "none",
      "furnitureSource": "",
      "bbox": [
        40,
        50,
        300,
        70
      ],
      "text": "Example paragraph",
      "lines": [
        {
          "spans": []
        }
      ]
    }
  ],
  "semantics": []
}

تتضمن بيانات الصفحة الوصفية readingOrderSource وstructureComplete وwarnings؛ ومصادر القراءة هي tagged أو mixed أو geometric أو geometric-columns

تتضمن الكتل nodeId وsource وconfidence وfurniture وfurnitureSource وbbox؛ وتحتفظ المقاطع بـ originalText وcontentEvent وnodeId وartifact إلى جانب نص المخرجات

تتضمن بيانات الجداول الوصفية logicalTable وlogicalTableId وfragment وأعلام المتابعة؛ وتحمل الصفوف logicalRow وrepeatedHeader

يسجل كل خلية rowSpan وcolumnSpan وanchorRow وanchorColumn وcovered وheader وmergeSource وconfidence؛ وتُحفظ الخلايا الموسومة الفارغة وتكون حدود الخلية المجهولة null

تحفظ مصفوفة semantics أحداث البداية والمحتوى والنهاية المرتبة للشجرة الكاملة ومعرفات العقد والآباء المستقرة والأدوار المحلولة والخام ومساحات الأسماء واللغة والنص البديل ووجود ActualText وسمات الخلايا ومراجع الصفحة أو التدفق أو MCID أو الكائنات

تصف structureComplete تغطية الاجتياز وربط المحتوى؛ وهي ليست شهادة وسم أو إمكانية وصول

قيم الإرجاع

يعيد JSON وXHTML مستندين مستقلين كاملين؛ ويمثل XHTML الخلايا المدموجة بامتدادات الجداول ويكشف بيانات مصدر الكتلة الوصفية

يعيد CSV خلايا الجداول فقط ويكون فارغًا عندما لا تملك الصفحة جدولًا؛ وتضع الخلايا المدموجة النص في خلية المرساة وتترك الخلايا المغطاة فارغة

يعيد الطلب غير الصالح أو إخفاق الاستخراج سلسلة فارغة

ملاحظات

يستخدم التحليل SetStructuredTextOptions باستقلال عن Options الخاصة بكل صيغة؛ وافحص GetLastStructuredTextDiagnostics لمعرفة مصادر القراءة وتحذيرات الاحتياط

يقدَم ترتيب شجرة الوسوم الحقيقي حين تكتمل روابط المحتوى؛ ويحتفظ المحتوى غير المحلول أو الملتبس بالنص المستخرج في الاحتياط المختلط أو الهندسي، ولا تُخمَّن الأدوار المخصصة المجهولة من أسمائها

تميز روابط المحتوى الموسوم بين تدفقات الصفحات ومسارات استدعاء Form XObject المتداخلة؛ وتُفصَح occurrences‏ Form الموسومة المشتركة ذات الترتيب الدلالي الملتبس عن حالتها بدلًا من إسناد ترتيب مختلَق إليها

تحافظ استبدالات ActualText على النص المصدر في مقاطع JSON؛ وتُحفظ مراجع الكائنات بوصفها بيانات وصفية دلالية دون استخراج نص التعليقات منها

يتطلب كشف الجداول الهندسي صفوفًا متعددة الخلايا متحاذية؛ ويبقى استنتاج الدمج وكشف الأعمدة اختياريين واستدلاليين

تستخدم مربعات الإحاطة إحداثيات الصفحة من أعلى اليسار بالنقاط في PDF؛ ويمكن للمقطع أن يحتفظ بحدود مقاطع النص المصدرية الكاملة الخاصة به

يحافظ الاستخراج على الصفحة المحددة ومكدس وسوم الكاتب المفتوحة؛ وتُدرج وسوم الكاتب غير المحفوظة الحالية دون وسوم إغلاق أو إنهاء للمستند

تبقى مؤشرات إرجاع DLL صالحة حتى الاستدعاء التالي المعيد سلسلة على المثيل نفسه

تساوي LastErrorCode القيمة 111 لصفحة أو صيغة أو خيارات غير صالحة والقيمة 515 عند إخفاق الاستخراج

انظر أيضًا

ExtractStructuredDocument, ExtractPageTextBlocks, GetPageText