PDFium Delphi Component Docs

FormFieldInfo property

Component: TPdf  ·  Unit: PDFium
Fullständig post som beskriver ett formulärfält vid ett angivet index på den aktiva sidan

Syntax

property FormFieldInfo[Index: Integer]: TPdfFormFieldInfo; // read only

Description

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

Parameters

IndexNollbaserat widgetindex på den aktuella sidan (0 .. FormFieldCount - 1)

Remarks

Example

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;

See Also

FormField, FormFieldCount, FormFieldInfoAt, FormFieldAt, FormType