Le préremplissage de formulaires affiche les données pour les utilisateurs dans un formulaire rendu. Supposons, par exemple, qu’un utilisateur se connecte à un site Web avec un nom d’utilisateur et un mot de passe. Si l’authentification réussit, l’application cliente requête une base de données pour obtenir des informations sur l’utilisateur. Les données sont fusionnées dans le formulaire, puis le formulaire est rendu à l’utilisateur. Par conséquent, l’utilisateur peut vue des données personnalisées dans le formulaire.
La préremplissage d’un formulaire présente les avantages suivants :
Les deux sources de données XML suivantes peuvent préremplir un formulaire :
Un élément XML doit exister pour chaque champ de formulaire que vous souhaitez préremplir. Le nom de l’élément XML doit correspondre au nom du champ. Un élément XML est ignoré s’il ne correspond pas à un champ de formulaire ou si le nom de l’élément XML ne correspond pas au nom du champ. Il n’est pas nécessaire de correspondre à l’ordre dans lequel les éléments XML sont affichés, tant que tous les éléments XML sont spécifiés.
Lorsque vous préremplissez un formulaire qui contient déjà des données, vous devez spécifier celles qui sont déjà affichées dans la source de données XML. Supposons qu’un formulaire contenant 10 champs comporte des données dans quatre champs. Supposons ensuite que vous souhaitiez préremplir les six champs restants. Dans ce cas, vous devez spécifier 10 éléments XML dans la source de données XML utilisée pour préremplir le formulaire. Si vous ne spécifiez que six éléments, les quatre champs d’origine sont vides.
Par exemple, vous pouvez préremplir un formulaire tel que l’exemple de formulaire de confirmation. (Voir "Formulaire de confirmation" dans Rendu des PDF forms interactifs.)
Pour préremplir l’exemple de formulaire de confirmation, vous devez créer une source de données XML contenant trois éléments XML qui correspondent aux trois champs du formulaire. Ce formulaire contient les trois champs suivants : FirstName
, LastName
et Amount
. La première étape consiste à créer une source de données XML contenant des éléments XML qui correspondent aux champs situés dans la conception de formulaire. L’étape suivante consiste à affecter des valeurs de données aux éléments XML, comme le montre le code XML suivant.
<Untitled>
<FirstName>Jerry</FirstName>
<LastName>Johnson</LastName>
<Amount>250000</Amount>
</Untitled>
Une fois que vous avez prérempli le formulaire de confirmation avec cette source de données XML, puis rendu le formulaire, les valeurs de données que vous avez attribuées aux éléments XML s’affichent, comme illustré dans le diagramme suivant.
Les Forms avec des dispositions souples sont utiles pour afficher une quantité indéterminée de données pour les utilisateurs. Comme la disposition du formulaire s’ajuste automatiquement à la quantité de données fusionnées, il n’est pas nécessaire de prédéfinir une disposition ou un nombre de pages fixes pour le formulaire, comme vous le devez pour un formulaire avec une disposition fixe.
Un formulaire est généralement renseigné avec des données obtenues lors de l’exécution. Par conséquent, vous pouvez préremplir un formulaire en créant une source de données XML en mémoire et en plaçant les données directement dans la source de données XML en mémoire.
Prenons l’exemple d’une application Web, telle qu’une boutique en ligne. Une fois qu’un acheteur en ligne a terminé d’acheter des articles, tous les articles achetés sont placés dans une source de données XML en mémoire qui est utilisée pour préremplir un formulaire. Le diagramme suivant montre ce processus, qui est expliqué dans le tableau suivant le diagramme.
Le tableau suivant décrit les étapes de ce diagramme.
Étape |
Description |
---|---|
1 |
Un utilisateur achète des articles dans une boutique en ligne Web. |
2 |
Une fois que l’utilisateur a terminé d’acheter des éléments et cliqué sur le bouton Envoyer, une source de données XML en mémoire est créée. Les éléments achetés et les informations utilisateur sont placés dans la source de données XML en mémoire. |
3 |
La source de données XML est utilisée pour préremplir un formulaire de bon de commande (un exemple de ce formulaire est illustré ci-dessous). |
4 |
Le formulaire de bon de commande est rendu au navigateur Web client. |
Le diagramme suivant illustre un exemple de formulaire de bon de commande. Les informations du tableau peuvent être ajustées au nombre d’enregistrements des données XML.
Un formulaire peut être prérempli avec des données provenant d’autres sources, telles qu’une base de données d’entreprise ou des applications externes.
Les Forms avec des dispositions souples sont basées sur les conceptions de formulaire créées dans Designer. Une conception de formulaire spécifie un ensemble de règles de disposition, de présentation et de capture de données, y compris le calcul de valeurs en fonction des entrées utilisateur. Les règles sont appliquées lorsque des données sont entrées dans un formulaire. Les champs ajoutés à un formulaire sont des sous-formulaires qui se trouvent dans la conception de formulaire. Par exemple, dans le formulaire de bon de commande illustré dans le diagramme précédent, chaque ligne est un sous-formulaire. Pour plus d’informations sur la création d’une conception de formulaire contenant des sous-formulaires, voir Création d’un formulaire de bon de commande doté d’une disposition souple.
Une source de données XML est utilisée pour préremplir les formulaires avec des dispositions fixes et des dispositions souples. Cependant, la différence réside dans le fait qu’une source de données XML qui préremplit un formulaire avec une disposition souple contient des éléments XML répétitifs qui sont utilisés pour préremplir les sous-formulaires qui sont répétés dans le formulaire. Ces éléments XML répétitifs sont appelés sous-groupes de données.
Une source de données XML utilisée pour préremplir le formulaire de bon de commande illustré dans le diagramme précédent contient quatre sous-groupes de données qui se répètent. Chaque sous-groupe de données correspond à un article acheté. Les articles achetés sont un écran, une lampe de bureau, un téléphone et un carnet d'adresses.
La source de données XML suivante est utilisée pour préremplir le formulaire de bon de commande.
<header>
<!-- XML elements used to prepopulate non-repeating fields such as address
<!and city
<txtPONum>8745236985</txtPONum>
<dtmDate>2004-02-08</dtmDate>
<txtOrderedByCompanyName>Any Company Name</txtOrderedByCompanyName>
<txtOrderedByAddress>555, Any Blvd.</txtOrderedByAddress>
<txtOrderedByCity>Any City</txtOrderedByCity>
<txtOrderedByStateProv>ST</txtOrderedByStateProv>
<txtOrderedByZipCode>12345</txtOrderedByZipCode>
<txtOrderedByCountry>Any Country</txtOrderedByCountry>
<txtOrderedByPhone>(123) 456-7890</txtOrderedByPhone>
<txtOrderedByFax>(123) 456-7899</txtOrderedByFax>
<txtOrderedByContactName>Contact Name</txtOrderedByContactName>
<txtDeliverToCompanyName>Any Company Name</txtDeliverToCompanyName>
<txtDeliverToAddress>7895, Any Street</txtDeliverToAddress>
<txtDeliverToCity>Any City</txtDeliverToCity>
<txtDeliverToStateProv>ST</txtDeliverToStateProv>
<txtDeliverToZipCode>12346</txtDeliverToZipCode>
<txtDeliverToCountry>Any Country</txtDeliverToCountry>
<txtDeliverToPhone>(123) 456-7891</txtDeliverToPhone>
<txtDeliverToFax>(123) 456-7899</txtDeliverToFax>
<txtDeliverToContactName>Contact Name</txtDeliverToContactName>
</header>
<detail>
<!-- A data subgroup that contains information about the monitor>
<txtPartNum>00010-100</txtPartNum>
<txtDescription>Monitor</txtDescription>
<numQty>1</numQty>
<numUnitPrice>350.00</numUnitPrice>
</detail>
<detail>
<!-- A data subgroup that contains information about the desk lamp>
<txtPartNum>00010-200</txtPartNum>
<txtDescription>Desk lamps</txtDescription>
<numQty>3</numQty>
<numUnitPrice>55.00</numUnitPrice>
</detail>
<detail>
<!-- A data subgroup that contains information about the Phone>
<txtPartNum>00025-275</txtPartNum>
<txtDescription>Phone</txtDescription>
<numQty>5</numQty>
<numUnitPrice>85.00</numUnitPrice>
</detail>
<detail>
<!-- A data subgroup that contains information about the address book>
<txtPartNum>00300-896</txtPartNum>
<txtDescription>Address book</txtDescription>
<numQty>2</numQty>
<numUnitPrice>15.00</numUnitPrice>
</detail>
Notez que chaque sous-groupe de données contient quatre éléments XML qui correspondent à ces informations :
Le nom de l’élément XML parent d’un sous-groupe de données doit correspondre au nom du sous-formulaire situé dans la conception de formulaire. Par exemple, dans le diagramme précédent, notez que le nom de l’élément XML parent du sous-groupe de données est detail
. Cela correspond au nom du sous-formulaire qui se trouve dans la conception de formulaire sur laquelle repose le formulaire de bon de commande. Si le nom de l’élément XML parent du sous-groupe de données et le sous-formulaire ne correspondent pas, aucun formulaire côté serveur n’est prérempli.
Chaque sous-groupe de données doit contenir des éléments XML correspondant aux noms de champ du sous-formulaire. Le sous-formulaire detail
situé dans la conception de formulaire contient les champs suivants :
Si vous tentez de préremplir un formulaire avec une source de données contenant des éléments XML répétitifs et que vous définissez l’option RenderAtClient
sur No
, seul le premier enregistrement de données est fusionné dans le formulaire. Pour vous assurer que tous les enregistrements de données sont fusionnés dans le formulaire, définissez RenderAtClient
sur Yes
. Pour plus d’informations sur l’option RenderAtClient
, voir Rendu de Forms au client.
Pour plus d’informations sur le service Forms, voir Guide de référence des services pour AEM Forms.
Pour préremplir un formulaire avec une disposition souple, 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, veillez à inclure les fichiers proxy.
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éation d’une source de données XML en mémoire
Vous pouvez utiliser les classes org.w3c.dom
pour créer une source de données XML en mémoire afin de préremplir un formulaire avec une disposition souple. Vous devez placer les données dans une source de données XML conforme au formulaire. Pour plus d’informations sur la relation entre un formulaire avec une disposition souple et la source de données XML, voir Présentation des sous-groupes de données.
Conversion de la source de données XML
Une source de données XML en mémoire créée à l’aide des classes org.w3c.dom
peut être convertie en objet com.adobe.idp.Document
avant de pouvoir être utilisée pour préremplir un formulaire. Une source de données XML en mémoire peut être convertie à l’aide des classes de transformation XML Java.
Si vous utilisez le fichier WSDL du service Forms pour préremplir un formulaire, vous devez convertir un objet org.w3c.dom.Document
en objet BLOB
.
Générer un formulaire prérempli
Vous générez un formulaire prérempli comme tout autre formulaire. La seule différence réside dans le fait que vous utilisez l’objet com.adobe.idp.Document
qui contient la source de données XML pour préremplir le formulaire.
Voir également
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Débuts rapides de l’API du service Forms
Rendu des PDF forms interactifs
Création d’Applications web renvoyant Forms
Pour préremplir un formulaire avec une disposition souple à l’aide de l’API Forms (Java), procédez comme suit :
Inclure les fichiers de projet
Incluez des fichiers JAR client, tels que adobe-forms-client.jar, dans le chemin de classe de votre projet Java. Pour plus d’informations sur l’emplacement de ces fichiers, voir Inclusion des fichiers de bibliothèque Java AEM Forms.
Création d’une source de données XML en mémoire
Créez un objet Java DocumentBuilderFactory
en appelant la méthode DocumentBuilderFactory
class’ newInstance
.
Créez un objet Java DocumentBuilder
en appelant la méthode DocumentBuilderFactory
de l'objet newDocumentBuilder
.
Appelez la méthode DocumentBuilder
de l'objet newDocument
pour instancier un objet org.w3c.dom.Document
.
Créez l’élément racine de la source de données XML en appelant la méthode org.w3c.dom.Document
de l’objet createElement
. Ceci crée un objet Element
qui représente l’élément racine. Transmettez une valeur de chaîne représentant le nom de l’élément à la méthode createElement
. Convertissez la valeur de retour en Element
. Ensuite, ajoutez l’élément racine au document en appelant la méthode Document
de l’objet appendChild
et transmettez l’objet de l’élément racine en tant qu’argument. Les lignes de code suivantes présentent cette logique d’application :
Element root = (Element)document.createElement("transaction"); document.appendChild(root);
Créez l’élément d’en-tête de la source de données XML en appelant la méthode Document
de l’objet createElement
. Transmettez une valeur de chaîne représentant le nom de l’élément à la méthode createElement
. Convertissez la valeur de retour en Element
. Ensuite, ajoutez l’élément d’en-tête à l’élément racine en appelant la méthode root
de l’objet appendChild
et transmettez l’objet d’élément d’en-tête en tant qu’argument. Les éléments XML ajoutés à l’élément d’en-tête correspondent à la partie statique du formulaire. Les lignes de code suivantes présentent cette logique d’application :
Element header = (Element)document.createElement("header"); root.appendChild(header);
Créez un élément enfant qui appartient à l’élément d’en-tête en appelant la méthode Document
de l’objet createElement
et transmettez une valeur de chaîne qui représente le nom de l’élément. Convertissez la valeur de retour en Element
. Ensuite, définissez une valeur pour l’élément enfant en appelant sa méthode appendChild
et transmettez la méthode Document
de l’objet createTextNode
en tant qu’argument. Spécifiez une valeur de chaîne qui apparaît comme valeur de l’élément enfant. Enfin, ajoutez l’élément enfant à l’élément d’en-tête en appelant la méthode appendChild
de l’élément d’en-tête et transmettez l’objet d’élément enfant en tant qu’argument. Les lignes de code suivantes présentent cette logique d’application :
Element poNum= (Element)document.createElement("txtPONum"); poNum.appendChild(document.createTextNode("8745236985")); header.appendChild(LastName);
Ajoutez tous les éléments restants à l’élément d’en-tête en répétant la dernière sous-étape pour chaque champ apparaissant dans la partie statique du formulaire (dans le diagramme de la source de données XML, ces champs sont indiqués dans la section A. (Voir Présentation des sous-groupes de données.)
Créez l’élément de détail de la source de données XML en appelant la méthode Document
de l’objet createElement
. Transmettez une valeur de chaîne représentant le nom de l’élément à la méthode createElement
. Convertissez la valeur de retour en Element
. Ensuite, ajoutez l’élément de détail à l’élément racine en appelant la méthode appendChild
de l’objet root
et transmettez l’objet d’élément de détail en tant qu’argument. Les éléments XML ajoutés à l’élément de détail correspondent à la partie dynamique du formulaire. Les lignes de code suivantes présentent cette logique d’application :
Element detail = (Element)document.createElement("detail"); root.appendChild(detail);
Créez un élément enfant qui appartient à l’élément de détail en appelant la méthode Document
de l’objet createElement
et transmettez une valeur de chaîne qui représente le nom de l’élément. Convertissez la valeur de retour en Element
. Ensuite, définissez une valeur pour l’élément enfant en appelant sa méthode appendChild
et transmettez la méthode Document
de l’objet createTextNode
en tant qu’argument. Spécifiez une valeur de chaîne qui apparaît comme valeur de l’élément enfant. Enfin, ajoutez l’élément enfant à l’élément de détail en appelant la méthode appendChild
de l’élément de détail et transmettez l’objet d’élément enfant en tant qu’argument. Les lignes de code suivantes présentent cette logique d’application :
Element txtPartNum = (Element)document.createElement("txtPartNum"); txtPartNum.appendChild(document.createTextNode("00010-100")); detail.appendChild(txtPartNum);
Répétez la dernière sous-étape pour tous les éléments XML à ajouter à l’élément de détail. Pour créer correctement la source de données XML utilisée pour remplir le formulaire de bon de commande, vous devez ajouter les éléments XML suivants à l’élément de détail : txtDescription
, numQty
et numUnitPrice
.
Répétez les deux dernières sous-étapes pour tous les éléments de données utilisés pour préremplir le formulaire.
Conversion de la source de données XML
javax.xml.transform.Transformer
en appelant la méthode statique javax.xml.transform.Transformer
de l'objet newInstance
.Transformer
en appelant la méthode TransformerFactory
de l'objet newTransformer
.ByteArrayOutputStream
en utilisant son constructeur.javax.xml.transform.dom.DOMSource
en utilisant son constructeur et en transmettant l'objet org.w3c.dom.Document
créé à l'étape 1.javax.xml.transform.dom.DOMSource
en utilisant son constructeur et en transmettant l’objet ByteArrayOutputStream
.ByteArrayOutputStream
en appelant la méthode javax.xml.transform.Transformer
de l’objet transform
et en transmettant les objets javax.xml.transform.dom.DOMSource
et javax.xml.transform.stream.StreamResult
.ByteArrayOutputStream
au tableau d’octets.ByteArrayOutputStream
de l’objet toByteArray
.com.adobe.idp.Document
en utilisant son constructeur et en transmettant le tableau d’octets.Générer un formulaire prérempli
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. Assurez-vous d’utiliser l’objet com.adobe.idp.Document
créé aux étapes 1 et 2.PDFFormRenderSpec
qui stocke 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 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.
javax.servlet.ServletOutputStream
utilisé pour envoyer un flux de données de formulaire au navigateur Web client.com.adobe.idp.Document
en appelant la méthode FormsResult
de l'objet "s getOutputContent
.java.io.InputStream
en appelant la méthode com.adobe.idp.Document
de l'objet getInputStream
.InputStream
de l’objet read
et en transmettant le tableau d’octets comme argument.javax.servlet.ServletOutputStream
de l’objet write
pour envoyer le flux de données de formulaire au navigateur Web client. Transférez le tableau d’octets à la méthode write
.Voir également
Inclusion des fichiers de bibliothèque Java AEM Forms
Réglage des propriétés de la connexion
Pour préremplir un formulaire avec une disposition souple à l’aide de l’API Forms (service Web), procédez comme suit :
Inclure les fichiers de projet
Création d’une source de données XML en mémoire
Créez un objet Java DocumentBuilderFactory
en appelant la méthode DocumentBuilderFactory
class’ newInstance
.
Créez un objet Java DocumentBuilder
en appelant la méthode DocumentBuilderFactory
de l'objet newDocumentBuilder
.
Appelez la méthode DocumentBuilder
de l'objet newDocument
pour instancier un objet org.w3c.dom.Document
.
Créez l’élément racine de la source de données XML en appelant la méthode org.w3c.dom.Document
de l’objet createElement
. Ceci crée un objet Element
qui représente l’élément racine. Transmettez une valeur de chaîne représentant le nom de l’élément à la méthode createElement
. Convertissez la valeur de retour en Element
. Ensuite, ajoutez l’élément racine au document en appelant la méthode Document
de l’objet appendChild
et transmettez l’objet de l’élément racine en tant qu’argument. Les lignes de code suivantes présentent cette logique d’application :
Element root = (Element)document.createElement("transaction"); document.appendChild(root);
Créez l’élément d’en-tête de la source de données XML en appelant la méthode Document
de l’objet createElement
. Transmettez une valeur de chaîne représentant le nom de l’élément à la méthode createElement
. Convertissez la valeur de retour en Element
. Ensuite, ajoutez l’élément d’en-tête à l’élément racine en appelant la méthode root
de l’objet appendChild
et transmettez l’objet d’élément d’en-tête en tant qu’argument. Les éléments XML ajoutés à l’élément d’en-tête correspondent à la partie statique du formulaire. Les lignes de code suivantes présentent cette logique d’application :
Element header = (Element)document.createElement("header"); root.appendChild(header);
Créez un élément enfant qui appartient à l’élément d’en-tête en appelant la méthode Document
de l’objet createElement
et transmettez une valeur de chaîne qui représente le nom de l’élément. Convertissez la valeur de retour en Element
. Ensuite, définissez une valeur pour l’élément enfant en appelant sa méthode appendChild
et transmettez la méthode Document
de l’objet createTextNode
en tant qu’argument. Spécifiez une valeur de chaîne qui apparaît comme valeur de l’élément enfant. Enfin, ajoutez l’élément enfant à l’élément d’en-tête en appelant la méthode appendChild
de l’élément d’en-tête et transmettez l’objet d’élément enfant en tant qu’argument. Les lignes de code suivantes présentent cette logique d’application :
Element poNum= (Element)document.createElement("txtPONum"); poNum.appendChild(document.createTextNode("8745236985")); header.appendChild(LastName);
Ajoutez tous les éléments restants à l’élément d’en-tête en répétant la dernière sous-étape pour chaque champ apparaissant dans la partie statique du formulaire (dans le diagramme de la source de données XML, ces champs sont indiqués dans la section A. (Voir Présentation des sous-groupes de données.)
Créez l’élément de détail de la source de données XML en appelant la méthode Document
de l’objet createElement
. Transmettez une valeur de chaîne représentant le nom de l’élément à la méthode createElement
. Convertissez la valeur de retour en Element
. Ensuite, ajoutez l’élément de détail à l’élément racine en appelant la méthode appendChild
de l’objet root
et transmettez l’objet d’élément de détail en tant qu’argument. Les éléments XML ajoutés à l’élément de détail correspondent à la partie dynamique du formulaire. Les lignes de code suivantes présentent cette logique d’application :
Element detail = (Element)document.createElement("detail"); root.appendChild(detail);
Créez un élément enfant qui appartient à l’élément de détail en appelant la méthode Document
de l’objet createElement
et transmettez une valeur de chaîne qui représente le nom de l’élément. Convertissez la valeur de retour en Element
. Ensuite, définissez une valeur pour l’élément enfant en appelant sa méthode appendChild
et transmettez la méthode Document
de l’objet createTextNode
en tant qu’argument. Spécifiez une valeur de chaîne qui apparaît comme valeur de l’élément enfant. Enfin, ajoutez l’élément enfant à l’élément de détail en appelant la méthode appendChild
de l’élément de détail et transmettez l’objet d’élément enfant en tant qu’argument. Les lignes de code suivantes présentent cette logique d’application :
Element txtPartNum = (Element)document.createElement("txtPartNum"); txtPartNum.appendChild(document.createTextNode("00010-100")); detail.appendChild(txtPartNum);
Répétez la dernière sous-étape pour tous les éléments XML à ajouter à l’élément de détail. Pour créer correctement la source de données XML utilisée pour remplir le formulaire de bon de commande, vous devez ajouter les éléments XML suivants à l’élément de détail : txtDescription
, numQty
et numUnitPrice
.
Répétez les deux dernières sous-étapes pour tous les éléments de données utilisés pour préremplir le formulaire.
Conversion de la source de données XML
javax.xml.transform.Transformer
en appelant la méthode statique javax.xml.transform.Transformer
de l'objet newInstance
.Transformer
en appelant la méthode TransformerFactory
de l'objet newTransformer
.ByteArrayOutputStream
en utilisant son constructeur.javax.xml.transform.dom.DOMSource
en utilisant son constructeur et en transmettant l'objet org.w3c.dom.Document
créé à l'étape 1.javax.xml.transform.dom.DOMSource
en utilisant son constructeur et en transmettant l’objet ByteArrayOutputStream
.ByteArrayOutputStream
en appelant la méthode javax.xml.transform.Transformer
de l’objet transform
et en transmettant les objets javax.xml.transform.dom.DOMSource
et javax.xml.transform.stream.StreamResult
.ByteArrayOutputStream
au tableau d’octets.ByteArrayOutputStream
de l’objet toByteArray
.BLOB
en utilisant son constructeur, appelez sa méthode setBinaryData
et transmettez le tableau d’octets.Générer un formulaire prérempli
Appelez la méthode renderPDFForm
de l’objet FormsService
et transmettez les valeurs suivantes :
BLOB
contenant les données à fusionner avec le formulaire. Assurez-vous d’utiliser l’objet BLOB
créé lors des étapes 1 et 2.PDFFormRenderSpecc
qui stocke les options d’exécution. Pour plus d’informations, voir Référence de l’API AEM Forms.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 et vous pouvez spécifier null
si vous ne souhaitez pas joindre de fichiers au formulaire.com.adobe.idp.services.holders.BLOBHolder
vide renseigné par la méthode. Elle permet de stocker le formulaire PDF rendu.javax.xml.rpc.holders.LongHolder
vide renseigné par la méthode. (Cet argument stocke le nombre de pages dans le formulaire).javax.xml.rpc.holders.StringHolder
vide renseigné par la méthode. (Cet argument stocke 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
remplit l’objet com.adobe.idp.services.holders.FormsResultHolder
transmis en tant que valeur du dernier argument avec un flux de données de formulaire qui doit être écrit dans le navigateur Web client.
FormResult
en obtenant la valeur du membre de données com.adobe.idp.services.holders.FormsResultHolder
de l'objet value
.BLOB
contenant des données de formulaire en appelant la méthode FormsResult
de l'objet getOutputContent
.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
utilisé pour écrire le flux de données du formulaire dans le navigateur Web client en appelant la méthode javax.servlet.http.HttpServletResponse
de l’objet getOutputStream
.BLOB
de l’objet getBinaryData
. Cette tâche affecte le contenu de l'objet FormsResult
au tableau d'octets.javax.servlet.http.HttpServletResponse
de l’objet write
pour envoyer le flux de données de formulaire au navigateur Web client. Transférez le tableau d’octets à la méthode write
.La méthode renderPDFForm
remplit l’objet com.adobe.idp.services.holders.FormsResultHolder
transmis en tant que valeur du dernier argument avec un flux de données de formulaire qui doit être écrit dans le navigateur Web client.
Voir également
Appel de AEM Forms à l’aide du codage Base64