function ImportXFDF(const FileName: string): Integer; overload;
function ImportXFDF(Stream: TStream): Integer; overload;
ImportXFDF analyse le document XML XFDF et applique ses sections <fields> et <annots> au PDF actuellement chargé
Pour chaque élément <field>, le nom qualifié (à points) est mis en correspondance avec les annotations de widget du document et la valeur est écrite dans l’entrée /V du champ. Pour les champs case à cocher et bouton radio, la valeur d’export fournie est utilisée pour sélectionner l’apparence d’état activé correspondante, afin que le champ soit rendu comme coché
Une <value> explicitement vide efface le champ correspondant, tandis qu’une valeur omise le laisse inchangé ; les noms de champ à points profondément imbriqués conservent leur hiérarchie complète
Pour chaque élément d’annotation, une nouvelle annotation est créée sur la page indiquée par l’attribut page (base 0). Après création, l’importateur remplit Contents, Author (titre), Name (NM), Subject, ModificationDate, CreationDate, Icon et les drapeaux d’annotation depuis les attributs XFDF correspondants
Renvoie le nombre total de champs et d’annotations traités
L’import d’annotation applique les couleurs RVB et intérieures, préserve les champs texte vides explicites, analyse les coordonnées décimales indépendamment de la locale du processus, et restaure chaque quadrilatère de balisage depuis l’attribut coords
Le scanner accepte les éléments et attributs à préfixe d’espace de noms, les nœuds de texte et CDATA mixtes, les références d’entité XML et le contenu de champ ou d’annotation significatif en espaces ; les références de scalaire Unicode numériques invalides rejettent l’entrée XFDF
Un élément contents d’annotation omis laisse le contenu de la nouvelle annotation absent, tandis qu’un élément vide explicite écrit une valeur vide
L’attribut rect est obligatoire pour chaque annotation : s’il est manquant, l’annotation est ignorée plutôt que créée avec un rectangle de taille nulle
L’analyse est effectuée par un scanner XML écrit à la main plutôt qu’un DOM XML complet, donc ImportXFDF n’introduit aucune dépendance DOM XML
SaveAs ensuitecoords ; les extrémités de ligne, les sommets de polygone/polyligne et les listes d’encre restent en lecture seule car PDFium n’expose pas de setters correspondants pour ces tableaux de nombres
// Import field values and annotations from an .xfdf file
Imported := Pdf1.ImportXFDF('C:\Data\form.xfdf');
Pdf1.SaveAs('C:\Data\form_filled.pdf');