ApplyOCRTextLayerEx
OCR، النص، تحرير المستندات
الوصف
يتحقق من صحة OCR JSON المحايد تجاه المزود، ويجهز نصًا غير مرئي في ذاكرة وسيطة منفصلة، ثم يلزم صفحة واحدة بطبقة نص قابل للبحث مملوكة للمكتبة
الصيغة
Delphi
Function TPDFlib.ApplyOCRTextLayerEx(Page: Integer; Const ResultJSON,
FontName: WideString; MinConfidence: Double; Options: Integer): Integer;
ActiveX
Function PDFlib::ApplyOCRTextLayerEx(Page As Long, ResultJSON As String,
FontName As String, MinConfidence As Double, Options As Long) As Long
DLL
int DLApplyOCRTextLayerEx(int InstanceID, int Page, const wchar_t* ResultJSON,
const wchar_t* FontName, double MinConfidence, int Options);
int DLApplyOCRTextLayerExA(int InstanceID, int Page, const char* ResultJSON,
const char* FontName, double MinConfidence, int Options);
المعاملات
| Page | الصفحة الهدف ويبدأ العد من 1 |
|---|---|
| ResultJSON | مخطط الإصدار 1 الموصوف في ApplyOCRTextLayer، مع إمكانية تضمين نهايات خط أساس متحقَّق منها ومعرفات للتسلسل الهرمي |
| FontName | خط TrueType قابل للتضمين أو سلسلة فارغة لاختيار بديل من الخطوط المثبتة |
| MinConfidence | عتبة ثقة الكلمة الشاملة من 0 إلى 1 |
| Options | تركيبة بتية لسياسات الطبقة المبينة أدناه؛ والقيمة صفر تلحق طبقة مملوكة جديدة |
الخيارات
| 1 — PDF_OCR_SKIP_EXISTING_TEXT | تعيد النجاح دون تطبيق OCR عندما يحتوي تدفق محتوى محتفَظ به غير مملوك أو Form XObject مستدعى على أي نص، بما يشمل النص غير المرئي |
|---|---|
| 2 — PDF_OCR_REPLACE_OWNED_LAYER | تستبدل كل طبقة قائمة بعلامة OCR الدقيقة الخاصة بالمكتبة؛ وتلحق طبقة جديدة إذا لم توجد طبقة OCR مملوكة |
| 3 | تتخطى الصفحات ذات النص غير المملوك، مع السماح باستبدال صفحات OCR المملوكة حصريًا |
قيم الإرجاع
| 1 | لُزمت طبقة، أو تخطت سياسة النص القائم الصفحة، أو لم تستوفِ أي كلمة عتبة الثقة |
|---|---|
| 0 | فشل الإدخال أو الهندسة أو الخيارات أو ترميز الخط أو كتابة الطبقة |
ملاحظات
تُرفض بتات الخيارات غير المعروفة
تستخدم إحداثيات المصدر أصلَ الصورة المعروضة في أقصى اليسار أعلى وصندوق العرض المحدد؛ ويُعاد إسقاط دوران الصفحة وإزاحات الصندوق غير الصفرية إلى فضاء مستخدم PDF الخام
تتضمن مصفوفة baseline الاختيارية [x1, y1, x2, y2] بوحدات المصدر وتحدد اتجاه النص وتقدمه؛ ولا يجوز أن يحمل خط الأساس الكامل مع ذلك textAngle غير صفري
يُفحص حد كل كلمة وخط أساسها قبل تصفية الثقة؛ والكلمة منخفضة الثقة غير الصالحة تُفشل العملية رغم ذلك
يكتمل ملاءمة الخط ومعالجة الحروف المفقودة قبل لزم طبقة المحتوى الجديدة؛ ولا تستبدل كلمات OCR مرسومة جزئيًا الطبقة القديمة
التدفقات التي تحمل الحقول الثلاثة بالضبط /PDFlibOCROwner /PDFlibPas و/PDFlibOCRType /InvisibleText و/PDFlibOCRVersion 1 فقط هي طبقات OCR مملوكة
ينشئ الاستبدال مصفوفة contents جديدة وتدفقًا جديدًا، مع الحفاظ على المحتوى غير المملوك وعلى التدفقات التي تستخدمها الصفحات الشقيقة
تستخدم طبقة OCR نمط العرض 3 وحالة رسومات معزولة؛ ويلغي وضعها مصفوفة التحويل الحالية للمحتوى المحتفَظ به قبل تطبيق مصفوفة الكلمة
تترك النتيجة المقبولة الفارغة الطبقات القديمة سليمة؛ واستخدم GetOCRDiagnosticsJSON للتمييز بين empty وskipped وappended وreplaced
يُتحقق من قابلية البحث ومن ثبات البكسلات المرئية بعد حفظ المستند وإعادة تحميله
انظر أيضًا
OCRPageEx, OCRDocumentEx, ConfigureTesseractOCR, GetOCRDiagnosticsJSON, LastOCRError