PDFium Delphi Component Docs

FormFieldInfoAt Özellik

Component: TPdf  ·  Unit: PDFium
Verilen sayfa koordinatındaki widget için form alanı kaydı

Syntax

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

Description

FormFieldInfoAt, hâlihazırda etkin sayfada bir hit-test yapar ve (X, Y)'deki widget annotation'ını anlatan TPdfFormFieldInfo kaydını döndürür. Koordinatlar PDF user space'tedir; başlangıç noktası sayfanın sol alt köşesidir ve birimler point olarak ifade edilir (1/72 inch). Kayıt, FormFieldInfo[Index]'in döndürdüğü şeyi yansıtır — alan türü (fiTextField, fiCheckBox, …), alan adı, alternatif ad, flag'ler, seçenek etiketleri, işaretli durumu, export value ve font boyutu

Koordinat hiçbir widget dikdörtgenine denk gelmezse FormFieldInfoAt varsayılanla başlatılmış bir TPdfFormFieldInfo döndürür — FieldType = fiUnknown ve her yerde boş stringler. Tam kaydı almadan önce ucuz bir evet/hayır yoklaması için HasFormFieldAt[X, Y]'yi kullanın veya döndürülen FieldType'yı kontrol edin

Arama, sayfanın widget'ları üzerinde O(n) maliyetlidir ve ayrıca Unicode alan metadata'sını çözer; dolayısıyla HasFormFieldAt'tan daha ağırdır. Bir mouse-move işleyicisinde önce HasFormFieldAt'ı kontrol edin; FormFieldInfoAt'i yalnızca tıklamada veya hover-girişinde çağırın. Fare konumundan gelen koordinatlar, aygıt piksellerini sayfa birimlerine çevirmek için önce TPdfView.PointToPage'den geçer

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