Sviluppo con output e servizi Forms in AEM Forms

Utilizzo dell’API di output e del servizio Forms in AEM Forms

In questo articolo daremo un'occhiata a quanto segue

  • Servizio di output: in genere questo servizio viene utilizzato per unire dati xml con modello xdp o pdf per generare pdf appiattiti. Per ulteriori dettagli, fare riferimento a javadoc per il servizio Output.
  • FormsService - Si tratta di un servizio molto versatile che consente di esportare/importare dati da e in file PDF. Per ulteriori informazioni, consulta javadoc per il servizio Forms.

Il seguente frammento di codice esporta i dati dal 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 saveLocation dalla richiesta

La riga 5 ottiene il blocco di FormsService

La riga 6 esporta i dati xml dal file PDF

Per testare il pacchetto di esempio sul sistema

Scarica e installa il pacchetto utilizzando il gestore di pacchetti AEM

Dopo aver installato il pacchetto dovrai inserire nell'elenco Consentiti i seguenti URL in Adobe Granite CSRF Filter.

  1. Segui i passaggi indicati di seguito per inserire nell'elenco Consentiti i percorsi sopra menzionati.
  2. Accedi a configMgr
  3. Ricerca filtro CSRF Granite Adobe
  4. Aggiungi i seguenti 3 percorsi nelle sezioni escluse e salva
  5. /content/AemFormsSamples/mergedata
  6. /content/AemFormsSamples/exportdata
  7. /content/AemFormsSamples/outputservice
  8. Cerca "filtro Sling Referrer"
  9. Selezionare la casella di controllo "Consenti vuoto". (Questa impostazione deve essere utilizzata solo a scopo di test)
    Esistono diversi modi per testare il codice di esempio. La più rapida e semplice è quella di utilizzare l’app Postman. Postman ti consente di effettuare richieste POST al server. Installa l'app Postman sul tuo sistema.
    Avvia l’app e immetti il seguente URL per testare l’API dei dati di esportazione

Accertati di aver selezionato "POST" dall’elenco a discesa
http://localhost:4502/content/AemFormsSamples/exportdata.html
Assicurati di specificare "Autorizzazione" come "Autenticazione di base". Specificare il nome utente e la password del server AEM
Passa alla scheda "Corpo" e specifica i parametri della richiesta come mostrato nell’immagine seguente
esportazione
Quindi fai clic sul pulsante Invia

Il pacchetto contiene 3 campioni. Nei paragrafi seguenti viene spiegato quando utilizzare il servizio di output o Forms Service, l’url del servizio , i parametri di input previsti da ogni servizio

Unisci dati e appiattisci output:

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

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

  • Parametri di richiesta -

    • xdp_or_pdf_file : File xdp o pdf con cui si desidera unire i dati
    • xmlfile: Il file di dati xml che verrà unito con xdp_or_pdf_file
    • saveLocation: Posizione in cui salvare il documento di cui è stato effettuato il rendering nel file system

Importa dati in file PDF:

  • Utilizzare FormsService per importare dati in file PDF

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

  • Parametri di richiesta:

    • pdffile : File pdf con cui si desidera unire i dati
    • xmlfile: Il file di dati xml che verrà unito al file pdf
    • saveLocation: Posizione in cui salvare il documento di cui è stato effettuato il rendering nel file system. Ad esempio c:\\outputsample.pdf.

Esportare dati da file PDF

  • Utilizzare FormsService per esportare dati da file PDF

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

  • Parametri di richiesta:

    • pdffile : Il file pdf da cui si desidera esportare i dati
    • saveLocation: Posizione in cui salvare i dati esportati nel file system

Puoi importare questa raccolta di postman per testare l’API

In questa pagina