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

  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. Accesso 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 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, quindi 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 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
8de24117-1378-413c-a581-01e660b7163e