PDFium Delphi Component Docs

FormFieldInfoAt الخاصية

Component: TPdf  ·  Unit: PDFium
سجل حقل نموذج للـ widget الموجود عند إحداثي الصفحة المعطى

Syntax

property FormFieldInfoAt[X, Y: Single]: TPdfFormFieldInfo; // read only

Description

تجري الخاصية FormFieldInfoAt اختبار إصابة على الصفحة النشطة حاليًا وتُرجع سجل TPdfFormFieldInfo الذي يصف تعليق الأداة عند (X, Y). والإحداثيات في فضاء مستخدم PDF، بأصل عند الركن السفلي الأيسر للصفحة ووحدات معبر عنها بالنقاط (1/72 بوصة). ويطابق السجل ما تُرجعه FormFieldInfo[Index] — نوع الحقل (fiTextField و fiCheckBox و …) واسم الحقل والاسم البديل والأعلام وتسميات الخيارات وحالة التحديد وقيمة التصدير وحجم الخط.

وعندما لا تقع الإحداثية داخل أي مستطيل أداة تُرجع FormFieldInfoAt ‏TPdfFormFieldInfo مهيأً افتراضيًا — FieldType = fiUnknown ونصوص فارغة في كل الحقول. استخدم HasFormFieldAt[X, Y] لفحص نعم/لا رخيص قبل جلب السجل الكامل، أو اكتفِ بفحص FieldType المُرجع.

تكلفة البحث O(n) على أدوات الصفحة، وتفك إضافةً إلى ذلك البيانات الوصفية Unicode للحقل، فهي أثقل من HasFormFieldAt. وفي معالج mouse-move افحص HasFormFieldAt أولًا؛ ولا تستدعِ FormFieldInfoAt إلا عند النقر أو دخول التحويم. وإحداثيات موضع الفأرة تمر أولًا عبر TPdfView.PointToPage لتحويل بكسلات الجهاز إلى وحدات الصفحة.

Remarks

Example

procedure TForm1.PdfView1Click(Sender: TObject);
var Info: TPdfFormFieldInfo;
  PageX, PageY: Double;
begin
  PdfView1.PointToPage(Mouse.CursorPos.X, Mouse.CursorPos.Y, PageX, PageY);
  Info := Pdf1.FormFieldInfoAt[PageX, PageY];
  if Info.FieldType <> fiUnknown then
    ShowMessage(Info.Name);
end;

See Also

HasFormFieldAt, FormFieldInfo, FormFieldAt, FormFieldCount