property FormFieldInfoAt[X, Y: Single]: TPdfFormFieldInfo; // read only
FormFieldInfoAt izvodi test pogotka na trenutačno aktivnoj stranici i vraća
zapis TPdfFormFieldInfo koji opisuje widget anotaciju na
(X, Y). Koordinate su u PDF korisničkom prostoru, s ishodištem u
donjem lijevom kutu stranice i jedinicama izraženim u točkama (1/72 inča). Zapis
zrcali ono što vraća FormFieldInfo[Index] — vrsta polja
(fiTextField, fiCheckBox, …), naziv polja, alternativni
naziv, zastavice, oznake opcija, stanje označenosti, izvozna vrijednost i veličina fonta
Kada koordinata ne padne unutar nijednog pravokutnika widgeta, FormFieldInfoAt
vraća zadano inicijaliziran TPdfFormFieldInfo —
FieldType = fiUnknown i posvuda prazne nizove. Za jeftinu provjeru
da/ne prije dohvata cijelog zapisa koristite HasFormFieldAt[X, Y] ili
jednostavno provjerite vraćeni FieldType
Pretraga je O(n) po widgetima stranice i dodatno dekodira Unicode
metapodatke polja, pa je stoga teža od HasFormFieldAt. U obradi
mouse-move najprije provjerite HasFormFieldAt; FormFieldInfoAt pozovite
tek na klik ili na ulaz u lebdenje. Koordinate iz položaja miša prvo provucite kroz
TPdfView.PointToPage da se pikseli uređaja prevedu u jedinice stranice
/Annots)FieldType = fiSignature — kombinirajte
s SignatureCount za zasebno nabrajanje stanja potpisivanjaFormFieldAt poništava spremljene zapise;
ponovno ih 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;