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 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à
Riga 7: generare Interactive PDF 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
-
Scarica e installa il pacchetto di esempio DocumentServices tramite la console Web Felix
-
Scaricare e installare il pacchetto utilizzando Gestione pacchetti AEM
-
Cerca Adobe di filtro CSRF Granite
-
Aggiungi il seguente percorso nelle sezioni escluse e salva
-
/bin/generateinteractivepdf
-
Cerca Servizio User Mapper di Apache Sling Service e fai clic per aprire le proprietà
- Fai clic sull'icona + (segno più) per aggiungere la seguente mappatura del servizio
- DevelopingWithServiceUser.core:getformsresourceresolver=fd-service
- Fai clic su Salva
- Fai clic sull'icona + (segno più) per aggiungere la seguente mappatura del servizio
-
Compila un paio di campi, quindi fai clic su Scarica e compila …Pulsante
-
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