PDFium Delphi Component Docs

FormFieldInfoAt властивість

Component: TPdf  ·  Unit: PDFium
Запис поля форми для віджета у заданій координаті сторінки

Syntax

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

Description

FormFieldInfoAt виконує тестування попадання на поточній активній сторінці та повертає запис TPdfFormFieldInfo, що описує анотацію віджета в точці (X, Y). Координати задаються в просторі користувача PDF із початком координат у нижньому лівому куті сторінки та одиницями в пунктах (1/72 дюйма). Запис віддзеркалює те, що повертає FormFieldInfo[Index] — тип поля (fiTextField, fiCheckBox, …), назву поля, альтернативну назву, прапорці, мітки варіантів, стан позначення, значення експорту та розмір шрифту

Коли координата не потрапляє ні в один прямокутник віджета, FormFieldInfoAt повертає типово ініціалізований TPdfFormFieldInfoFieldType = fiUnknown і порожні рядки в усіх полях. Використовуйте HasFormFieldAt[X, Y] для дешевого зонда так/ні перед отриманням повного запису або просто перевірте повернутий FieldType

Пошук має складність O(n) за віджетами сторінки і додатково декодує метадані полів Unicode, тож він важчий за HasFormFieldAt. В обробнику руху миші спершу перевіряйте 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