property FormFieldCount: Integer; // read only
FormFieldCount zwraca liczbę adnotacji widżetów pól AcroForm na aktualnie aktywnej stronie. Każdy wpis odpowiada jednej adnotacji widżetu (podtyp /Widget z typem pola /FT) — pole tekstowe, pole wyboru, przycisk radiowy, lista, pole kombi, przycisk i pole podpisu (sekcja 12.7 specyfikacji PDF 1.7)
Wartość wynosi 0, gdy Active ma wartość False, gdy dokument nie jest AcroForm (FormType = ftNone) albo gdy strona nie ma interaktywnych widżetów. To metryka liczona per strona; strony mogą zawierać widżety należące do tego samego logicznego pola zdefiniowanego gdzie indziej w drzewie dokumentu — PDF pozwala jednemu polu mieć wiele umiejscowień widżetu (na przykład podpis widoczny na okładce i na ostatniej stronie)
Użyj FormFieldInfo[Index] z indeksami od 0 do FormFieldCount - 1, aby uzyskać rekord TPdfFormFieldInfo: typ pola, nazwa, nazwa alternatywna, flagi, etykiety opcji, bieżąca wartość, wartość eksportu,
stan zaznaczenia i rozmiar czcionki. Aby pobrać pole przez test trafienia dla współrzędnej strony, użyj zamiast tego FormFieldAt[X, Y] albo FormFieldInfoAt[X, Y]
FormType = ftXfaFull) przechowują swoją interaktywną strukturę poza drzewem AcroForm; FormFieldCount może nadal raportować widżety wygenerowane przez XFA, ale samo renderowanie XFA pozostaje poza zakresem PDFiumPasFormFieldCount i AnnotationCount mogą się pokrywać, ponieważ widżety są podzbiorem adnotacji. Użyj tej właściwości, gdy chcesz tylko pólSetFormField unieważnia indeksy. Odczytaj ponownie FormFieldCount po każdej modyfikacji
var I: Integer;
var Info: TPdfFormFieldInfo;
for I := 0 to Pdf1.FormFieldCount - 1 do
begin
Info := Pdf1.FormFieldInfo[I];
Memo1.Lines.Add(Format('%s = %s', [Info.Name, Info.ExportValue]));
end;