Restituer des formulaires HTML à l’aide de fichiers CSS personnalisés rendering-html-forms-using-custom-css-files

Les exemples et les échantillons de ce document sont réservés à l’environnement AEM Forms sur JEE.

Le service Forms génère les formulaires HTML en réponse à la demande HTTP d’un navigateur web. Lors du rendu d’un formulaire HTML, le service Forms peut référencer un fichier CSS personnalisé. Vous pouvez créer un fichier CSS personnalisé pour répondre aux besoins de votre entreprise et référencer ce fichier CSS lors de l’utilisation du service Forms pour le rendu des formulaires HTML.

Le service Forms analyse silencieusement le fichier CSS personnalisé. En d’autres termes, le service Forms ne signale pas les erreurs qui peuvent se produire si le fichier CSS personnalisé ne respecte pas les normes CSS. Dans ce cas, le service Forms ignore le style et continue avec les styles restants du fichier CSS.

La liste suivante spécifie les styles pris en charge dans un fichier CSS personnalisé :

  • Paires style-sélecteur de niveau de classe  : s’ils sont présents dans un fichier CSS personnalisé, les sélecteurs utilisés dans le formulaire HTML en tant que styles de classe sont utilisés. Les styles de classe inutilisés sont ignorés.
  • Paires style-sélecteur de niveau d’identifiant  : tous les styles d’identifiant sont utilisés s’ils le sont dans le formulaire HTML.
  • Paires style-sélecteur de niveau d’élément  : tous les styles d’élément sont utilisés s’ils le sont dans le formulaire HTML.
  • Priorité des styles  : la priorité du style (comme importante) est prise en charge et peut être utilisée dans un fichier CSS personnalisé.
  • Type de média  : une ou plusieurs paires de style-sélecteur peuvent être enveloppées dans le style @media pour définir le type de média. Le service Forms ne vérifie pas si le type de média spécifié est pris en charge. Le type de média spécifié dans le fichier CSS personnalisé est fusionné dans le formulaire HTML.

Vous pouvez récupérer un exemple de fichier CSS à l’aide de l’application FormsIVS. Téléchargez le formulaire, sélectionnez-le dans la page Tester la conception de formulaire, puis cliquez sur Générer un CSS. Il n’est pas nécessaire de définir le type de transformation HTML avant de cliquer sur le bouton. Sélectionnez ensuite Enregistrer. Vous pouvez modifier ce fichier CSS pour répondre aux besoins de votre entreprise.

NOTE
Avant de générer un formulaire HTML qui utilise un fichier CSS personnalisé, il est important de bien comprendre le rendu des formulaires HTML. (Voir Rendre des formulaires en tant que HTML.)
NOTE
Pour plus d’informations sur le service Forms, consultez la section Références des services pour AEM Forms.

Résumé des étapes summary-of-steps

Pour afficher un formulaire HTML qui utilise un fichier CSS, effectuez les tâches suivantes :

  1. Incluez les fichiers de projet.
  2. Créez un objet API Java Forms.
  3. Référencez le fichier CSS.
  4. Effectuez le rendu d’un formulaire HTML.
  5. Écrivez le flux de données du formulaire dans le navigateur web du client.

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 Java Forms

Avant de pouvoir effectuer par programmation une opération prise en charge par le service Forms, vous devez créer un objet client Forms.

Référencer le fichier CSS

Pour afficher un formulaire HTML utilisant un fichier CSS personnalisé, veillez à référencer un fichier CSS existant.

Effectuer le rendu d’un formulaire HTML

Pour effectuer le rendu d’un formulaire HTML, spécifiez une conception de formulaire qui a été créée dans Designer et enregistrée en tant que fichier XDP. Sélectionnez un type de transformation HTML. Par exemple, vous pouvez spécifier le type de transformation HTML qui effectue le rendu d’un HTML dynamique pour Internet Explorer 5.0 ou version ultérieure.

Le rendu d’un formulaire HTML nécessite également des valeurs, telles que les valeurs URI nécessaires au rendu d’autres types de formulaires.

Écrire le flux de données de formulaire dans le navigateur web client

Lorsque le service Forms affiche un formulaire HTML, il renvoie un flux de données de formulaire que vous devez écrire dans le navigateur web client pour que le formulaire HTML soit visible par l’utilisateur.

Voir également

Rendre un formulaire HTML utilisant un fichier CSS à 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

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

Rendre un formulaire HTML utilisant un fichier CSS à l’aide de l’API Java render-an-html-form-that-uses-a-css-file-using-the-java-api

Rendez un formulaire HTML utilisant un fichier CSS personnalisé à l’aide de l’API Forms (Java) :

  1. Inclure les fichiers du projet

    Incluez les fichiers clients JAR, tels qu’adobe-forms-client.jar, dans votre chemin de classe de projet Java.

  2. Créer un objet API Java Forms

    • Créez un objet ServiceClientFactory qui contient des propriétés de connexion.
    • Créez un objet FormsServiceClient en utilisant son constructeur et en transmettant l’objet ServiceClientFactory.
  3. Référencer le fichier CSS

    • Créez un objet HTMLRenderSpec en utilisant son constructeur.
    • Pour effectuer le rendu du formulaire HTML qui utilise un fichier CSS personnalisé, appelez la méthode setCustomCSSURI de l’objet HTMLRenderSpec et transmettez une valeur de chaîne qui spécifie l’emplacement et le nom du fichier CSS.
  4. Effectuer le rendu d’un formulaire HTML

    Appelez la méthode (Deprecated) (Deprecated) renderHTMLForm de l’objet FormsServiceClient et transmettez les valeurs suivantes :

    • Valeur string spécifiant le nom du modèle de formulaire, y compris l’extension du nom du fichier. Si vous référencez une conception de formulaire faisant partie d’une application Forms, veillez à spécifier le chemin complet, tel que Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.
    • Une valeur d’énumération TransformTo spécifiant le type de préférence HTML. Par exemple, pour effectuer le rendu d’un formulaire HTML compatible avec le HTML dynamique pour Internet Explorer 5.0 ou version ultérieure, spécifiez TransformTo.MSDHTML.
    • Objet 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.
    • L’objet HTMLRenderSpec qui stocke les options d’exécution HTML.
    • Une valeur de chaîne qui spécifie la valeur dʼen-tête HTTP_USER_AGENT, telle que Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322).
    • Un objet URLSpec qui stocke les valeurs URI nécessaires à la restitution dʼun formulaire HTML.
    • Un objet java.util.HashMap qui stocke les pièces jointes. Il s’agit d’un paramètre facultatif, si vous ne souhaitez pas joindre de fichier au formulaire, indiquez null.

    La méthode (Deprecated) renderHTMLForm renvoie un objet FormsResult qui contient un flux de données de formulaire qui doit être écrit dans le navigateur web du client.

  5. Écrire le flux de données de formulaire dans le navigateur web client

    • Créez un objet com.adobe.idp.Document en appelant la méthode getOutputContent de l’objet FormsResult.
    • Obtenez le type de contenu de l’objet com.adobe.idp.Document en appelant sa méthode getContentType.
    • Définissez le type de contenu de l’objet javax.servlet.http.HttpServletResponse en appelant sa méthode setContentType et en transmettant le type de contenu de l’objet com.adobe.idp.Document.
    • Créez un objet 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.h\ttp.HttpServletResponse.
    • Créez un objet java.io.InputStream en appelant la méthode getInputStream de l’objet com.adobe.idp.Document.
    • Créez un tableau d’octets et renseignez-le avec le flux de données de formulaire en appelant la méthode read de l’objet InputStream et en transmettant le tableau d’octets comme argument.
    • Appelez la méthode write de l’objet javax.servlet.ServletOutputStream pour envoyer le flux de données du formulaire au navigateur web du client. Transmettez le tableau d’octets à la méthode write.

Voir également

Restituer des formulaires HTML à l’aide de fichiers CSS personnalisés

Didacticiel de mise en route (mode SOAP) : restituer un formulaire HTML utilisant un fichier CSS à 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 HTML utilisant un fichier CSS à l’aide de l’API de service web render-an-html-form-that-uses-a-css-file-using-the-web-service-api

Restituez un formulaire HTML utilisant un fichier CSS personnalisé à l’aide de l’API Forms (service web) :

  1. Inclure les fichiers du projet

    • Créez des classes proxy Java qui utilisent le service WSDL de Forms.
    • Incluez les classes proxy Java dans votre chemin de classe.
  2. Créer un objet API Java Forms

    Créez un objet FormsService et définissez les valeurs d’authentification.

  3. Référencer le fichier CSS

    • Créez un objet HTMLRenderSpec en utilisant son constructeur.
    • Pour effectuer le rendu du formulaire HTML qui utilise un fichier CSS personnalisé, appelez la méthode setCustomCSSURI de l’objet HTMLRenderSpec et transmettez une valeur de chaîne qui spécifie l’emplacement et le nom du fichier CSS.
  4. Effectuer le rendu d’un formulaire HTML

    Appelez la méthode (Deprecated) renderHTMLForm de l’objet FormsService et transmettez les valeurs suivantes :

    • Valeur string spécifiant le nom du modèle de formulaire, y compris l’extension du nom du fichier. Si vous référencez une conception de formulaire faisant partie d’une application Forms, veillez à spécifier le chemin complet, tel que Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.
    • Une valeur d’énumération TransformTo spécifiant le type de préférence HTML. Par exemple, pour effectuer le rendu d’un formulaire HTML compatible avec le HTML dynamique pour Internet Explorer 5.0 ou version ultérieure, spécifiez TransformTo.MSDHTML.
    • Objet 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 modulables.)
    • Lʼobjet HTMLRenderSpec qui stocke les options d’exécution HTML.
    • Une valeur de chaîne qui spécifie la valeur d’en-tête HTTP_USER_AGENT, telle que Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322). Vous pouvez transmettre une chaîne vide si vous ne souhaitez pas définir cette valeur.
    • Un objet URLSpec qui stocke les valeurs URI nécessaires à la restitution dʼun formulaire HTML.
    • Un objet java.util.HashMap qui stocke les pièces jointes. Il s’agit d’un paramètre facultatif. Si vous ne souhaitez pas joindre de fichier au formulaire, spécifiez null.
    • Un objet com.adobe.idp.services.holders.BLOBHolder vide renseigné par la méthode (Deprecated) renderHTMLForm. La valeur de ce paramètre enregistre le formulaire rendu.
    • Un objet com.adobe.idp.services.holders.BLOBHolder vide, renseigné par la méthode (Deprecated) renderHTMLForm. Ce paramètre stocke les données XML de sortie.
    • Un objet javax.xml.rpc.holders.LongHolder vide, renseigné par la méthode (Deprecated) renderHTMLForm. Cet argument stocke le nombre de pages du formulaire.
    • Un objet javax.xml.rpc.holders.StringHolder vide, renseigné par la méthode (Deprecated) renderHTMLForm. Cet argument stocke la valeur du paramètre régional.
    • Un objet javax.xml.rpc.holders.StringHolder vide, renseigné par la méthode (Deprecated) renderHTMLForm. Cet argument stocke la valeur de rendu HTML utilisée.
    • Un objet com.adobe.idp.services.holders.FormsResultHolder vide qui contiendra les résultats de cette opération.

    La méthode (Deprecated) renderHTMLForm 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.

  5. Écrire le flux de données de formulaire dans le navigateur web client

    • Créez un objet FormResult en obtenant la valeur du membre de données value de l’objet com.adobe.idp.services.holders.FormsResultHolder.
    • Créez un objet BLOB qui contient les données du formulaire en appelant la méthode getOutputContent de l’objet FormsResult.
    • Obtenez le type de contenu de l’objet BLOB en appelant sa méthode getContentType.
    • Définissez le type de contenu de l’objet javax.servlet.http.HttpServletResponse en appelant sa méthode setContentType et en transmettant le type de contenu de l’objet BLOB.
    • Créez un objet 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.
    • Créez un tableau d’octets et renseignez-le en appelant la méthode getBinaryData de l’objet BLOB. Cette tâche affecte le contenu de l’objet FormsResult au tableau d’octets.
    • Appelez la méthode write de l’objet javax.servlet.http.HttpServletResponse pour envoyer le flux de données du formulaire vers le navigateur web du client. Transmettez le tableau d’octets à la méthode write.

Voir également

Restituer des formulaires HTML à l’aide de fichiers CSS personnalisés

Appeler AEM Forms en utilisant le codage Base64

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2