PDFium Delphi Component Docs

FormFieldInfoAt property

Component: TPdf  ·  Unit: PDFium
Formulärfältpost för widgeten som finns vid den angivna sidkoordinaten

Syntax

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

Description

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

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