property FormFieldInfoAt[X, Y: Single]: TPdfFormFieldInfo; // read only
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 TPdfFormFieldInfo —
FieldType = 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.
/Annots zmaga).FieldType = fiSignature — kombinirajte
z SignatureCount, če želite stanje podpisovanja naštevati posebej.FormFieldAt razveljavi predpomnjene
zapise; po vsakem pisanju znova preberite.
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;