property FormFieldInfoAt[X, Y: Single]: TPdfFormFieldInfo; // read only
FormFieldInfoAt izvodi proveru pogotka na trenutno aktivnoj strani i vraća
zapis TPdfFormFieldInfo koji opisuje widget anotaciju na
(X, Y). Koordinate su u PDF korisničkom prostoru, sa ishodištem u
donjem levom uglu strane i jedinicama izraženim u tačkama (1/72 inča). Zapis
odražava ono što vraća FormFieldInfo[Index] — tip polja
(fiTextField, fiCheckBox, …), ime polja, alternativno
ime, zastavice, oznake opcija, stanje označenosti, izvoznu vrednost i veličinu fonta
Kada koordinata ne padne unutar nijednog pravougaonika widgeta, FormFieldInfoAt
vraća podrazumevano inicijalizovan TPdfFormFieldInfo —
FieldType = fiUnknown i prazne nizove po celom zapisu. Koristite
HasFormFieldAt[X, Y] za jeftinu da/ne proveru pre pribavljanja celog
zapisa, ili jednostavno proverite vraćeni FieldType
Pretraga je O(n) po widgetima strane i dodatno dekodira
Unicode metapodatke polja, pa je teža od HasFormFieldAt. U obradi
pomeranja miša prvo proverite HasFormFieldAt; FormFieldInfoAt
pozivajte tek na klik ili ulaz pokazivača. Koordinate iz položaja miša prvo prolaze
kroz TPdfView.PointToPage da bi se pikseli uređaja preveli u jedinice strane
/Annots)FieldType = fiSignature — kombinujte sa
SignatureCount da zasebno nabrojite stanja potpisivanjaFormFieldAt poništavaju keširane zapise;
ponovo pročitajte nakon svakog upisa
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;