Développer avec Output et Forms Services dans AEM Forms developing-with-output-and-forms-services-in-aem-forms

Découvrez comment développer avec l’API Output et Forms Service dans AEM Forms.

Dans cet article, nous examinerons ce qui suit.

  • Output Service : en règle générale, ce service est utilisé pour fusionner des données XML avec un modèle xdp ou PDF, afin de générer un PDF aplati.
  • FormsService : il s’agit d’un service très polyvalent qui vous permet d’exporter/importer des données depuis et vers un fichier PDF.

L’extrait de code suivant exporte les données depuis un 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 PDF à partir de la requête.

La ligne 2 extrait l’emplacement d’enregistrement à partir de la requête.

La ligne 5 contient le service Forms.

La ligne 6 exporte les données XML 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 package, vous devrez placer sur la liste autorisée les URL suivantes dans le filtre Adobe CSRF Granite.

  1. Suivez les étapes mentionnées ci-dessous pour placer sur la liste autorisée les chemins mentionnés ci-dessus.
  2. Se connecter à configMgr.
  3. Recherchez un filtre CSRF Adobe Granite.
  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. /content/AemFormsSamples/renderxdp
  9. Recherchez le filtre référent Sling (« Sling Referrer filter »).
  10. Cochez la case « Autoriser les champs vides ». (Ce paramètre doit être utilisé à des fins de test uniquement.)

Tester les exemples

Il existe plusieurs façons de tester l’exemple de code. La plus rapide et la plus simple est d’utiliser l’application Postman. Postman vous permet d’effectuer des requêtes POST à votre serveur.

  • Installez l’application Postman sur votre système.
  • Lancez l’application et saisissez l’URL appropriée.
  • Assurez-vous d’avoir sélectionné « POST » dans la liste déroulante.
  • Veillez à spécifier « Autorisation » comme « Authentification de base ». Indiquez le nom d’utilisateur ou d’utilisatrice et le mot de passe du serveur AEM Server.
  • Indiquez les paramètres de requête dans l’onglet de corps.
  • Cliquez sur le bouton d’envoi.

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

Utiliser OutputService pour fusionner des données avec le modèle xdp

  • Utilisez le service Output pour fusionner des données avec un document XDP ou PDF pour générer un PDF aplati.

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

  • Paramètres de requête :

    • xdp_or_pdf_file  : fichier XDP ou PDF avec lequel vous souhaitez fusionner des données.
    • xmlfile  : fichier de données XML fusionné avec xdp_or_pdf_file
    • saveLocation  : emplacement où enregistrer le document rendu sur votre système de fichiers. Par exemple, C:\documents\sample.pdf.

Utiliser lʼAPI FormsService

Importer les données

  • Utilisez l’API importData FormsService pour importer des données dans un fichier PDF.

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

  • Paramètres de requête :

    • pdffile  : fichier PDF avec lequel vous souhaitez fusionner des données.
    • xmlfile  : fichier de données XML fusionné avec le fichier PDF.
    • saveLocation  : emplacement où enregistrer le document rendu sur votre système de fichiers. Par exemple, c:\\outputsample.pdf.

Exporter des données

  • Utiliser l’API exportData FormsService pour exporter des données à partir d’un fichier PDF

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

  • Paramètres de requête :

    • pdffile  : fichier pdf à partir duquel vous souhaitez exporter des données.
    • saveLocation  : emplacement où enregistrer les données exportées sur votre système de fichiers. Par exemple, c:\documents\exported_data.xml.

Effectuer un rendu XDP

  • Effectuer le rendu du modèle XDP en tant que PDF statique/dynamique
  • Utiliser l’API renderPDFForm FormsService pour effectuer le rendu du modèle XDP en tant que PDF
  • URL POST  : http://localhost:4502/content/AemFormsSamples/renderxdp?
  • Paramètre de requête :
    • xdpName : nom du fichier XDP à rendre en tant que PDF

Vous pouvez importer cette collection Postman pour tester l’API.

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e