PDFium Component Docs

FormFieldInfoAt Özellik

Bu API girdisi tanımlayıcıları, imzaları, kod bloklarını ve PDF terimlerini özgün biçiminde korur.
Bileşen: TPdf  ·  Birim: PDFium
Verilen sayfa koordinatındaki widget için form alanı kaydı

Söz dizimi

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

Açıklama

FormFieldInfoAt, geçerli etkin sayfada bir hit-test yapar ve (X, Y) konumundaki widget annotation'ını tanımlayan TPdfFormFieldInfo kaydını döndürür. Koordinatlar PDF user space içindedir; orijin sayfanın sol alt köşesindedir ve birimler point cinsindendir (1/72 inch). Kayıt, FormFieldInfo[Index]'in döndürdüğü bilgiyi yansıtır — field type (fiTextField, fiCheckBox, …), field name, alternate name, flag'ler, option labels, checked state, export value ve font size

Koordinat herhangi bir widget rectangle'ının içine düşmezse FormFieldInfoAt varsayılan olarak başlatılmış bir TPdfFormFieldInfo döndürür — FieldType = fiUnknown ve her yerde boş dizeler. Tam kaydı almadan önce ucuz bir evet/hayır denetimi için HasFormFieldAt[X, Y] kullanın ya da doğrudan dönen FieldType değerini kontrol edin

Arama sayfanın widget'ları üzerinde O(n) karmaşıklığındadır ve ayrıca Unicode field metadata'yı çözer, bu yüzden HasFormFieldAt'ten daha ağırdır. Bir mouse-move handler içinde önce HasFormFieldAt çağırın; FormFieldInfoAt'i yalnızca tıklamada veya hover-enter sırasında çağırın. Fare konumundan gelen koordinatlar önce cihaz piksellerini sayfa birimlerine çevirmek için TPdfView.PointToPage üzerinden geçirilir

Notlar

Örnek

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;

Ayrıca bkz.

HasFormFieldAt, FormFieldInfo, FormFieldAt, FormFieldCount