Representar PDF interactivo con los servicios de Forms en AEM Forms

Uso de la API de servicio de Forms en AEM Forms para procesar 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 archivos PDF, así como generar PDF interactivos combinando datos xml en plantillas xdp

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

El siguiente fragmento de código procesa el PDF interactivo mediante la operación renderPDFForm de FormsService. El archivo 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ínea2-4: Crear PDFFormRenderOptions y establecer sus propiedades

Línea 7: Generar 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 el paquete DevelopersWithServiceUser

  2. Descargue e instale el paquete de ejemplo 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. Búsqueda del filtro CSRF de Adobe Granite

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

  7. /bin/generateinteractivepdf

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

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

  10. Rellene un par de campos y, a continuación, 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 archivo customtoolbar.jsp. Este jsp extrae los datos del formulario móvil y realiza una petición POST al servlet montado en la ruta /bin/generateinteractivepdf. El servlet devuelve el PDF interactivo a la aplicación que realiza la llamada. A continuación, el código de customtoolbar.jsp descarga el archivo en el sistema local

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e