Les exemples et les exemples de ce document sont réservés à l’environnement AEM Forms on JEE.
Le service AEM Forms effectue le rendu de PDF forms interactifs sur les appareils clients, généralement les navigateurs Web, afin de collecter des informations auprès des utilisateurs. Un formulaire PDF interactif est basé sur une conception de formulaire généralement enregistrée en tant que fichier XDP et créée dans Designer. Depuis AEM Forms, vous pouvez transmettre au service Forms un objet com.adobe.idp.Document
contenant la conception de formulaire. Le service Forms effectue ensuite le rendu de la conception de formulaire située dans l’objet com.adobe.idp.Document
.
L’un des avantages de la transmission d’un objet com.adobe.idp.Document
au service Forms réside dans le fait que d’autres opérations de service renvoient une instance com.adobe.idp.Document
. En d’autres termes, vous pouvez obtenir une instance com.adobe.idp.Document
à partir d’une autre opération de service et en effectuer le rendu. Supposons, par exemple, qu’un fichier XDP soit stocké dans un noeud Content Services (obsolète) nommé /Company Home/Form Designs
, comme illustré ci-dessous.
Vous pouvez récupérer Loan.xdp par programmation à partir de Content Services (obsolète) (obsolète) et transmettre le fichier XDP au service Forms dans un objet com.adobe.idp.Document
.
Pour plus d’informations sur le service Forms, voir Référence des services pour AEM Forms.
Pour transmettre un document obtenu à partir de Content Services (obsolète) au service Forms, 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, incluez les fichiers proxy.
Création d’un objet API Forms et client Document Management
Avant d’effectuer par programmation une opération d’API de service Forms, créez un objet API client Forms. En outre, comme ce workflow récupère un fichier XDP de Content Services (obsolète), créez un objet API Document Management.
Récupération de la conception de formulaire auprès de Content Services (obsolète)
Récupérez le fichier XDP à partir de Content Services (obsolète) à l’aide de l’API Java ou de service Web. Le fichier XDP est renvoyé dans une instance com.adobe.idp.Document
(ou une instance BLOB
si vous utilisez des services Web). Vous pouvez ensuite transmettre l’instance com.adobe.idp.Document
au service Forms.
Rendu d’un formulaire PDF interactif
Pour effectuer le rendu d’un formulaire interactif, transmettez l’instance com.adobe.idp.Document
qui a été renvoyée de Content Services (obsolète) au service Forms.
Vous pouvez transmettre au service Forms une balise com.adobe.idp.Document
contenant la conception de formulaire. Deux nouvelles méthodes nommées renderPDFForm2
et renderHTMLForm2
acceptent un objet com.adobe.idp.Document
contenant une conception de formulaire.
Exécution d’une action avec le flux de données de formulaire
Selon le type d’application cliente, vous pouvez écrire le formulaire dans un navigateur Web client ou l’enregistrer en tant que fichier PDF. En règle générale, une application web écrit le formulaire dans un navigateur web. Cependant, une application de bureau enregistre généralement le formulaire au format PDF.
Voir également
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Démarrages rapides de l’API Forms Service
Transmettez un document obtenu à partir de Content Services (obsolète) à l’aide du service Forms et de l’API Content Services (obsolète) (Java) :
Inclure les fichiers de projet
Incluez les fichiers JAR client, tels que adobe-forms-client.jar et adobe-contentservices-client.jar, dans le chemin de classe de votre projet Java.
Création d’un objet API Forms et client Document Management
ServiceClientFactory
qui contient des propriétés de connexion. (Voir Réglage des propriétés de la connexion.)FormsServiceClient
en utilisant son constructeur et en transmettant l’objet ServiceClientFactory
.DocumentManagementServiceClientImpl
en utilisant son constructeur et en transmettant l’objet ServiceClientFactory
.Récupération de la conception de formulaire auprès de Content Services (obsolète)
Appelez la méthode retrieveContent
de l’objet DocumentManagementServiceClientImpl
et transmettez les valeurs suivantes :
SpacesStore
. Cette valeur est un paramètre obligatoire./Company Home/Form Designs/Loan.xdp
). Cette valeur est un paramètre obligatoire.La méthode retrieveContent
renvoie un objet CRCResult
contenant le fichier XDP. Obtenez une instance com.adobe.idp.Document
en appelant la méthode getDocument
de l’objet CRCResult
.
Rendu d’un formulaire PDF interactif
Appelez la méthode renderPDFForm2
de l’objet FormsServiceClient
et transmettez les valeurs suivantes :
com.adobe.idp.Document
contenant la conception de formulaire récupérée dans Content Services (obsolète).com.adobe.idp.Document
contenant les données à fusionner avec le formulaire. Si vous ne souhaitez pas fusionner de données, transmettez un objet com.adobe.idp.Document
vide.PDFFormRenderSpec
qui stocke les options d’exécution. Cette valeur est un paramètre facultatif. Vous pouvez spécifier null
si vous ne souhaitez pas spécifier d’options d’exécution.URLSpec
contenant des valeurs URI. Cette valeur est un paramètre facultatif et vous pouvez spécifier null
.java.util.HashMap
qui stocke les pièces jointes. Cette valeur est un paramètre facultatif. Vous pouvez spécifier null
si vous ne souhaitez pas joindre de fichiers au formulaire.La méthode renderPDFForm
renvoie un objet FormsResult
contenant un flux de données de formulaire qui doit être écrit dans le navigateur Web client.
Exécution d’une action avec le flux de données de formulaire
com.adobe.idp.Document
en appelant la méthode FormsResult
de l’objet getOutputContent
.com.adobe.idp.Document
en appelant sa méthode getContentType
.javax.servlet.http.HttpServletResponse
en appelant sa méthode setContentType
et en transmettant le type de contenu de l’objet com.adobe.idp.Document
.javax.servlet.ServletOutputStream
utilisé pour écrire le flux de données de formulaire dans le navigateur Web client en appelant la méthode getOutputStream
de l’objet javax.servlet.http.HttpServletResponse
.java.io.InputStream
en appelant la méthode getInputStream
de l’objet com.adobe.idp.Document
.read
de l’objet InputStream
. Transmettez le tableau d’octets en tant qu’argument.write
de l’objet javax.servlet.ServletOutputStream
pour envoyer le flux de données de formulaire au navigateur Web client. Transmettez le tableau d’octets à la méthode write
.Voir également
Démarrage rapide (mode SOAP) : Transmission de documents au service Forms à l’aide de l’API Java
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Transmettez un document obtenu à partir de Content Services (obsolète) à l’aide du service Forms et de l’API Content Services (obsolète) (service Web) :
Inclure les fichiers de projet
Créez un projet Microsoft .NET qui utilise MTOM. Comme cette application cliente appelle deux services AEM Forms, créez deux références de service. Utilisez la définition WSDL suivante pour la référence de service associée au service Forms : http://localhost:8080/soap/services/FormsService?WSDL&lc_version=9.0.1
.
Utilisez la définition WSDL suivante pour la référence de service associée au service Document Management : http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1
.
Comme le type de données BLOB
est commun aux deux références de service, qualifiez complètement le type de données BLOB
lors de son utilisation. Dans le démarrage rapide du service Web correspondant, toutes les instances BLOB
sont entièrement qualifiées.
Remplacez localhost
par l’adresse IP du serveur hébergeant AEM Forms.
Création d’un objet API Forms et client Document Management
Créez un objet FormsServiceClient
à l’aide de son constructeur par défaut.
Créez un objet FormsServiceClient.Endpoint.Address
à l’aide du constructeur System.ServiceModel.EndpointAddress
. Transmettez une valeur string qui spécifie le WSDL au service AEM Forms (par exemple, http://localhost:8080/soap/services/FormsService?WSDL
). Vous n’avez pas besoin d’utiliser l’attribut lc_version
. Cet attribut est utilisé lorsque vous créez une référence de service.)
Créez un objet System.ServiceModel.BasicHttpBinding
en obtenant la valeur du champ FormsServiceClient.Endpoint.Binding
. Convertissez la valeur de retour en BasicHttpBinding
.
Définissez le champ MessageEncoding
de l’objet System.ServiceModel.BasicHttpBinding
sur WSMessageEncoding.Mtom
. Cette valeur garantit l’utilisation de MTOM.
Activez l’authentification HTTP de base en effectuant les tâches suivantes :
FormsServiceClient.ClientCredentials.UserName.UserName
.FormsServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
au champ BasicHttpBindingSecurity.Transport.ClientCredentialType
.Attribuez la valeur constante BasicHttpSecurityMode.TransportCredentialOnly
au champ BasicHttpBindingSecurity.Security.Mode
.
Répétez ces étapes pour le client de service DocumentManagementServiceClient
.
Récupération de la conception de formulaire auprès de Content Services (obsolète)
Récupérez le contenu en appelant la méthode retrieveContent
de l’objet DocumentManagementServiceClient
et en transmettant les valeurs suivantes :
SpacesStore
. Cette valeur est un paramètre obligatoire./Company Home/Form Designs/Loan.xdp
). Cette valeur est un paramètre obligatoire.BLOB
qui stocke le contenu. Vous pouvez utiliser ce paramètre de sortie pour récupérer le contenu.ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
qui stocke les attributs de contenu.CRCResult
. Au lieu d’utiliser cet objet, vous pouvez utiliser le paramètre de sortie BLOB
pour obtenir le contenu.Rendu d’un formulaire PDF interactif
Appelez la méthode renderPDFForm2
de l’objet FormsServiceClient
et transmettez les valeurs suivantes :
BLOB
contenant la conception de formulaire récupérée dans Content Services (obsolète).BLOB
contenant les données à fusionner avec le formulaire. Si vous ne souhaitez pas fusionner de données, transmettez un objet BLOB
vide.PDFFormRenderSpec
qui stocke les options d’exécution. Cette valeur est un paramètre facultatif. Vous pouvez spécifier null
si vous ne souhaitez pas spécifier d’options d’exécution.URLSpec
contenant des valeurs URI. Cette valeur est un paramètre facultatif et vous pouvez spécifier null
.Map
qui stocke les pièces jointes. Cette valeur est un paramètre facultatif. Vous pouvez spécifier null
si vous ne souhaitez pas joindre de fichiers au formulaire.FormsResult
utilisé pour stocker le formulaire PDF interactif .
La méthode renderPDFForm2
renvoie un objet FormsResult
contenant le formulaire PDF interactif.
Exécution d’une action avec le flux de données de formulaire
BLOB
contenant des données de formulaire en obtenant la valeur du champ FormsResult
de l’objet outputContent
.System.IO.FileStream
en appelant son constructeur. Transmettez une valeur string qui représente l’emplacement du fichier du document PDF interactif et le mode d’ouverture du fichier.BLOB
récupéré de l’objet FormsResult
. Renseignez le tableau d’octets en obtenant la valeur du membre de données MTOM
de l’objet BLOB
.System.IO.BinaryWriter
en appelant son constructeur et en transmettant l’objet System.IO.FileStream
.System.IO.BinaryWriter
de l’objet Write
et en transmettant le tableau d’octets.Voir également
Appel d’AEM Forms à l’aide de MTOM