property FormFieldCount: Integer; // read only
FormFieldCount geeft het aantal AcroForm field widget annotations op de
momenteel actieve pagina terug. Elke entry komt overeen met één widget annotation (subtype
/Widget met een /FT-fieldtype) — tekstinvoer, checkbox,
radiobutton, lijstbox, combobox, push button of signature field (PDF 1.7 spec
section 12.7)
De waarde is 0 wanneer Active False is, wanneer
het document geen AcroForm is (FormType = ftNone) of wanneer de pagina geen
interactieve widgets heeft. Dit is een metric per pagina; pagina's kunnen widgets bevatten
die bij hetzelfde logische field horen dat elders in de document tree is gedefinieerd — PDF
staat toe dat één field meerdere widget-plaatsingen heeft, bijvoorbeeld een signature die op de
voorpagina en op de laatste pagina zichtbaar is
Gebruik FormFieldInfo[Index] met indexen van 0 tot
FormFieldCount - 1 om een TPdfFormFieldInfo-record te krijgen:
fieldtype, naam, alternatieve naam, flags, option labels, huidige waarde, exportwaarde,
checked state en lettergrootte. Gebruik om een field via hit-testing op een paginacoördinaat
te vinden liever FormFieldAt[X, Y] of FormFieldInfoAt[X, Y]
FormType = ftXfaFull) dragen hun interactieve
structuur buiten de AcroForm tree; FormFieldCount kan nog steeds door XFA
gegenereerde widgets rapporteren, maar XFA-rendering zelf valt buiten de scope van PDFiumPasFormFieldCount en AnnotationCount overlappen omdat widgets een subset van annotaties zijn. Gebruik deze property wanneer je alleen fields wiltSetFormField maakt indexen ongeldig. Lees FormFieldCount na elke mutatie opnieuw uit
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;