property FormHandle: FPDF_FORMHANDLE; // read only
FormHandle は、現在ロード中のドキュメントに対して FPDFDOC_InitFormFillEnvironment で作られた生の PDFium FPDF_FORMHANDLE を公開します。このハンドルは PDFium の対話フォーム層への入口で、あらゆる FORM_* / FPDF_FFL* 関数が期待するパラメーターであり、フォームフィールドの描画、マウス / キーボードイベントの配信、フォーカス追跡、JavaScript / XFA コールバックを司ります(PDFium の fpdf_formfill.h)
ハンドルは Active が True になると作られ、Active が False に戻るかコンポーネントが解放されると破棄されます。不透明で寿命の短いものとして扱ってください。1 回の load/unload サイクルを超えて値を保持せず、自分で FPDFDOC_ExitFormFillEnvironment を呼ばないこと。ライフタイムの所有者はコンポーネントです
FormHandle は上級者向けプロパティです。高レベルな FormField / FormFieldAt では粒度が足りないとき、低レベルのフォームイベント(独自のマウス / キーボード配信、プログラムによるフィールドフォーカス、スクリプトによるアピアランス再生成、XFA リフレッシュ)をルーティングするのに役立ちます。フォーム描画なら VCL の TPdfView がすでにこのハンドルをペイントループへ組み込んでおり、手動で使うのは付属ビューアーを bypass する場合や独自のイベントパイプラインを作る場合だけです
nil を返します。PDFium の form-fill API を呼ぶ前に必ず確認してください
var FH: FPDF_FORMHANDLE;
Pdf1.Active := True;
FH := Pdf1.FormHandle;
if Assigned(FH) then
FPDF_FFLDraw(FH, Bmp, Pdf1.Page, 0, 0, 800, 600, 0, FPDF_ANNOT);