PDFium Delphi Component Docs

FormFieldInfoAt lastnost

Component: TPdf  ·  Unit: PDFium
Zapis polja obrazca za gradnik, ki se nahaja na dani koordinati strani.

Syntax

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

Description

FormFieldInfoAt na trenutno aktivni strani izvede preizkus zadetka in vrne zapis TPdfFormFieldInfo, ki opisuje pripombo gradnika ob (X, Y). Koordinate so v uporabniškem prostoru PDF, z izhodiščem v spodnjem levem kotu strani in enotami izraženimi v točkah (1/72 palca). Zapis zrcali to, kar vrne FormFieldInfo[Index] — vrsta polja (fiTextField, fiCheckBox, …), ime polja, nadomestno ime, zastavice, oznake opcij, stanje izbire, izvozna vrednost in velikost pisave.

Ko koordinata ne pade v noben pravokotnik gradnika, FormFieldInfoAt vrne privzeto inicializiran TPdfFormFieldInfoFieldType = fiUnknown in povsod prazne nize. Za poceni preizkus da/ne pred pridobitvijo polnega zapisa uporabite HasFormFieldAt[X, Y] ali preprosto preverite vrnjeni FieldType.

Iskanje je O(n) glede na gradnike strani in dodatno dekodira metapodatke polj Unicode, zato je težje od HasFormFieldAt. V obdelovalniku giba miške najprej preverite HasFormFieldAt; FormFieldInfoAt pokličite šele ob kliku ali vstopu miške. Koordinate iz položaja miške najprej prestavite skozi TPdfView.PointToPage, da napravnike slikovne točke pretvorite v enote strani.

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