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, pole listy, pole kombi, przycisk albo pole podpisu (specyfikacja PDF 1.7, sekcja 12.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. Jest to metryka dla pojedynczej strony; strony mogą zawierać widżety należące do tego samego logicznego pola zdefiniowanego gdzie indziej w drzewie dokumentu — PDF pozwala, aby jedno pole miało wiele rozmieszczeń widżetów (np. podpis widoczny na stronie tytułowej 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ść eksportowa, stan zaznaczenia i rozmiar czcionki. Aby pobrać pole przez testowanie trafień współrzędnej strony, użyj zamiast tego FormFieldAt[X, Y] lub FormFieldInfoAt[X, Y]
FormType = ftXfaFull) niosą swoją strukturę interaktywną poza drzewem AcroForm; FormFieldCount może nadal zgłaszać widżety wygenerowane przez XFA, ale samo renderowanie XFA wykracza poza zakres PDFium Delphi ComponentAnnotationCount częściowo się pokrywają, ponieważ widżety są podzbiorem adnotacji. Używaj tej właściwości, gdy chcesz wyłącznie pólSetFormField unieważnia indeksy — odczytaj FormFieldCount ponownie po każdej mutacji
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;