PDFium Component Docs

FormFieldInfo Eigenschaft

Dieser API-Eintrag behält Bezeichner, Signaturen, Codeblöcke und PDF-Begriffe in ihrer Originalform.
Komponente: TPdf  ·  Unit: PDFium
Vollständiger Datensatz, der ein Formularfeld an einem angegebenen Index auf der aktiven Seite beschreibt

Syntax

property FormFieldInfo[Index: Integer]: TPdfFormFieldInfo; // nur lesbar

Beschreibung

FormFieldInfo gibt einen Momentaufnahme-Datensatz TPdfFormFieldInfo für die Formularfeld-Widget-Annotation am 0-basierten Index auf der aktuell aktiven Seite zurück Der Datensatz bietet eine stark typisierte Sicht auf ein AcroForm-Widget, ohne den zugrunde liegenden FPDF_ANNOTATION-Handle öffnen zu müssen PDF 1.7 spec section 12.7 definiert die zugrunde liegenden Feldtypen und Flags

Der Datensatz enthält den Feld-Name (voll qualifizierter Pfad durch eine mögliche übergeordnete Feldgruppe, zum Beispiel "order.shipto.address"), den für barrierefreie Tooltips verwendeten AlternateName, die Enumeration FieldType (fiPushButton, fiCheckBox, fiRadioButton, fiTextField, fiListBox, fiComboBox, fiSignature oder fiUnknown), das Bitset Flags (ffReadOnly, ffRequired, ffNoExport, …), den als FormData-Export geschriebenen ExportValue, das Checked-Flag für boolesche Felder, die zum Rendern verwendete FontSize sowie die Options-Arrays OptionLabels / OptionSelected, die von Kombinations- und Listenfeldern genutzt werden Widget-Schaltflächen, die zu einer Gruppe gehören, füllen außerdem GroupCount und GroupIndex

Gültige Indizes sind 0 .. FormFieldCount - 1 Der Datensatz ist ein Werttyp; das Ändern seiner Felder schreibt nichts zurück in das Dokument Um den Wert eines Feldes zu ändern, weisen Sie über FormField[Index] zu; um die Flag-Bitmaske zu ändern, rufen Sie SetFormFieldFlagsAt auf Das Lesen ist lazy — PDFium dekodiert Unicode-Feldnamen, Optionsbeschriftungen und Exportwerte bei Bedarf — daher sollten Sie das Ergebnis cachen, wenn Sie viele Felder mehrfach durchlaufen

Parameter

IndexZero-based widget index on the current page (0 .. FormFieldCount - 1).

Hinweise

Beispiel

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;

Siehe auch

FormField, FormFieldCount, FormFieldInfoAt, FormFieldAt, FormType