Rendering di Interactive PDF 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 dati xml in un modello XDP

Il funzionario javadoc per 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à

Riga 7: generare Interactive PDF utilizzando il servizio renderPDFForm di FormsService

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

Per testare il pacchetto di esempio sul 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 AEM

  4. Accedi a configMgr

  5. Cerca Adobe di filtro CSRF Granite

  6. Aggiungi il seguente percorso nelle sezioni escluse e salva

  7. /bin/generateinteractivepdf

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

    1. Fai clic su + (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 su Scarica e compila … pulsante

  11. Il pdf interattivo deve essere scaricato nel sistema locale

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

In questa pagina