Renderización de un PDF interactivo mediante Forms Services en AEM Forms

Uso de la API del servicio de Forms en AEM Forms para procesar un PDF interactivo

En este artículo echaremos un vistazo al siguiente servicio

  • FormsService : Se trata de un servicio muy versátil que le permite exportar e importar datos desde y hacia un archivo PDF, así como generar pdf interactivo al combinar datos xml en una plantilla xdp

El oficial javadoc para la API de AEM Forms se enumera aquí

El siguiente fragmento de código procesa pdf interactivo utilizando la operación renderPDFForm de FormsService. El schengen.xdp es una plantilla que se utiliza para combinar los datos 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;

Línea 1: Ubicación de la carpeta que contiene la plantilla xdp

Línea 2-4: Crear PDFFormRenderOptions y establecer sus propiedades

Línea 7: Generación de un PDF interactivo mediante la operación del servicio renderPDFForm de FormsService

Línea 11: Devuelve el pdf interactivo generado a la aplicación que realiza la llamada

Para probar el paquete de muestra en el sistema

  1. Descargar e instalar DevelopingWithServiceUserBundle

  2. Descargue e instale el paquete de muestra de DocumentServices mediante la Consola Web Felix

  3. Descargue e instale el paquete mediante el administrador de paquetes de AEM

  4. Iniciar sesión en configMgr

  5. Buscar el filtro de Adobe Granite CSRF

  6. Añada la siguiente ruta en las secciones excluidas y guarde

  7. /bin/generateinteractivepdf

  8. Buscar Servicio de asignador de usuarios del servicio Apache Sling y haga clic en para abrir las propiedades

    1. Haga clic en el + icono (más) para añadir la siguiente asignación de servicios
      • DevelopingWithServiceUser.core:getformsresourceresolver=fd-service
    2. Haga clic en ' Guardar '
  9. Abrir el formulario móvil

  10. Complete un par de campos y luego haga clic en el Descargar y rellenar … botón

  11. El pdf interactivo debe descargarse en el sistema local

El paquete de ejemplo contiene el perfil personalizado asociado al formulario móvil. Explore el customtoolbar.jsp archivo. Este jsp extrae los datos del formulario móvil y realiza una solicitud de POST para el servlet montada en /bin/generateinteractivepdf ruta. El servlet devuelve el pdf interactivo a la aplicación que realiza la llamada. El código de customtoolbar.jsp descarga el archivo en el sistema local

En esta página