Utveckla med Output och Forms Services i AEM Forms developing-with-output-and-forms-services-in-aem-forms

Lär dig hur du utvecklar med Output och Forms Service API i AEM Forms.

I den här artikeln ska vi titta på följande

  • Output Service - Vanligtvis används den här tjänsten för att sammanfoga xml-data med xdp-mall eller pdf för att generera en förenklad pdf.
  • FormsService - Det här är en mycket mångsidig tjänst som gör att du kan återge xdp som pdf och exportera/importera data från och till PDF.

Följande kodfragment exporterar data från PDF-filen

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);

Rad 1 extraherar pdffile från begäran

Line2 extraherar saveLocation från begäran

Rad 5 får plats i FormsService

Rad 6 exporterar xmlData från PDF-filen

Testa exempelpaketet på datorn

Hämta och installera paketet med AEM pakethanterare

När du har installerat paketet måste du tillåtslista följande URL:er i Adobe Granite CSRF-filtret.

  1. Följ stegen nedan för att tillåtslista de sökvägar som nämns ovan.
  2. Logga in på configMgr
  3. Sök efter Adobe Granite CSRF-filter
  4. Lägg till följande tre banor i de uteslutna avsnitten och spara
  5. /content/AemFormsSamples/mergedata
  6. /content/AemFormsSamples/exportdata
  7. /content/help/seFormsSamples/outputService
  8. /content/AemFormsSamples/renderxdp
  9. Sök efter filtret "Sling Referrer"
  10. Markera kryssrutan Tillåt tomt. (Den här inställningen bör endast användas i testsyfte)

Testa proverna

Du kan testa exempelkoden på flera olika sätt. Det snabbaste och enklaste är att använda Postman. Med Postman kan du göra förfrågningar om POST till servern.

  • Installera Postman-appen på datorn.
  • Starta programmet och ange rätt URL
  • Se till att du har valt "POST" i listrutan
  • Ange"Authorization" som"Basic Auth". Ange AEM användarnamn och lösenord
  • Ange parametrarna för begäran på fliken Innehåll
  • Klicka på knappen Skicka

Paketet innehåller fyra exempel. I följande stycken förklaras när utdatatjänsten eller Forms-tjänsten ska användas, tjänstens URL, indataparametrar som förväntas av varje tjänst

Använda OutputService för att sammanfoga data med xdp-mall

  • Använd Utdatatjänst för att sammanfoga data med xdp- eller pdf-dokument för att generera sammanlagd PDF

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

  • Begäranparametrar -

    • xdp_or_pdf_file : Den xdp- eller pdf-fil som du vill sammanfoga data med
    • xmlfile: XML-datafilen som sammanfogas med xdp_or_pdf_file
    • saveLocation: Den plats där det återgivna dokumentet ska sparas i filsystemet. Till exempel c:\documents\sample.pdf

Använda FormsService API

Importera data

  • Använd FormsService-importData för att importera data till PDF-filen

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

  • Begärandeparametrar:

    • pdffile : Den PDF-fil som du vill sammanfoga data med
    • xmlfile: XML-datafilen som sammanfogas med PDF-filen
    • saveLocation: Den plats där det återgivna dokumentet ska sparas i filsystemet. Till exempel c:\\outputsample.pdf.

Exportera data

  • Använd FormsService-API:t för export av data från PDF-filen

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

  • Begärandeparametrar:

    • pdffile : Den PDF-fil som du vill exportera data från
    • saveLocation: Den plats där exporterade data ska sparas i filsystemet. Till exempel c:\documents\exported_data.xml

Återge XDP

  • Återge XDP-mall som statisk/dynamisk pdf
  • Använd FormsService-återgivnings-API:t PDFForm för att återge xdp-mallen som PDF
  • POSTS-URL - http://localhost:4502/content/AemFormsSamples/renderxdp?xdpName=f1040.xdp
  • Begäranparameter:
    • xdpName: Namnet på xdp-filen som ska återges som en pdf

Du kan importera den här postmansamlingen för att testa API:t

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