PDFium Delphi Component Docs

ExportXFDF Méthode

Composant: TPdf  ·  Unit: PDFium
Sérialise chaque valeur de champ de formulaire et annotation sur toutes les pages du document chargé dans un document XFDF (ISO 19444-1), écrit comme XML UTF-8 avec l’espace de noms http://ns.adobe.com/xfdf/

Syntax

function ExportXFDF(const FileName: string): Integer; overload;
function ExportXFDF(Stream: TStream): Integer; overload;
function ExportXFDFToStream(Stream: TStream): Integer;

Description

ExportXFDF parcourt chaque page du document chargé et produit un document XFDF conforme ISO 19444-1 enraciné dans l’espace de noms http://ns.adobe.com/xfdf/. La sortie consiste en une section <fields> et une section <annots>, toutes deux émises en XML UTF-8

Pour les champs de formulaire, la méthode énumère les annotations de widget de chaque page, lit chaque valeur de champ et écrit un élément <field>. Les noms de champ hiérarchiques (qualifiés) sont divisés sur le séparateur de point et émis comme éléments <field> imbriqués afin que la structure parent/enfant fasse l’aller-retour. Les cases à cocher et boutons radio exportent leur valeur d’export (le nom d’état d’apparence représentant l’état activé) comme valeur de champ. Les champs de signature sont listés mais leur valeur n’est jamais exportée

Les drapeaux de présence de valeur gardent une valeur de champ explicitement vide distincte d’une valeur omise, y compris les champs imbriqués à plus de deux niveaux de profondeur

Pour les annotations, chaque annotation non-widget, non-popup de chaque page est sérialisée. L’exportateur reconnaît 18 valeurs /Subtype : text, highlight, underline, strikeout, squiggly, line, circle, square, caret, polygon, polyline, stamp, ink, freetext, fileattachment, sound, link et redact. Chacune est écrite comme élément sous <annots> portant son index de page, son rectangle englobant, son contenu, son titre (auteur), son nom (NM), son sujet, ses dates de modification et de création, ses drapeaux et sa couleur

Les conventions d’encodage suivent ISO 19444-1 : les couleurs sont écrites comme chaînes hex #RRGGBB ; les listes de coordonnées (rectangle, extrémités de ligne, sommets de polygone/polyligne, listes d’encre) sont des nombres séparés par des virgules ; et les drapeaux d’annotation sont émis comme une liste de noms de drapeaux séparée par des virgules plutôt qu’un masque de bits brut

Pour les annotations de balisage multi-lignes, l’attribut coords inclut chaque quadrilatère dans l’ordre du document plutôt que seulement la première ligne

Le contenu d’annotation utilise la même sémantique de présence, donc un élément contents vide explicite survit à l’export sans transformer un élément absent en élément vide

PDFium n’expose lui-même aucune API XFDF. ExportXFDF est entièrement implémenté en Pascal par PDFium Delphi Component au-dessus de son propre modèle de données d’annotation et de champ de formulaire, en interrogeant PDFium uniquement pour les valeurs d’attribut par annotation

Renvoie le nombre d’octets UTF-8 écrits. La surcharge Stream accepte un TStream dans lequel écrire ; la surcharge FileName accepte un chemin de fichier et crée/tronque ce fichier. ExportXFDFToStream est un alias de la surcharge Stream

Remarks

Example

// Export all fields and annotations to an .xfdf file
BytesWritten := Pdf1.ExportXFDF('C:\Data\form.xfdf');

// Or to a stream
var
  Stream: TFileStream;
begin
  Stream := TFileStream.Create('C:\Data\form.xfdf', fmCreate);
  try
    Pdf1.ExportXFDF(Stream);
  finally
    Stream.Free;
  end;
end;

See Also

ImportXFDF, Annotation, AnnotationCount, FormFieldInfo