property FormFieldInfoAt[X, Y: Single]: TPdfFormFieldInfo; // read only
FormFieldInfoAt utför en träfftest på den aktuella aktiva sidan och returnerar
TPdfFormFieldInfo-posten som beskriver widget-annoteringen vid
(X, Y). Koordinaterna anges i PDF användarutrymme, med origo i
sidans nedre vänstra hörn och enheten uttryckt i punkter (1/72 tum). Posten
speglar det som FormFieldInfo[Index] returnerar — fälttyp
(fiTextField, fiCheckBox, …), fältnamn, alternativt
namn, flaggor, alternativetiketter, markerat tillstånd, exportvärde och teckenstorlek
När koordinaten inte hamnar inuti någon widgetrektangel returnerar FormFieldInfoAt
en standardinitierad TPdfFormFieldInfo —
FieldType = fiUnknown och tomma strängar överallt. Använd
HasFormFieldAt[X, Y] för en billig ja/nej-avsökning innan hela
posten hämtas, eller kontrollera helt enkelt den returnerade FieldType
Uppslaget är O(n) över sidans widgetar och avkodar dessutom Unicode-fältmetadata, så det är tyngre än HasFormFieldAt. I en
hanterare för musrörelse, kontrollera HasFormFieldAt först; anropa
FormFieldInfoAt endast vid klick eller när pekaren förs in. Koordinater från en musposition går först genom
TPdfView.PointToPage för att översätta enhetspixlar till sidenheter
/Annots vinner)FieldType = fiSignature — kombinera med
SignatureCount för att räkna upp signeringsstatus separatFormFieldAt ogiltigförklarar cachade poster;
läs om efter varje skrivning
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;