Développement avec les services Output et Forms à AEM Forms

Utilisation de l’API Output et du service Forms dans AEM Forms

Dans cet article, nous examinerons ce qui suit :

  • Output Service - Ce service est généralement utilisé pour fusionner des données xml avec un modèle xdp ou un fichier pdf afin de générer un fichier pdf aplati.
  • FormsService - Il s’agit d’un service très polyvalent qui vous permet d’exporter/d’importer des données de et dans un fichier PDF.

L’API javadoc officielle pour AEM Forms est répertoriée ici

Le fragment de code suivant exporte les données du fichier PDF.

javax.servlet.http.Part pdfPart = request.getPart("pdffile");
String filePath = request.getParameter("saveLocation");
java.io.InputStream pdfIS = pdfPart.getInputStream();
com.adobe.aemfd.docmanager.Document pdfDocument = new com.adobe.aemfd.docmanager.Document(pdfIS);
com.adobe.fd.forms.api.FormsService formsservice = sling.getService(com.adobe.fd.forms.api.FormsService.class);
com.adobe.aemfd.docmanager.Document xmlDocument = formsservice.exportData(pdfDocument,com.adobe.fd.forms.api.DataFormat.Auto);

La ligne 1 extrait le fichier de la requête

Line2 extrait le saveLocation de la requête.

La ligne 5 récupère FormsService

La ligne 6 exporte les xmlData du fichier PDF.

Pour tester l’exemple de package sur votre système

Téléchargez et installez le package à l’aide du gestionnaire de packages AEM.

Après avoir installé le pack, vous devrez placer sur la liste autorisée les URL suivantes dans le filtre CSRF Granite Adobe.

  1. Suivez les étapes mentionnées ci-dessous pour placer sur la liste autorisée les chemins mentionnés ci-dessus.
  2. Connexion à configMgr
  3. Rechercher un filtre CSRF Granite Adobe
  4. Ajoutez les 3 chemins suivants dans les sections exclues et enregistrez
  5. /content/AemFormsSamples/mergedata
  6. /content/AemFormsSamples/exportdata
  7. /content/AemFormsSamples/outputservice
  8. Rechercher "Sling Parrain filter"
  9. Cochez la case "Autoriser les champs vides". (Ce paramètre doit uniquement être utilisé à des fins de test)
    Il existe plusieurs méthodes pour tester l’exemple de code. Le plus rapide et le plus simple est d'utiliser l'application Postman. Postman vous permet d'envoyer des demandes POST à votre serveur. Installez l’application Postman sur votre système.
    Lancez l’application et saisissez l’URL suivante pour tester l’API d’exportation des données.

Vérifiez que vous avez sélectionné "POST" dans la liste déroulante.
http://localhost:4502/content/AemFormsSamples/exportdata.html
Veillez à spécifier "Autorisation" comme "Auth de base". Indiquez le nom d’utilisateur et le mot de passe AEM Server.
Accédez à l’onglet "Corps" et spécifiez les paramètres de requête, comme indiqué dans l’image ci-dessous.
exporter
Cliquez ensuite sur le bouton Envoyer

Le paquet contient 3 exemples. Les paragraphes suivants expliquent à quel moment utiliser le service de sortie ou Forms Service, l’URL du service, les paramètres d’entrée attendus par chaque service.

Fusionner les données et aplatir la sortie :

  • Utiliser Output Service pour fusionner des données avec xdp ou pdf document pour générer un pdf aplati

  • URL du POST : http://localhost:4502/content/AemFormsSamples/outputservice.html

  • Paramètres de la demande -

    • xdp_or_pdf_file : Fichier xdp ou pdf avec lequel vous souhaitez fusionner des données
    • xmlfile: Le fichier de données xml qui sera fusionné avec xdp_or_pdf_file
    • saveLocation : Emplacement d’enregistrement du document rendu sur votre système de fichiers

Importer des données dans un fichier PDF :

  • Utilisation de FormsService pour importer des données dans un fichier PDF

  • URL du POST - http://localhost:4502/content/AemFormsSamples/mergedata.html

  • Paramètres de la demande:

    • pdffile : Le fichier pdf avec lequel vous souhaitez fusionner des données
    • xmlfile: Fichier de données xml qui sera fusionné avec le fichier pdf
    • saveLocation : Emplacement d’enregistrement du document rendu sur votre système de fichiers. Par exemple c:\\outputsample.pdf.

Exporter des données à partir d’un fichier PDF

  • Utilisation de FormsService pour exporter des données à partir d’un fichier PDF

  • ​URL du POST - http://localhost:4502/content/AemFormsSamples/exportdata.html

  • Paramètres de la demande:

    • pdffile : Le fichier pdf à partir duquel vous souhaitez exporter des données
    • saveLocation : Emplacement d'enregistrement des données exportées sur votre système de fichiers

Vous pouvez importer cette collection de facteur pour tester l'API

Sur cette page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free