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.
Résumé des étapes summary-of-steps
Pour afficher un formulaire HTML qui utilise un fichier CSS, effectuez les tâches suivantes :
- Incluez les fichiers de projet.
- Créez un objet API Java Forms.
- Référencez le fichier CSS.
- Effectuez le rendu d’un formulaire HTML.
- É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
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) :
-
Inclure les fichiers du projet
Incluez les fichiers clients JAR, tels qu’adobe-forms-client.jar, dans votre chemin de classe de projet Java.
-
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’objetServiceClientFactory
.
- Créez un objet
-
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’objetHTMLRenderSpec
et transmettez une valeur de chaîne qui spécifie l’emplacement et le nom du fichier CSS.
- Créez un objet
-
Effectuer le rendu d’un formulaire HTML
Appelez la méthode
(Deprecated) (Deprecated) renderHTMLForm
de l’objetFormsServiceClient
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écifiezTransformTo.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 objetcom.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 queMozilla/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, indiqueznull
.
La méthode
(Deprecated) renderHTMLForm
renvoie un objetFormsResult
qui contient un flux de données de formulaire qui doit être écrit dans le navigateur web du client. - 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
-
É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éthodegetOutputContent
de l’objetFormsResult
. - Obtenez le type de contenu de l’objet
com.adobe.idp.Document
en appelant sa méthodegetContentType
. - Définissez le type de contenu de l’objet
javax.servlet.http.HttpServletResponse
en appelant sa méthodesetContentType
et en transmettant le type de contenu de l’objetcom.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éthodegetOutputStream
de l’objetjavax.servlet.h\ttp.HttpServletResponse
. - Créez un objet
java.io.InputStream
en appelant la méthodegetInputStream
de l’objetcom.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’objetInputStream
et en transmettant le tableau d’octets comme argument. - Appelez la méthode
write
de l’objetjavax.servlet.ServletOutputStream
pour envoyer le flux de données du formulaire au navigateur web du client. Transmettez le tableau d’octets à la méthodewrite
.
- Créez un objet
Voir également
Restituer des formulaires HTML à l’aide de fichiers CSS personnalisés
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) :
-
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.
-
Créer un objet API Java Forms
Créez un objet
FormsService
et définissez les valeurs d’authentification. -
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’objetHTMLRenderSpec
et transmettez une valeur de chaîne qui spécifie l’emplacement et le nom du fichier CSS.
- Créez un objet
-
Effectuer le rendu d’un formulaire HTML
Appelez la méthode
(Deprecated) renderHTMLForm
de l’objetFormsService
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écifiezTransformTo.MSDHTML
. - Objet
BLOB
contenant les données à fusionner avec le formulaire. Si vous ne souhaitez pas fusionner des données, transmetteznull
. (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 queMozilla/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écifieznull
. - 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’objetcom.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. - 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
-
É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éesvalue
de l’objetcom.adobe.idp.services.holders.FormsResultHolder
. - Créez un objet
BLOB
qui contient les données du formulaire en appelant la méthodegetOutputContent
de l’objetFormsResult
. - Obtenez le type de contenu de l’objet
BLOB
en appelant sa méthodegetContentType
. - Définissez le type de contenu de l’objet
javax.servlet.http.HttpServletResponse
en appelant sa méthodesetContentType
et en transmettant le type de contenu de l’objetBLOB
. - 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éthodegetOutputStream
de l’objetjavax.servlet.http.HttpServletResponse
. - Créez un tableau d’octets et renseignez-le en appelant la méthode
getBinaryData
de l’objetBLOB
. Cette tâche affecte le contenu de l’objetFormsResult
au tableau d’octets. - Appelez la méthode
write
de l’objetjavax.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éthodewrite
.
- Créez un objet
Voir également
Restituer des formulaires HTML à l’aide de fichiers CSS personnalisés
Appeler AEM Forms en utilisant le codage Base64