Sviluppo con servizi di output e Forms in AEM Forms developing-with-output-and-forms-services-in-aem-forms

Scopri come sviluppare con l’API di servizio Output e Forms in AEM Forms.

In questo articolo prenderemo in considerazione quanto segue

  • Servizio di output - In genere questo servizio viene utilizzato per unire i dati XML con il modello xdp o il PDF per generare il PDF appiattito.
  • FormsService - Si tratta di un servizio molto versatile che consente di eseguire il rendering di xdp come pdf ed esportare/importare dati da e in file PDF.

Il frammento di codice seguente esporta dati da file 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 riga 1 estrae il file PDF dalla richiesta

Line2 estrae il file saveLocation dalla richiesta

La riga 5 acquisisce il blocco di FormsService

La riga 6 esporta i dati xml dal file PDF

Per eseguire il test del pacchetto di esempio nel sistema

Scaricare e installare il pacchetto utilizzando Gestione pacchetti AEM

Dopo aver installato il pacchetto, sarà necessario inserire nell'elenco Consentiti i seguenti URL nel filtro CSRF di Adobe Granite.

  1. Segui i passaggi indicati di seguito per inserire nell'elenco Consentiti i percorsi menzionati in precedenza.
  2. Accesso a configMgr
  3. Cerca il filtro CSRF di Adobe Granite
  4. Aggiungi i seguenti 3 percorsi nelle sezioni escluse e salva
  5. /content/AemFormsSamples/mergedata
  6. /content/AemFormsSamples/exportdata
  7. /content/AemFormsSamples/outputservice
  8. /content/AemFormsSamples/renderxdp
  9. Cerca "Sling Referrer filter" (Filtro referrer Sling)
  10. Selezionare la casella di controllo Consenti vuoto. (questa impostazione deve essere utilizzata solo a scopo di test)

Verifica dei campioni

Esistono diversi modi per testare il codice di esempio. Il metodo più rapido e semplice consiste nell’utilizzare l’app Postman. Postman consente di effettuare richieste POST al server.

  • Installa l’app Postman sul sistema.
  • Avvia l’app e immetti l’URL appropriato
  • Accertati di aver selezionato "POST" dall’elenco a discesa
  • Assicurarsi di specificare Autorizzazione come Autenticazione di base. Specificare il nome utente e la password del server AEM
  • Specifica i parametri della richiesta nella scheda corpo
  • Fai clic sul pulsante Invia

La confezione contiene 4 campioni. Nei paragrafi seguenti viene illustrato quando utilizzare il servizio di output o il servizio Forms, l'URL del servizio, i parametri di input previsti da ciascun servizio

Utilizzo di OutputService per unire i dati con il modello xdp

  • Utilizza il servizio di output per unire i dati con un documento xdp o pdf per generare un PDF appiattito

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

  • Parametri richiesta -

    • xdp_or_pdf_file: il file xdp o pdf con cui unire i dati
    • xmlfile: il file di dati xml unito con xdp_or_pdf_file
    • saveLocation: percorso in cui salvare il documento sottoposto a rendering nel file system. Ad esempio c:\documents\sample.pdf

Utilizzo dell’API FormsService

Importa dati

  • Utilizzare FormsService importData per importare dati in un file PDF

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

  • Parametri richiesta:

    • pdffile: il file pdf con cui si desidera unire i dati
    • xmlfile: il file di dati xml unito al file pdf
    • saveLocation: percorso in cui salvare il documento sottoposto a rendering nel file system. Esempio c:\\outputsample.pdf.

Esporta dati

  • Utilizzare l’API exportData di FormsService per esportare i dati da un file PDF

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

  • Parametri richiesta:

    • pdffile: il file PDF da cui si desidera esportare i dati
    • saveLocation: percorso in cui salvare i dati esportati nel file system. Ad esempio c:\documents\export_data.xml

Rendering XDP

  • Rendering del modello XDP come PDF statico/dinamico
  • Utilizza FormsService renderPDFForm API per eseguire il rendering del modello xdp come PDF
  • URL POST - http://localhost:4502/content/AemFormsSamples/renderxdp?xdpName=f1040.xdp
  • Parametro richiesta:
    • xdpName: nome del file xdp da riprodurre come pdf

Puoi importare questa raccolta postman per testare l’API

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