Rendering di PDF interattivi tramite i servizi Forms in AEM Forms

Utilizzo dell’API del servizio Forms in AEM Forms per il rendering di PDF interattivi

In questo articolo esamineremo il seguente servizio

  • FormsService: si tratta di un servizio molto versatile che consente di esportare/importare dati da e in file PDF e anche generare PDF interattivi unendo i dati xml in un modello XDP

Il javadoc ufficiale per l’API AEM Forms è elencato qui

Il seguente snippet di codice esegue il rendering del PDF interattivo utilizzando l’operazione renderPDFForm di FormsService. Il file schengen.xdp è un modello utilizzato per unire i dati xml.

String uri = "crx:///content/dam/formsanddocuments";
PDFFormRenderOptions renderOptions = new PDFFormRenderOptions();
renderOptions.setAcrobatVersion(AcrobatVersion.Acrobat_11);
renderOptions.setContentRoot(uri);
Document interactivePDF = null;
try {
interactivePDF = formsService.renderPDFForm("schengen.xdp", xmlData, renderOptions);
} catch (FormsServiceException e) {
 e.printStackTrace();
}
return interactivePDF;

Riga 1: posizione della cartella che contiene il modello xdp

Line2-4: creare PDFFormRenderOptions e impostarne le proprietà

Linea 7: generare PDF interattivi utilizzando il servizio renderPDFForm di FormsService

Riga 11: restituisce il PDF interattivo generato all’applicazione chiamante

Per eseguire il test del pacchetto di esempio nel sistema

  1. Scarica e installa DevelopingWithServiceUserBundle

  2. Scarica e installa il pacchetto di esempio DocumentServices tramite la console Web Felix

  3. Scaricare e installare il pacchetto utilizzando Gestione pacchetti di AEM

  4. Accesso a configMgr

  5. Cerca filtro CSRF di Adobe Granite

  6. Aggiungi il seguente percorso nelle sezioni escluse e salva

  7. /bin/generateinteractivepdf

  8. Cerca Servizio User Mapper di Apache Sling Service e fai clic per aprire le proprietà

    1. Fai clic sull’icona + (segno più) per aggiungere la seguente mappatura del servizio
      • DevelopingWithServiceUser.core:getformsresourceresolver=fd-service
    2. Fai clic su Salva
  9. Apri il modulo mobile

  10. Compila un paio di campi e fai clic sul pulsante Scarica e compila …

  11. Il pdf interattivo deve essere scaricato nel sistema locale

Il pacchetto di esempio contiene il profilo personalizzato associato al modulo mobile. Esplora il file customtoolbar.jsp. Questo file jsp estrae i dati dal modulo mobile e invia una richiesta POST al servlet installato nel percorso /bin/generateinteractivepdf. Il servlet restituisce il pdf interattivo all’applicazione chiamante. Il codice in customtoolbar.jsp quindi scarica il file nel sistema locale

recommendation-more-help
experience-manager-learn-help-forms