PDFium Delphi Component Docs

CharacterGenerated الخاصية

Component: TPdf  ·  Unit: PDFium
يعيد القيمة True عندما يكون الحرف عند الفهرس المحدد قد أنشأه PDFium اصطناعيًا أثناء استخراج النص بدلًا من أن يكون مرسومًا صراحةً من تدفق محتوى الصفحة. تُصدر الحروف الاصطناعية لتوسيع الليغشر، والتقسيم اللين للكلمات، واستدلال حدود الكلمة أو السطر حتى تبدو نتائج البحث والتحديد الكلّي طبيعية

Syntax

property CharacterGenerated[Index: Integer]: Boolean; // read only

Indexفهرس محرف يبدأ من الصفر على الصفحة الحالية، في النطاق من 0 إلى CharacterCount - 1.

Description

تُرجع CharacterGenerated‏ True عندما يكون المحرف عند الفهرس المحدد قد وُلّد داخليًا في PDFium بدلًا من أن يكون موجودًا في مسار المحتوى الأصلي. ومن الأمثلة النموذجية: تفكيك الليغتشر (تقسيم رمز ليغتشر fi إلى f + i)، والمسافة الختامية التي يدرجها PDFium بين مساري نص متجاورين منفصلين بصريًا، و محارف فاصل الأسطر المحقونة في نهاية كل سطر مرئي.

لا رسم خاص للمحارف المولَّدة في مسار محتوى الصفحة، لذا تُشتق صناديقها المحيطة من الرموز المجاورة. تعامل مع موقعها على الصفحة بحذر إذا كنت تحتاج اختبار إصابة دقيقًا على مستوى البكسل؛ فقد ينهار CharacterRectangle الخاص بها إلى منطقة عرضها أو ارتفاعها صفر.

في المهام كالاستخراج الحرفي الدقيق (التوقيعات الرقمية وسير عمل بصمة النص والمقارنة المطابقة لـ ASCII مع مسار محتوى الصفحة)، رشِّح المحارف المولَّدة أولًا. أما في البحث النصي العادي ونسخ الحافظة فالعلم مجرد معلومة استرشادية — إذ سبق لـ PDFium إدراج المحارف لأن المستخدمين يتوقعونها.

Remarks

Example

// Build a verbatim string that contains only characters from the content stream
var
  I: Integer;
  S: WString;
begin
  S := '';
  for I := 0 to Pdf.CharacterCount - 1 do
    if not Pdf.CharacterGenerated[I] then
      S := S + Pdf.Character[I];
  Memo1.Text := S;
end;

See Also

Character, CharacterIsHyphen, CharacterMapError, CharacterRectangle, Text