property FormFieldAt[X, Y: Single]: WString; // read / write
FormFieldAt recherche l’annotation de widget AcroForm qui contient le point (X, Y) en espace page et expose sa valeur sous forme de chaîne Unicode. Les coordonnées sont en espace utilisateur PDF, avec l’origine au coin inférieur gauche de la page et des unités en points (1/72 pouce). La lecture de la propriété renvoie la valeur actuelle du champ (/V) décodée en WString ; l’écriture met à jour le champ et régénère les flux d’apparence afin que la nouvelle valeur s’affiche au prochain rendu
Renvoie une chaîne vide quand Active vaut False, lorsque le document ne possède pas d’AcroForm, ou lorsqu’aucun widget ne couvre la coordonnée. La politique de correspondance reflète FormFieldInfoAt : uniquement les rectangles de widget (pas de hit-testing lié à l’apparence), le widget le plus haut gagne en cas de chevauchement. Les écritures sont sans effet quand la coordonnée rate tous les widgets
Pour les widgets de case à cocher et de bouton radio, la sémantique de la valeur suit la spécification PDF — attribuer 'Off' efface le champ, attribuer la valeur correspondant au nom d’état actif /AP /N (généralement 'Yes' ou la valeur d’export) le coche. Pour les champs texte, tout ce que vous attribuez devient le nouveau contenu /V. Les listes / zones combinées acceptent la valeur d’export associée à l’une des entrées d’option. Utilisez d’abord FormFieldInfoAt pour inspecter le FieldType si le type de champ est incertain
SaveToFile / SaveToStreamFormFieldAt / FormField sont sûres en séquence mais ne les appelez jamais depuis des threads d’arrière-plan — les champs de formulaire PDFium ne sont pas thread-safe
// 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';