AEM 6.4 a atteint la fin de la prise en charge étendue et cette documentation n’est plus mise à jour. Pour plus d’informations, voir notre période de support technique. Rechercher les versions prises en charge here.
Vous pouvez optimiser la diffusion de contenu PDF et améliorer la capacité du service Forms à gérer la charge du réseau à l’aide de la fonctionnalité de rendu côté client d’Acrobat ou d’Adobe Reader. Ce processus est connu sous le nom de rendu d’un formulaire au niveau du client. Pour effectuer le rendu d’un formulaire au niveau du client, l’équipement client (généralement un navigateur web) doit utiliser Acrobat 7.0 ou Adobe Reader 7.0 ou une version ultérieure.
Les modifications apportées à un formulaire par l’exécution d’un script côté serveur ne sont pas prises en compte dans un formulaire rendu au niveau du client, sauf si le sous-formulaire racine contient l’attribut restoreState
défini sur auto
. Pour plus d’informations sur cet attribut, voir Forms Designer.
Pour plus d’informations sur le service Forms, voir Références des services pour AEM Forms.
Pour effectuer le rendu d’un formulaire au niveau du client, effectuez les tâches suivantes :
Inclure des 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 Web Service Forms, créez un objet FormsService
.
Définir les options d’exécution du rendu client
Vous devez définir l’option d’exécution du rendu client pour effectuer le rendu d’un formulaire au niveau du client en définissant l’option d’exécution RenderAtClient
sur true
. Le formulaire est ainsi livré au périphérique client où il est rendu. Si RenderAtClient
est auto
(la valeur par défaut), la conception du formulaire détermine si le formulaire est rendu au niveau du client. La conception du formulaire doit être une conception de formulaire avec une disposition souple.
Une option d’exécution facultative que vous pouvez définir est l’option SeedPDF
. L’option SeedPDF
combine le conteneur PDF (document PDF d’origine) avec la conception du formulaire et les données XML. La conception du formulaire et les données XML sont transmises à Acrobat ou à Adobe Reader, où le formulaire est rendu. L’option SeedPDF
peut être utilisée lorsque l’ordinateur client ne dispose pas des polices utilisées dans le formulaire, par exemple lorsqu’un utilisateur final n’est pas autorisé à utiliser une police que le propriétaire du formulaire est autorisé à utiliser.
Vous pouvez utiliser Designer pour créer un fichier PDF dynamique simple à utiliser comme fichier PDF d’origine. Pour effectuer cette tâche, les étapes suivantes sont nécessaires :
Vous n’avez pas besoin de définir l’option d’exécution du PDF d’origine pour effectuer le rendu d’un formulaire sur le client. Si vous ne spécifiez pas de PDF d’origine, le service Forms crée un shell pdf qui ne contient pas d’objets COS, mais qui contient un wrapper PDF avec le contenu XDP réel incorporé. Les étapes de cette section ne définissent pas l’option d’exécution du PDF d’origine. Pour plus d’informations sur les objets COS, consultez le Guide de référence d’Adobe PDF.
Effectuer le rendu d’un formulaire au niveau du client
Pour effectuer le rendu d’un formulaire au niveau du client, vous devez vous assurer que les options d’exécution du rendu client sont incluses dans votre logique d’application pour effectuer le rendu d’un formulaire.
Écrire le flux de données de formulaire dans le navigateur web du client
Le service Forms crée un flux de données de formulaire que vous devez écrire dans le navigateur web du client. Une fois écrit dans le navigateur web du client, le formulaire est rendu par Acrobat 7.0 ou Adobe Reader 7.0 ou une version ultérieure, et est visible par l’utilisateur.
Voir également
Restituer un formulaire au client à l’aide de l’API Java
Effectuer le rendu d’un formulaire au niveau du client à 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émarrages rapides de l’API Forms Service
Transmettre des documents au service Forms
Créer des applications web qui génèrent des formulaires
Restituez un formulaire au client à l’aide de l’API Forms (Java) :
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éterminer des options d’exécution du rendu client
PDFFormRenderSpec
en utilisant son constructeur.RenderAtClient
en faisant appel à la méthode setRenderAtClient
de l’objet PDFFormRenderSpec
et en transmettant la valeur d’énumération RenderAtClient.Yes
.Restituer un formulaire au niveau du client
Appelez la méthode renderPDFForm
de l’objet FormsServiceClient
et transmettez les valeurs suivantes :
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.com.adobe.idp.Document
contenant les données à fusionner avec le formulaire. Si vous ne souhaitez pas fusionner des données, transmettez un objet com.adobe.idp.Document
vide.PDFFormRenderSpec
stockant les options d’exécution requises pour générer un formulaire au niveau du client.URLSpec
contenant des valeurs URI requises par le service Forms pour générer un formulaire.java.util.HashMap
stockant 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
com.adobe.idp.Document
en appelant la méthode getOutputContent
de l’objet FormsResult
.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
et en transmettant 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) : rendre un formulaire au niveau du client à 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
Restituez un formulaire au client à l’aide de l’API Forms (Web Service) :
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éterminer des options d’exécution du rendu client
PDFFormRenderSpec
en utilisant son constructeur.RenderAtClient
en appelant la méthode setRenderAtClient
de l’objet PDFFormRenderSpec
et en transmettant la valeur de la chaîne de caractères RenderAtClient.Yes
.Restituer un formulaire au niveau du client
Appelez la méthode renderPDFForm
de l’objet FormsService
et transmettez les valeurs suivantes :
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.BLOB
contenant les données à fusionner avec le formulaire. Si vous ne souhaitez pas fusionner des données, transmettez null
. (Voir Préremplir des formulaires avec des mises en page fluides.)PDFFormRenderSpec
stockant les options d’exécution requises pour générer un formulaire au niveau du client.URLSpec
contenant les 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 rempli par la méthode. Ce paramètre est utilisé pour stocker le formulaire PDF rendu.javax.xml.rpc.holders.LongHolder
vide qui est rempli 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
.BLOB
contenant des données de formulaire en appelant la méthode getOutputContent
de l’objet FormsResult
.BLOB
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 BLOB
.javax.servlet.ServletOutputStream
servant à é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
.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