Restituer un formulaire au client à l’aide de l’API Java

Restituez un formulaire au client à 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 projet Java Classpath.

  2. Créer un objet API Forms client

    • 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. Déterminer des options d’exécution du rendu client

    • Créez un objet PDFFormRenderSpec en utilisant son constructeur.
    • Définissez l’option temps d’exécution RenderAtClient en faisant appel à la méthode setRenderAtClient de l’objet PDFFormRenderSpec et en transmettant la valeur d’énumération RenderAtClient.Yes.
  4. Restituer un formulaire au niveau du client

    Appelez la méthode renderPDFForm 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 un modèle de formulaire faisant partie d’une application AEM Forms, veillez à en spécifier le chemin d’accès complet, tel que Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.
    • 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 vide.
    • Objet PDFFormRenderSpec stockant les options d’exécution requises pour générer un formulaire au niveau du client.
    • Objet URLSpec contenant des valeurs URI requises par le service Forms pour générer un formulaire.
    • Objet 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.

  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.
    • Accédez au 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.http.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 en tant qu’argument.
    • Appelez la méthode 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.

Rendre un formulaire au niveau du client à l’aide de l’API Web Service

Restituez un formulaire au client à l’aide de l’API Forms (Web Service) :

  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 le chemin d’accès de classe.
  2. Créer un objet API Forms client

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

  3. Déterminer des options d’exécution du rendu client

    • Créez un objet PDFFormRenderSpec en utilisant son constructeur.
    • Définissez l’option de temps d’exécution 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.
  4. Restituer un formulaire au niveau du client

    Appelez la méthode renderPDFForm 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 qui fait partie d’une application Forms, veillez à spécifier le chemin dʼaccès complet, tel que Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.
    • 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 fluides.)
    • Objet PDFFormRenderSpec stockant les options d’exécution requises pour générer un formulaire au niveau du client.
    • Objet URLSpec contenant les valeurs URI requises par le service Forms.
    • Un objet 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.
    • Objet 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.
    • Objet javax.xml.rpc.holders.LongHolder vide qui est rempli par la méthode. (Cet argument permet de stocker le nombre de pages du formulaire).
    • Un objet 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).
    • Un objet 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.

  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 contenant des données de 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 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.
    • 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 de formulaire au navigateur web client. Transmettez le tableau d’octets à la méthode write.

Experience Manager