property FormFieldInfo[Index: Integer]: TPdfFormFieldInfo; // read only
FormFieldInfo, hâlihazırda etkin sayfada sıfır tabanlı Index'teki form
alanı widget annotation'ı için anlık görüntü niteliğinde bir TPdfFormFieldInfo kaydı döndürür. Kayıt, altta yatan FPDF_ANNOTATION tanıtıcısını kırmak zorunda kalmadan
bir AcroForm alan widget'ının güçlü türlü görünümünü sunar. PDF 1.7 spec
section 12.7, altta yatan alan türlerini ve flag'lerini tanımlar
The record carries the field Name (fully qualified path through any
parent field group, e.g. "order.shipto.address"), the
AlternateName used for accessible tooltips, the
FieldType enumeration (fiPushButton, fiCheckBox,
fiRadioButton, fiTextField, fiListBox,
fiComboBox, fiSignature, or fiUnknown), the
bit-set Flags (ffReadOnly, ffRequired,
ffNoExport, …), FormData dışa aktarımına yazıldığı hâliyle
ExportValue, boolean alanlar için
Checked flag'i, işlemede kullanılan
FontSize ve combo ve list box'ların kullandığı
OptionLabels / OptionSelected seçenek kümesi dizileri.
Bir gruba ait radio button widget'ları ayrıca GroupCount
ve GroupIndex'i doldurur
Geçerli indeksler 0 .. FormFieldCount - 1'dir. Kayıt bir değer türüdür;
alanlarını değiştirmek dokümana geri yazmaz. Bir alanın değerini değiştirmek için
FormField[Index] üzerinden atayın; flag bit maskesini değiştirmek için
SetFormFieldFlagsAt çağırın. Okuma tembeldir — PDFium Unicode alan
adlarını, seçenek etiketlerini ve export value'ları istek anında çözer — dolayısıyla
birçok alanı birden çok kez gezerken sonucu önbelleğe alın
| Index | Geçerli sayfada sıfır tabanlı widget indeksi (0 .. FormFieldCount - 1) |
Name'i kullanınfiSignature) expose Name and rect
but no signature bytes; use document-level Signature[I] to obtain
the PKCS#7 content.GroupCount / GroupIndex to
tell them apart.FormFieldCount is 0 and
this indexer is never callable.
var I, J: Integer;
var Info: TPdfFormFieldInfo;
for I := 0 to Pdf1.FormFieldCount - 1 do
begin
Info := Pdf1.FormFieldInfo[I];
Memo1.Lines.Add(Format('%s [%d] export=%s checked=%s',
[Info.Name, Ord(Info.FieldType), Info.ExportValue, BoolToStr(Info.Checked, True)]));
for J := 0 to High(Info.OptionLabels) do
Memo1.Lines.Add(' ' + Info.OptionLabels[J]);
end;