PDFium Delphi Component Docs

FormFieldInfoAt svojstvo

Komponenta: TPdf  ·  Jedinica: PDFium
Zapis polja obrasca za widget smješten na zadanoj koordinati stranice.

Sintaksa

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

Opis

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 TPdfFormFieldInfoFieldType = 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

Napomene

Primjer

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;

Vidi također

HasFormFieldAt, FormFieldInfo, FormFieldAt, FormFieldCount