Importer et exporter des données
- S'applique à :
- Experience Manager 6.5
Créé pour :
- Développeur
Les exemples et les échantillons de ce document sont réservés à l’environnement AEM Forms sur JEE.
À propos du service d’intégration des données de formulaire
Le service d’intégration des données de formulaire peut importer des données dans un formulaire PDF et exporter des données d’un formulaire PDF. Les opérations d’import et d’export prennent en charge deux types de formulaires PDF :
- Un formulaire PDF (créé dans Acrobat) est un document PDF qui contient des champs de formulaire.
- Un formulaire XML d’Adobe (créé dans Designer) est un document PDF conforme à l’Adobe XML Forms Architecture (XFA).
Les données de formulaire peuvent exister dans l’un des formats suivants en fonction du type de formulaire de PDF :
- Un fichier XFDF, qui constitue une version XML du format de données de formulaire Acrobat.
- Un fichier XDP, qui correspond à un fichier XML contenant des définitions de champ de formulaire. Ce fichier peut également inclure des données de champ de formulaire, ainsi qu’un fichier PDF incorporé. Un fichier XDP généré par Designer n’est utilisable que s’il incorpore un document PDF codé en base 64.
Vous pouvez accomplir ces tâches à l’aide du service d’intégration des données de formulaire :
- Importez des données dans les formulaires PDF. Pour plus d’informations, voir Importer des données de formulaire.
- Exporter des données des formulaires PDF Pour plus d’informations, voir Exporter des données de formulaire.
Importer des données de formulaire
Vous pouvez importer des données de formulaire dans des formulaires PDF interactifs à l’aide du service d’intégration des données de formulaire. Un formulaire PDF interactif est un document PDF contenant un ou plusieurs champs pour la collecte d’informations auprès d’un utilisateur ou l’affichage d’informations personnalisées. Le service d’intégration des données de formulaire ne prend pas en charge les calculs de formulaire, la validation ou les scripts.
Pour importer des données dans un formulaire créé dans Designer, vous devez référencer une source de données XML XDP valide. Examinez l’exemple de formulaire de demande de prêt suivant :
Pour importer des valeurs de données dans ce formulaire, vous devez disposer d’une source de données XML XDP valide correspondant au formulaire. Vous ne pouvez pas utiliser une source de données XML arbitraire pour importer des données dans un formulaire à l’aide du service d’intégration des données de formulaire. La différence entre une source de données XML arbitraire et une source de données XML XDP est qu’une source de données XDP est conforme à l’architecture Forms XML (XFA). Le code XML suivant représente une source de données XML XDP correspondant à l’exemple de formulaire de demande de prêt immobilier.
<?xml version="1.0" encoding="UTF-8" ?>
- <xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
- <xfa:data>
- <data>
- <Layer>
<closeDate>1/26/2007</closeDate>
<lastName>Johnson</lastName>
<firstName>Jerry</firstName>
<mailingAddress>JJohnson@NoMailServer.com</mailingAddress>
<city>New York</city>
<zipCode>00501</zipCode>
<state>NY</state>
<dateBirth>26/08/1973</dateBirth>
<middleInitials>D</middleInitials>
<socialSecurityNumber>(555) 555-5555</socialSecurityNumber>
<phoneNumber>5555550000</phoneNumber>
</Layer>
- <Mortgage>
<mortgageAmount>295000.00</mortgageAmount>
<monthlyMortgagePayment>1724.54</monthlyMortgagePayment>
<purchasePrice>300000</purchasePrice>
<downPayment>5000</downPayment>
<term>25</term>
<interestRate>5.00</interestRate>
</Mortgage>
</data>
</xfa:data>
</xfa:datasets>
Résumé des étapes
Pour importer des données de formulaire dans un formulaire PDF, procédez comme suit :
- Incluez les fichiers de projet.
- Créez un client de service d’intégration des données de formulaire.
- Référencez un formulaire PDF.
- Référencez une source de données XML.
- Importez des données dans un formulaire PDF.
- Enregistrez le formulaire au format PDF.
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services web, veillez à inclure les fichiers proxy.
Les fichiers JAR suivants doivent être ajoutés au chemin d’accès aux classes de votre projet :
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-formdataintegration-client.jar
- adobe-utilities.jar (Requis si AEM Forms est déployé sur JBoss)
- jbossall-client.jar (Requis si AEM Forms est déployé sur JBoss)
Pour plus d’informations sur l’emplacement de ces fichiers, voir Inclure des fichiers de bibliothèque Java AEM Forms.
Créer un client de service d’intégration des données de formulaire
Avant de pouvoir importer des données par programmation dans une API client de formulaire PDF, vous devez créer un client de service Data Integration (Intégration de données). Lors de la création d’un client de service, vous définissez les paramètres de connexion requis pour appeler un service. Pour plus d’informations, voir Définition des propriétés de connexion.
Référencer un formulaire PDF
Pour importer des données dans un formulaire PDF, vous devez référencer un formulaire XML créé dans Designer ou un formulaire Acrobat créé dans Acrobat.
Référencer une source de données XML
Pour importer des données de formulaire, vous devez référencer une source de données valide. Pour importer des données dans un formulaire XML XFA créé dans Designer, vous devez utiliser une source de données XML XDP. Si vous référencez un formulaire Acrobat, vous devez utiliser une source de données XFDF. Pour chaque champ dans lequel vous souhaitez importer des données, une valeur doit être spécifiée. Si un élément situé dans la source de données XML ne correspond pas à un champ du formulaire, cet élément est ignoré.
Importer les données dans un formulaire PDF
Après avoir référencé un formulaire PDF et une source de données XML valide, vous pouvez importer les données dans le formulaire PDF.
Enregistrer le formulaire au format PDF
Après avoir importé des données dans un formulaire, vous pouvez enregistrer le formulaire en tant que fichier PDF. Une fois enregistré en tant que fichier PDF, l’utilisateur peut ouvrir le formulaire dans Adobe Reader ou Acrobat et l’afficher avec les données importées.
Voir également
Importer des données de formulaire à l’aide de l’API Java
Importer des données de formulaire à l’aide de l’API Web Service
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Démarrage rapide de l’API Form Data du service d’intégration
Importer des données de formulaire à l’aide de l’API Java
Pour importer des données de formulaire à l’aide de l’API Form Data Integration (Java), procédez comme suit :
-
Incluez les fichiers de projet.
Incluez les fichiers JAR du client, tels que adobe-formdataintegration-client.jar, dans le chemin d’accès aux classes de votre projet Java.
-
Créez un client de service d’intégration des données de formulaire.
- Créez un objet
ServiceClientFactoryqui contient des propriétés de connexion. - Créez un objet
FormDataIntegrationClienten utilisant son constructeur et en transmettant l’objetServiceClientFactory.
- Créez un objet
-
Référencez un formulaire PDF.
- Créez un objet
java.io.FileInputStreamen utilisant son constructeur. Transmettez une valeur de chaîne spécifiant l’emplacement du formulaire PDF. - Créez un objet
com.adobe.idp.Documentqui stocke le formulaire PDF à l’aide du constructeurcom.adobe.idp.Document. Transmettez l’objetjava.io.FileInputStreamqui contient le formulaire PDF au constructeur.
- Créez un objet
-
Référencez une source de données XML.
- Créez un objet
java.io.FileInputStreamen utilisant son constructeur et en transmettant une valeur de chaîne qui spécifie l’emplacement du fichier XML contenant les données à importer dans le formulaire. - Créez un objet
com.adobe.idp.Documentqui stocke les données de formulaire à l’aide du constructeurcom.adobe.idp.Document. Transmettez l’objetjava.io.FileInputStreamcontenant des données de formulaire au constructeur.
- Créez un objet
-
Importez des données dans un formulaire PDF.
Importez des données dans un formulaire PDF en appelant la méthode
importDatade l’objetFormDataIntegrationClientet en transmettant les valeurs suivantes :- L’objet
com.adobe.idp.Documentqui stocke le formulaire PDF. - L’objet
com.adobe.idp.Documentqui stocke les données de formulaire.
La méthode
importDatarenvoie un objetcom.adobe.idp.Documentqui stocke un formulaire PDF contenant les données situées dans la source de données XML. - L’objet
-
Enregistrez le formulaire au format PDF.
- Créez un objet
java.io.Fileet assurez-vous que l’extension du fichier est « .PDF ». - Appelez la méthode
copyToFilede l’objetDocumentpour copier le contenu de l’objetDocumentdans le fichier (assurez-vous d’utiliser l’objetDocumentqui a été renvoyé par la méthodeimportData).
- Créez un objet
Importer des données de formulaire à l’aide de l’API Web Service
Pour importer des données de formulaire à l’aide de l’API Form Data Integration (service web), procédez comme suit :
-
Incluez les fichiers de projet.
Créez un projet Microsoft .NET qui utilise MTOM. Veillez à utiliser la définition WSDL suivante :
http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1.NOTE
Remplacezlocalhostpar l’adresse IP du serveur hébergeant AEM Forms. -
Créez un client de service d’intégration des données de formulaire.
-
Créez un objet
FormDataIntegrationClienten utilisant son constructeur par défaut. -
Créez un objet
FormDataIntegrationClient.Endpoint.Addressen utilisant le constructeurSystem.ServiceModel.EndpointAddress. Transmettez une valeur string qui spécifie le WSDL au service AEM Forms (par exemplehttp://localhost:8080/soap/services/FormDataIntegration?blob=mtom). Il n’est pas nécessaire d’utiliser l’attributlc_version. Cet attribut est utilisé lorsque vous créez une référence de service. Toutefois, spécifiez?blob=mtompour utiliser MTOM. -
Créez un objet
System.ServiceModel.BasicHttpBindingen obtenant la valeur du champFormDataIntegrationClient.Endpoint.Binding. Convertissez la valeur de retour enBasicHttpBinding. -
Définissez le champ
MessageEncodingde l’objetSystem.ServiceModel.BasicHttpBindingsurWSMessageEncoding.Mtom. Cette valeur garantit l’utilisation de MTOM. -
Activez l’authentification HTTP de base en effectuant les tâches suivantes :
- Attribuez le nom d’utilisateur AEM forms au champ
FormDataIntegrationClient.ClientCredentials.UserName.UserName. - Attribuez la valeur de mot de passe correspondante au champ
FormDataIntegrationClient.ClientCredentials.UserName.Password. - Attribuez la valeur constante
HttpClientCredentialType.Basicau champBasicHttpBindingSecurity.Transport.ClientCredentialType. - Attribuez la valeur constante
BasicHttpSecurityMode.TransportCredentialOnlyau champBasicHttpBindingSecurity.Security.Mode.
- Attribuez le nom d’utilisateur AEM forms au champ
-
-
Référencez un formulaire PDF.
- Créez un objet
BLOBen utilisant son constructeur. Cet objetBLOBsert à stocker le formulaire PDF. - Créez un objet
System.IO.FileStreamen appelant son constructeur. Transmettez une valeur de chaîne qui spécifie l’emplacement du formulaire PDF et son mode d’ouverture. - Créez un tableau d’octets qui stocke le contenu de l’objet
System.IO.FileStream. Vous pouvez déterminer la taille du tableau d’octets en obtenant la propriétéLengthde l’objetSystem.IO.FileStream. - Renseignez le tableau d’octets avec le flux de données en appelant la méthode
Readde l’objetSystem.IO.FileStream. Transmettez le tableau d’octets, la position de départ et la longueur du flux à lire. - Renseignez l’objet
BLOBen attribuant à son champMTOMle contenu du tableau d’octets.
- Créez un objet
-
Référencez une source de données XML.
- Créez un objet
BLOBen utilisant son constructeur. Cet objetBLOBsert à stocker les données importées dans le formulaire. - Créez un objet
System.IO.FileStreamen appelant son constructeur. Transmettez une valeur de chaîne indiquant l’emplacement du fichier XML qui contient les données à importer et le mode d’ouverture du fichier. - Créez un tableau d’octets qui stocke le contenu de l’objet
System.IO.FileStream. Vous pouvez déterminer la taille du tableau d’octets en obtenant la propriétéLengthde l’objetSystem.IO.FileStream. - Renseignez le tableau d’octets avec le flux de données en appelant la méthode
Readde l’objetSystem.IO.FileStream. Transmettez le tableau d’octets, la position de départ et la longueur du flux à lire. - Renseignez l’objet
BLOBen attribuant à son champMTOMle contenu du tableau d’octets.
- Créez un objet
-
Importez des données dans un formulaire PDF.
Importez des données dans le formulaire PDF en appelant la méthode
importDatade l’objetFormDataIntegrationClientet en transmettant les valeurs suivantes :- L’objet
BLOBqui stocke le formulaire PDF. - L’objet
BLOBqui stocke les données de formulaire.
La méthode
importDatarenvoie un objetBLOBqui stocke un formulaire PDF contenant les données situées dans la source de données XML. - L’objet
-
Enregistrez le formulaire au format PDF.
- Créez un objet
System.IO.FileStreamen appelant son constructeur et en transmettant une valeur de chaîne qui représente l’emplacement du fichier PDF. - Créez un tableau d’octets qui stocke le contenu des données de l’objet
BLOBqui a été renvoyé par la méthodeimportData. Renseignez le tableau d’octets en obtenant la valeur du champMTOMde l’objetBLOB. - Créez un objet
System.IO.BinaryWriteren utilisant son constructeur et en transmettant l’objetSystem.IO.FileStream. - Écrivez le contenu du tableau d’octets dans un fichier PDF en appelant la méthode
Writede l’objetSystem.IO.BinaryWriteret en transmettant le tableau d’octets.
- Créez un objet
Exporter des données de formulaire
Vous pouvez exporter des données de formulaire à partir d’un formulaire PDF interactif à l’aide du service d’intégration de données de formulaire. Le format des données exportées dépend du type de formulaire. Si le type de formulaire est un formulaire Acrobat créé dans Acrobat, alors les données exportées sont au format XFDF. Si le type de formulaire est un formulaire XML qui a été créé dans Designer, alors les données exportées sont au format XDP.
Résumé des étapes
Pour exporter les données d’un formulaire PDF, procédez comme suit :
- Inclure les fichiers du projet
- Créez un client de service d’intégration des données de formulaire.
- Référencez un formulaire PDF.
- Exportez les données du formulaire PDF.
- Enregistrez les données exportées sous forme de fichier XML.
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services web, veillez à inclure les fichiers proxy.
Les fichiers JAR suivants doivent être ajoutés au chemin d’accès aux classes de votre projet :
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-formdataintegration-client.jar
- adobe-utilities.jar (Requis si AEM Forms est déployé sur JBoss)
- jbossall-client.jar (Requis si AEM Forms est déployé sur JBoss)
Créer un client de service d’intégration de données de formulaire
Avant de pouvoir importer des données par programmation dans une API formClient PDF, vous devez créer un client de service d’intégration de données. Lors de la création d’un client de service, vous définissez les paramètres de connexion requis pour appeler un service. Pour plus d’informations, consultez la section Définir les propriétés de connexion.
Référencer un formulaire PDF
Pour exporter les données d’un formulaire PDF, vous devez référencer le formulaire PDF créé dans Designer ou Acrobat et contenant des données de formulaire. Si vous tentez d’exporter des données à partir d’un formulaire PDF vide, vous obtiendrez un schéma XML vide.
Exporter les données du formulaire PDF
Une fois que vous avez référencé un formulaire PDF contenant des données de formulaire, vous pouvez exporter les données du formulaire. Les données sont exportées dans un schéma XML basé sur le formulaire.
Enregistrer les données du formulaire sous forme de fichier XML
Une fois les données de formulaire exportées, vous pouvez les enregistrer au format XML. Une fois enregistré en tant que fichier XML, vous pouvez lʼouvrir dans une visionneuse XML pour afficher les données de formulaire.
Voir également
Exporter des données de formulaire à l’aide de l’API Java
Exporter des données de formulaire à l’aide de l’API de service web
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Démarrage rapide de l’API Form Data du service d’intégration
Exporter des données de formulaire à l’aide de l’API Java
Pour exporter les données de formulaire à l’aide de l’API Form Data Integration (Java), procédez comme suit :
-
Incluez les fichiers de projet.
Incluez les fichiers JAR du client, tels que adobe-formdataintegration-client.jar, dans le chemin d’accès aux classes de votre projet Java.
-
Créez un client de service d’intégration des données de formulaire.
- Créez un objet
ServiceClientFactoryqui contient des propriétés de connexion. - Créez un objet
FormDataIntegrationClienten utilisant son constructeur et en transmettant l’objetServiceClientFactory.
- Créez un objet
-
Référencez un formulaire PDF.
- Créez un objet
java.io.FileInputStreamen utilisant son constructeur et en transmettant une valeur de chaîne qui spécifie l’emplacement du formulaire PDF contenant les données à exporter. - Créez un objet
com.adobe.idp.Documentqui stocke le formulaire PDF à l’aide du constructeurcom.adobe.idp.Document. Transmettez au constructeur l’objetjava.io.FileInputStreamqui contient le formulaire PDF.
- Créez un objet
-
Exportez les données du formulaire PDF.
Exportez les données du formulaire en appelant la méthode
exportDatade l’objetFormDataIntegrationClientet en transmettant l’objetcom.adobe.idp.Documentqui stocke le formulaire PDF. Cette méthode renvoie un objetcom.adobe.idp.Documentqui stocke les données du formulaire sous forme de schéma XML. -
Enregistrez le formulaire au format PDF.
- Créez un objet
java.io.Fileet assurez-vous que l’extension du fichier est XML. - Appelez la méthode
copyToFilede l’objetDocumentpour copier le contenu de l’objetDocumentdans le fichier (veillez à utiliser l’objetDocumentrenvoyé par la méthodeexportData).
- Créez un objet
Exporter des données de formulaire à l’aide de l’API de service web
Pour exporter les données de formulaire à l’aide de l’API Form Data Integration (service web), procédez comme suit :
-
Incluez les fichiers de projet.
Créez un projet Microsoft .NET qui utilise MTOM. Veillez à utiliser la définition WSDL suivante :
http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1.- Remplacez
localhostpar l’adresse IP du serveur hébergeant AEM Forms.
- Remplacez
-
Créez un client de service d’intégration des données de formulaire.
-
Créez un objet
FormDataIntegrationClienten utilisant son constructeur par défaut. -
Créez un objet
FormDataIntegrationClient.Endpoint.Addressen utilisant le constructeurSystem.ServiceModel.EndpointAddress. Transmettez une valeur string qui spécifie le WSDL au service AEM Forms (par exemplehttp://localhost:8080/soap/services/FormDataIntegration?blob=mtom). Il n’est pas nécessaire d’utiliser l’attributlc_version. Cet attribut est utilisé lorsque vous créez une référence de service. Toutefois, spécifiez?blob=mtompour utiliser MTOM. -
Créez un objet
System.ServiceModel.BasicHttpBindingen obtenant la valeur du champFormDataIntegrationClient.Endpoint.Binding. Convertissez la valeur de retour enBasicHttpBinding. -
Définissez le champ
MessageEncodingde l’objetSystem.ServiceModel.BasicHttpBindingsurWSMessageEncoding.Mtom. Cette valeur garantit l’utilisation de MTOM. -
Activez l’authentification HTTP de base en effectuant les tâches suivantes :
- Attribuez le nom d’utilisateur AEM forms au champ
FormDataIntegrationClient.ClientCredentials.UserName.UserName. - Attribuez la valeur de mot de passe correspondante au champ
FormDataIntegrationClient.ClientCredentials.UserName.Password. - Attribuez la valeur constante
HttpClientCredentialType.Basicau champBasicHttpBindingSecurity.Transport.ClientCredentialType. - Attribuez la valeur constante
BasicHttpSecurityMode.TransportCredentialOnlyau champBasicHttpBindingSecurity.Security.Mode.
- Attribuez le nom d’utilisateur AEM forms au champ
-
-
Référencez un formulaire PDF.
- Créez un objet
BLOBen utilisant son constructeur. Cet objetBLOBest utilisé pour stocker le formulaire PDF à partir duquel les données sont exportées. - Créez un objet
System.IO.FileStreamen utilisant son constructeur. Transmettez une valeur de chaîne qui spécifie l’emplacement du formulaire PDF et son mode d’ouverture. - Créez un tableau d’octets qui stocke le contenu de l’objet
System.IO.FileStream. Vous pouvez déterminer la taille du tableau d’octets en obtenant la propriétéLengthde l’objetSystem.IO.FileStream. - Renseignez le tableau d’octets avec les données de diffusion en appelant la méthode
Readde l’objetSystem.IO.FileStreamet en transmettant le tableau d’octets, la position de départ et la longueur du flux à lire. - Renseignez l’objet
BLOBen attribuant le contenu du tableau d’octets à son champMTOM.
- Créez un objet
-
Exportez les données du formulaire PDF.
Importez les données dans un formulaire PDF en appelant la méthode
exportDatade l’objetFormDataIntegrationClientet en transmettant l’objetBLOBqui stocke le formulaire PDF. Cette méthode renvoie un objetBLOBqui stocke les données du formulaire sous forme de schéma XML. -
Enregistrez le formulaire au format PDF.
- Créez un objet
System.IO.FileStreamen appelant son constructeur et en transmettant une valeur de chaîne qui représente l’emplacement du fichier XML. - Créez un tableau d’octets qui stocke le contenu des données de l’objet
BLOBqui a été renvoyé par la méthodeexportData. Renseignez le tableau d’octets en obtenant la valeur du champMTOMde l’objetBLOB. - Créez un objet
System.IO.BinaryWriteren appelant son constructeur et en transmettant l’objetSystem.IO.FileStream. - Écrivez le contenu du tableau d’octets dans un fichier XML en appelant la méthode
Writede l’objetSystem.IO.BinaryWriteret en transmettant le tableau d’octets.
- Créez un objet
Voir également