Les exemples et exemples de ce document ne concernent que l’environnement AEM Forms on JEE.
Les applications Web permettant aux utilisateurs de remplir des formulaires interactifs requièrent que les données soient renvoyées au serveur. Le service Forms vous permet de récupérer les données de formulaire saisies par l’utilisateur dans un formulaire interactif. Vous pouvez ensuite transmettre les données de formulaire à une autre opération de service AEM Forms et créer un document PDF à l’aide des données.
Avant de lire ce contenu, il est recommandé de bien comprendre la gestion des formulaires envoyés. Les concepts tels que la relation entre une conception de formulaire et les données XML envoyées sont traités dans Gestion des Forms envoyées.
Tenez compte du processus suivant qui implique trois services AEM Forms :
Le diagramme suivant fournit une représentation visuelle de ce processus.
Une fois que l’utilisateur a envoyé le formulaire à partir du navigateur Web client, le document PDF non interactif est stocké dans Content Services (obsolète). L’illustration suivante présente un document PDF stocké dans Content Services (obsolète).
Pour créer un document PDF non interactif avec des données XML envoyées et le stocker dans le document PDF de Content Services (obsolète), effectuez les tâches suivantes :
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.
Création d’objets Forms, Output et Document Management
Avant de pouvoir exécuter par programmation une opération d’API de service Forms, créez un objet API Client Forms. De même, dans la mesure où ce processus appelle les services Output et Document Management, créez un objet API Client Output et un objet API Client Document Management.
Récupération des données de formulaire à l’aide du service Forms
Récupérez les données de formulaire qui ont été envoyées au service Forms. Vous pouvez traiter les données envoyées pour répondre aux besoins de votre entreprise. Par exemple, vous pouvez stocker des données de formulaire dans une base de données d’entreprise. Toutefois, pour créer un document PDF non interactif, les données de formulaire sont transmises au service Output.
Créez un document PDF non interactif à l’aide du service Output.
Utilisez le service Output pour créer un document PDF non interactif basé sur une conception de formulaire et des données de formulaire XML. Dans le processus, les données de formulaire sont récupérées à partir du service Forms.
Stockage du formulaire PDF dans Content Services (obsolète) à l’aide du service Document Management
Utilisez l’API du service Document Management pour stocker un document PDF dans Content Services (obsolète).
Voir également
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Débuts rapides de l’API du service Forms
Créez un document PDF avec les données XML envoyées à l’aide de l’API Forms, Output et Document Management (Java) :
Inclure les fichiers de projet
Incluez les fichiers JAR client, tels que adobe-forms-client.jar, adobe-output-client.jar et adobe-contentservices-client.jar dans le chemin de classe de votre projet Java.
Création d’objets Forms, Output et Document Management
ServiceClientFactory
qui contient des propriétés de connexion.FormsServiceClient
en utilisant son constructeur et en transmettant l’objet ServiceClientFactory
.OutputClient
en utilisant son constructeur et en transmettant l'objet ServiceClientFactory
.DocumentManagementServiceClientImpl
en utilisant son constructeur et en transmettant l’objet ServiceClientFactory
.Récupération des données de formulaire à l’aide du service Forms
Appelez la méthode processFormSubmission
de l’objet FormsServiceClient
et transmettez les valeurs suivantes :
com.adobe.idp.Document
contenant les données du formulaire.CONTENT_TYPE
. Par exemple, pour gérer les données XML, spécifiez la valeur de chaîne suivante pour ce paramètre : CONTENT_TYPE=text/xml
.HTTP_USER_AGENT
, telle que Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
.RenderOptionsSpec
qui stocke les options d’exécution.La méthode processFormSubmission
renvoie un objet FormsResult
contenant les résultats de l’envoi du formulaire.
Déterminez si le service Forms a terminé de traiter les données de formulaire en appelant la méthode FormsResult
de l’objet getAction
. Si cette méthode renvoie la valeur 0
, les données sont prêtes à être traitées.
Récupérez les données de formulaire en créant un objet com.adobe.idp.Document
en appelant la méthode FormsResult
de l'objet getOutputContent
. (Cet objet contient des données de formulaire qui peuvent être envoyées au service Output.)
Créez un objet java.io.InputStream
en appelant le constructeur java.io.DataInputStream
et en transmettant l'objet com.adobe.idp.Document
.
Créez un objet org.w3c.dom.DocumentBuilderFactory
en appelant la méthode org.w3c.dom.DocumentBuilderFactory
statique de l'objet newInstance
.
Créez un objet org.w3c.dom.DocumentBuilder
en appelant la méthode org.w3c.dom.DocumentBuilderFactory
de l'objet newDocumentBuilder
.
Créez un objet org.w3c.dom.Document
en appelant la méthode org.w3c.dom.DocumentBuilder
de l'objet parse
et en transmettant l'objet java.io.InputStream
.
Récupérez la valeur de chaque noeud dans le document XML. Pour accomplir cette tâche, vous pouvez créer une méthode personnalisée qui accepte deux paramètres : l’objet org.w3c.dom.Document
et le nom du noeud dont vous souhaitez récupérer la valeur. Cette méthode renvoie une valeur de chaîne représentant la valeur du noeud. Dans l'exemple de code qui suit ce processus, cette méthode personnalisée est appelée getNodeText
. Le corps de cette méthode s’affiche.
Créez un document PDF non interactif à l’aide du service Output.
Créez un document PDF en appelant la méthode generatePDFOutput
de l’objet OutputClient
et en transmettant les valeurs suivantes :
TransformationFormat
. Pour générer un document PDF, spécifiez TransformationFormat.PDF
.PDFOutputOptionsSpec
contenant des options d’exécution PDF.RenderOptionsSpec
contenant les options d’exécution de rendu.com.adobe.idp.Document
contenant la source de données XML contenant les données à fusionner avec la conception de formulaire. Assurez-vous que cet objet a été renvoyé par la méthode getOutputContent
de l’objet FormsResult
.generatePDFOutput
renvoie un objet OutputResult
contenant les résultats de l'opération.OutputResult
de l’objet getGeneratedDoc
. Cette méthode renvoie une instance com.adobe.idp.Document
qui représente le document PDF non interactif.Stockage du formulaire PDF dans Content Services (obsolète) à l’aide du service Document Management
Ajoutez le contenu en appelant la méthode storeContent
de l’objet DocumentManagementServiceClientImpl
et en transmettant les valeurs suivantes :
SpacesStore
. Cette valeur est un paramètre obligatoire./Company Home/Test Directory
). Cette valeur est un paramètre obligatoire.MortgageForm.pdf
). Cette valeur est un paramètre obligatoire.{https://www.alfresco.org/model/content/1.0}content
. Cette valeur est un paramètre obligatoire.com.adobe.idp.Document
qui représente le contenu. Cette valeur est un paramètre obligatoire.UTF-8
). Cette valeur est un paramètre obligatoire.UpdateVersionType
qui spécifie comment gérer les informations de version (par exemple, UpdateVersionType.INCREMENT_MAJOR_VERSION
pour incrémenter la version de contenu. ) Cette valeur est un paramètre obligatoire.java.util.List
qui spécifie les aspects liés au contenu. Cette valeur est un paramètre facultatif et vous pouvez spécifier null
.java.util.Map
qui stocke les attributs de contenu.La méthode storeContent
renvoie un objet CRCResult
qui décrit le contenu. A l’aide d’un objet CRCResult
, vous pouvez, par exemple, obtenir la valeur d’identificateur unique du contenu. Pour exécuter cette tâche, appelez la méthode CRCResult
de l’objet getNodeUuid
.
Voir également
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion