property FormFieldAt[X, Y: Single]: WString; // read / write
FormFieldAt は、ページ空間の点 (X, Y) を含む AcroForm ウィジェット注釈を探し、その値を Unicode 文字列として公開します。座標は PDF user space で、原点はページ左下、単位はポイント(1/72 インチ)です。読み取ると現在のフィールド値(/V)が WString にデコードされて返り、書き込むとフィールドが更新されてアピアランスストリームが再生成され、次の描画で新しい値が載ります
Active が False のとき、ドキュメントが AcroForm を持たないとき、どのウィジェットもその座標を覆っていないときは、空文字列を返します。一致ポリシーは FormFieldInfoAt と同じで、ウィジェット矩形のみ(アピアランスに基づく hit-test なし)、重なりでは最上位のウィジェットが勝ちます。どのウィジェットにも当たらない座標への書き込みは no-op です
チェックボックスとラジオボタンの値セマンティクスは PDF 仕様に従います。'Off' を代入するとフィールドがクリアされ、ウィジェットの /AP /N on 状態名(通常は 'Yes' かエクスポート値)に一致する値を代入するとチェックが入ります。テキストフィールドでは、代入したものが何であれ新しい /V の中身になります。リスト / コンボボックスはオプション entry のいずれかに結び付いたエクスポート値を受け付けます。フィールドタイプが不明なときは、先に FormFieldInfoAt で FieldType を調べてください
SaveToFile / SaveToStream 呼び出しで行われますFormFieldAt / FormField による書き込みは順次なら安全ですが、バックグラウンドスレッドからは決して呼ばないでください。PDFium のフォームフィールドはスレッドセーフではありません
// Toggle a checkbox located at (120, 300) on the current page.
if Pdf1.FormFieldAt[120.0, 300.0] = 'Off' then
Pdf1.FormFieldAt[120.0, 300.0] := 'Yes'
else
Pdf1.FormFieldAt[120.0, 300.0] := 'Off';