property FormFieldInfo[Index: Integer]: TPdfFormFieldInfo; // read only
FormFieldInfo returnerar en ögonblicksbildspost av typen TPdfFormFieldInfo för formulärfältswidget-annoteringen vid det nollbaserade Index på den aktuella aktiva
sidan. Posten ger en starkt typad vy av en AcroForm-fältswidget utan att behöva knäcka det underliggande FPDF_ANNOTATION-handtaget. PDF 1.7-specifikationen
avsnitt 12.7 definierar de underliggande fälttyperna och flaggorna
Posten innehåller fältets Name (fullständigt kvalificerad sökväg genom eventuella överordnade fältgrupper, t.ex. "order.shipto.address"), det
AlternateName som används för tillgänglighetstips, uppräkningen
FieldType (fiPushButton, fiCheckBox,
fiRadioButton, fiTextField, fiListBox,
fiComboBox, fiSignature eller fiUnknown), bituppsättningen Flags (ffReadOnly, ffRequired,
ffNoExport, …), det ExportValue som skrivs till en
FormData-export, flaggan Checked för booleska fält, den
FontSize som används vid rendering samt alternativarrayerna
OptionLabels / OptionSelected som används av kombinations- och listrutor. Radioknappswidgetar som tillhör en grupp fyller dessutom i GroupCount
och GroupIndex
Giltiga index är 0 .. FormFieldCount - 1. Posten är en värdetyp;
att ändra dess fält skriver inte tillbaka till dokumentet. För att ändra värdet på ett
fält, tilldela via FormField[Index]; för att ändra flaggbitmasken, anropa
SetFormFieldFlagsAt. Läsning är lat — PDFium avkodar Unicode-fältnamn,
alternativetiketter och exportvärden på begäran — cachelagra därför resultatet när du
itererar över många fält flera gånger
| Index | Nollbaserat widgetindex på den aktuella sidan (0 .. FormFieldCount - 1) |
Name för att avduplicera mellan
sidorfiSignature) exponerar Name och rektangel
men inga signaturbytes; använd den dokumentnivåbaserade Signature[I] för att hämta
PKCS#7-innehålletGroupCount / GroupIndex för att
skilja dem åtFormFieldCount 0 och
denna indexerare kan aldrig anropas
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;