PDFium Delphi Component Docs

FormFieldInfo プロパティ

コンポーネント: TPdf  ·  ユニット: PDFium
アクティブページ上の指定されたインデックスのフォームフィールドを記述する完全なレコード

Syntax

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

Description

FormFieldInfo は現在アクティブなページ上のゼロベースの Index のフォームフィールドウィジェット注釈のスナップショット TPdfFormFieldInfo レコードを返します。このレコードは基盤の FPDF_ANNOTATION ハンドルを解読せずに 1 つの AcroForm フィールドウィジェットの厳密に型指定されたビューを提供します。PDF 1.7 仕様 12.7 節が基盤のフィールドタイプとフラグを定義します

レコードはフィールド Name(任意の親フィールドグループを通る完全修飾パス、例: "order.shipto.address")、アクセシビリティツールチップに使われる AlternateName、FieldType 列挙(fiPushButton、fiCheckBox、fiRadioButton、fiTextField、fiListBox、fiComboBox、fiSignature、または fiUnknown)、ビットセット Flags(ffReadOnly、ffRequired、ffNoExport、…)、FormData エクスポートへ書き込まれる ExportValue、ブール型フィールドの Checked フラグ、レンダリングに使われる FontSize、コンボボックスとリストボックスが使うオプションセット配列 OptionLabels / OptionSelected を持ちます。グループに属するラジオボタンウィジェットはさらに GroupCount と GroupIndex を埋めます

有効なインデックスは 0 .. FormFieldCount - 1 です。レコードは値型であり、そのフィールドを変更しても文書へは書き戻されません。フィールドの値を変更するには FormField[Index] を通じて代入します。フラグビットマスクを変更するには SetFormFieldFlagsAt を呼び出します。読み取りは遅延です — PDFium は Unicode フィールド名、オプションラベル、エクスポート値をオンデマンドでデコードします — そのため多くのフィールドを複数回反復するときは結果をキャッシュしてください

Parameters

Index現在ページのゼロベースのウィジェットインデックス(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