Les exemples et les échantillons de ce document sont réservés à l’environnement AEM Forms sur JEE.
Lors du rendu d’un formulaire, vous pouvez définir des options d’exécution afin dʼoptimiser les performances du service Forms. Le stockage des fichiers XDP dans le référentiel permet également dʼaméliorer les performances du service Forms. Toutefois, cette procédure nʼest pas abordée dans cette section. (Consultez la section Appeler un service à l’aide d’une bibliothèque client Java).
Pour plus d’informations sur le service Forms, consultez la section Références des services pour AEM Forms.
Pour optimiser les performances du service Forms lors du rendu d’un formulaire, procédez comme suit :
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éer un objet API client Forms
Avant d’effectuer par programmation une opération d’API client de service Forms, vous devez créer un client de service Forms. Si vous utilisez l’API Java, créez un objet FormsServiceClient
. Si vous utilisez l’API du service web Forms, créez un objet FormsService
.
Définir les options d’exécution des performances
Vous pouvez définir les options d’exécution de performances suivantes afin d’améliorer les performances du service Forms :
true
, ce qui entraîne la génération de formulaires sans informations d’état. Les informations d’état sont nécessaires si vous souhaitez générer un formulaire interactif à un utilisateur final qui saisit ensuite les informations dans le formulaire et le renvoie au service Forms. Le service Forms effectue ensuite une opération de calcul et renvoie le formulaire à l’utilisateur avec les résultats affichés dans le formulaire. Si un formulaire sans informations d’état est renvoyé au service Forms, seules les données XML sont disponibles et les calculs côté serveur ne sont pas effectués.Rendre le formulaire
Pour générer le formulaire après avoir défini les options de performances, utilisez la même logique d’application que pour générer un formulaire sans options de performances.
Écrire le flux de données de formulaire dans le navigateur web client
Une fois que le service Forms a rendu un formulaire, il renvoie un flux de données de formulaire que vous devez écrire dans le navigateur web client. Lorsqu’il est écrit dans le navigateur web client, le formulaire est visible par l’utilisateur.
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
Effectuer le rendu de formulaires PDF interactifs
Effectuer le rendu de formulaires en HTML
Créer des applications web qui génèrent des formulaires
Pour générer un formulaire avec des performances optimisées à l’aide de l’API Forms (Java), procédez comme suit :
Inclure les fichiers du projet
Incluez les fichiers clients JAR, tels qu’adobe-forms-client.jar, dans votre projet Java Classpath.
Créer un objet API Forms client
ServiceClientFactory
qui contient des propriétés de connexion.FormsServiceClient
en utilisant son constructeur et en transmettant l’objet ServiceClientFactory
.Définir les options d’exécution des performances
PDFFormRenderSpec
en utilisant son constructeur.setCacheEnabled
de l’objet PDFFormRenderSpec
et en transmettant true
.setLinearizedPDF
de l’objet PDFFormRenderSpec
et en transmettant true.
.Restituer le formulaire
Appelez la méthode renderPDFForm
de l’objet FormsServiceClient
et transmettez les valeurs suivantes :
com.adobe.idp.Document
contenant les données à fusionner avec le formulaire. Si vous ne souhaitez pas fusionner les données, transmettez un objet com.adobe.idp.Document
.PDFFormRenderSpec
prévu pour stocker les options dʼexécution afin dʼaméliorer les performances.URLSpec
contenant les valeurs URI requises par le service Forms.java.util.HashMap
qui stocke les pièces jointes. Ce paramètre est facultatif et 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.
Écrire le flux de données de formulaire dans le navigateur web client
javax.servlet.ServletOutputStream
utilisé pour envoyer un flux de données de formulaire au navigateur web du client.com.adobe.idp.Document
en appelant la méthode getOutputContent
de l’objet FormsResult
.java.io.InputStream
en appelant la méthode getInputStream
de lʼobjet com.adobe.idp.Document
.read
de lʼobjet InputStream
et en transmettant le tableau d’octets comme argument.write
de lʼobjet javax.servlet.ServletOutputStream
pour envoyer le flux de données de formulaire au navigateur web du client. Transmettez le tableau d’octets à la méthode write
.Voir également
Démarrage rapide (mode SOAP) : optimiser les performances à 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
Restituer un formulaire avec des performances optimisées à l’aide de l’API Forms (service web) :
Inclure les fichiers du projet
Créer un objet API Forms client
Créez un objet FormsService
et définissez les valeurs d’authentification.
Définir les options d’exécution des performances
PDFFormRenderSpec
en utilisant son constructeur.PDFFormRenderSpec
de lʼobjet setCacheEnabled
et en transmettant la valeur « true ».setStandAlone
de lʼobjet PDFFormRenderSpec
et en transmettant la valeur « true ».setLinearizedPDF
de lʼobjet PDFFormRenderSpec
et en transmettant la valeur « true ».Restituer le formulaire
Appelez la méthode renderPDFForm
de l’objet FormsService
et transmettez les valeurs suivantes :
BLOB
contenant les données à fusionner avec le formulaire. Si vous ne souhaitez pas fusionner les données, transmettez null
.PDFFormRenderSpecc
prévu pour stocker les options d’exécution.URLSpec
contenant des valeurs URI requises par le service Forms.java.util.HashMap
qui stocke les pièces jointes. Il sʼagit dʼun paramètre facultatif. Vous pouvez indiquer null
si vous ne souhaitez pas joindre de fichier au formulaire.com.adobe.idp.services.holders.BLOBHolder
vide qui est renseigné par la méthode. Il permet de stocker le formulaire PDF rendu.javax.xml.rpc.holders.LongHolder
vide qui est renseigné par la méthode. (Cet argument permet de stocker le nombre de pages du formulaire).javax.xml.rpc.holders.StringHolder
vide qui est renseigné par la méthode. (Cet argument permet de stocker la valeur du paramètre régional).com.adobe.idp.services.holders.FormsResultHolder
vide qui contiendra les résultats de cette opération.La méthode renderPDFForm
renseigne l’objet com.adobe.idp.services.holders.FormsResultHolder
qui est transmis en tant que dernière valeur d’argument avec un flux de données de formulaire qui doit être écrit dans le navigateur web client.
Écrire le flux de données de formulaire dans le navigateur web client
FormResult
en obtenant la valeur du membre de données value
de lʼobjet com.adobe.idp.services.holders.FormsResultHolder
.javax.servlet.ServletOutputStream
utilisé pour envoyer un flux de données de formulaire au navigateur web du client.BLOB
qui contient les données du formulaire en appelant la méthode getOutputContent
de l’objet FormsResult
.getBinaryData
de lʼobjet BLOB
. Cette tâche affecte le contenu de l’objet FormsResult
au tableau d’octets.write
de l’objet javax.servlet.http.HttpServletResponse
pour envoyer le flux de données de formulaire au navigateur web client. Transmettez le tableau d’octets à la méthode write
.Voir également
Appeler AEM Forms en utilisant le codage Base64