property FormHandle: FPDF_FORMHANDLE; // read only
FormHandle expose le FPDF_FORMHANDLE PDFium brut créé via FPDFDOC_InitFormFillEnvironment pour le document actuellement chargé. Ce handle est la porte d’entrée vers la couche de formulaire interactif de PDFium : c’est le paramètre qu’attendent chaque fonction FORM_* et FPDF_FFL*, et il régit le rendu des champs de formulaire, la distribution des événements souris / clavier, le suivi du focus et les callbacks JavaScript / XFA (PDFium fpdf_formfill.h)
Le handle est créé quand Active passe à True et détruit quand Active revient à False ou que le composant est libéré. Traitez-le comme opaque et de courte durée — ne stockez pas la valeur au-delà d’un seul cycle chargement/déchargement, et n’appelez jamais vous-même FPDFDOC_ExitFormFillEnvironment dessus ; le composant possède sa durée de vie
FormHandle est une propriété avancée, utile pour router des événements de formulaire de bas niveau (distribution souris / clavier personnalisée, focus programmatique de champ, régénération d’apparences scriptée, rafraîchissement XFA) quand les propriétés de haut niveau FormField / FormFieldAt ne sont pas assez granulaires. Pour le rendu des formulaires, le TPdfView VCL branche déjà ce handle dans sa boucle de rendu ; l’utilisation manuelle n’est nécessaire que si vous contournez la visionneuse fournie ou implémentez un pipeline d’événements alternatif
nil lorsqu’aucun document n’est chargé. Vérifiez toujours avant d’invoquer les API de remplissage de formulaire PDFium
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);