property FormFieldCount: Integer; // read only
FormFieldCount palauttaa AcroForm-kenttäwidget-merkintöjen määrän
tällä hetkellä aktiivisella sivulla. Jokainen alkio vastaa yhtä widget-
merkintää (alityyppi
/Widget, jolla on /FT-kenttätyyppi) — tekstisyöte, valintaruutu,
radiopainike, luetteloruutu, yhdistelmäruutu, painike tai
allekirjoituskenttä (PDF 1.7 -spesifikaation luku 12.7)
Arvo on 0, kun Active on False, kun
dokumentti ei ole AcroForm (FormType = ftNone) tai kun sivulla ei ole
interaktiivisia widgetejä. Suure on sivukohtainen; sivulla voi olla widgetejä, jotka kuuluvat
samaan loogiseen kenttään, joka on määritelty muualla dokumenttipuussa — PDF sallii
yhdellä kentällä useita widget-sijoitteluja (esimerkiksi allekirjoitus, joka näkyy kansisivulla
ja viimeisellä sivulla)
Käytä FormFieldInfo[Index]-ominaisuutta indekseillä 0 –
FormFieldCount - 1 saadaksesi TPdfFormFieldInfo-tietueen:
kenttätyyppi, nimi, vaihtoehtoinen nimi, liput, valintalabelit, nykyinen arvo, vientiarvo,
valittutila ja fonttikoko. Jos kenttä on löydettävä osumatestaamalla sivun koordinaatti, käytä
sen sijaan FormFieldAt[X, Y] tai FormFieldInfoAt[X, Y]
FormType = ftXfaFull) kantavat
interaktiivista rakennettaan AcroForm-puun ulkopuolella; FormFieldCount voi silti raportoida
XFA:n tuottamia widgetejä, mutta XFA-renderöinti ei kuulu PDFium Delphi Componentin
piiriinAnnotationCount menevät päällekkäin, koska widgetit ovat
merkintöjen osajoukko. Käytä tätä ominaisuutta, kun haluat vain kentätSetFormField -kutsulla mitätöi indeksit.
Lue FormFieldCount uudelleen jokaisen muutoksen jälkeen
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;