Los ejemplos de este documento solo son para AEM Forms en un entorno JEE.
Al procesar un formulario, puede establecer opciones en tiempo de ejecución que optimicen el rendimiento del servicio de Forms. Otra tarea que puede realizar para mejorar el rendimiento del servicio Forms es almacenar los archivos XDP en el repositorio. Sin embargo, esta sección no describe cómo realizar esta tarea. (Consulte Invocar un servicio mediante una biblioteca de cliente Java.)
Para obtener más información sobre el servicio Forms, consulte Referencia de servicios para AEM Forms.
Para optimizar el rendimiento del servicio Forms al procesar un formulario, realice las siguientes tareas:
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Crear un objeto de API de cliente de Forms
Para poder realizar mediante programación una operación de API de cliente de servicio de Forms, debe crear un cliente de servicio de Forms. Si utiliza la API de Java, cree un FormsServiceClient
objeto. Si utiliza la API del servicio web de Forms, cree un FormsService
objeto.
Establecer opciones de rendimiento en tiempo de ejecución
Puede establecer las siguientes opciones de tiempo de ejecución de rendimiento para mejorar el rendimiento del servicio de Forms:
true
, lo que hace que los formularios se procesen sin información de estado. La información de estado es necesaria si desea procesar un formulario interactivo para un usuario final que luego introduzca información en el formulario y lo envíe de nuevo al servicio de Forms. A continuación, el servicio Forms realiza una operación de cálculo y devuelve el formulario al usuario con los resultados mostrados en el formulario. Si se devuelve un formulario sin información de estado al servicio Forms, solo estarán disponibles los datos XML y no se realizarán cálculos en el servidor.Procesar el formulario
Para procesar el formulario después de establecer las opciones de rendimiento, utilice la misma lógica de aplicación que para procesar un formulario sin opciones de rendimiento.
Escribir el flujo de datos del formulario en el explorador web del cliente
Una vez que el servicio Forms procesa un formulario, devuelve un flujo de datos de formulario que debe escribir en el explorador web del cliente. Cuando se escribe en el explorador web del cliente, el formulario es visible para el usuario.
Consulte también
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Inicio rápido de la API del servicio de Forms
Procesar formularios PDF interactivos
Procesar formularios como HTML
Crear aplicaciones web que procesen Forms
Procese un formulario con un rendimiento optimizado mediante la API de Forms (Java):
Incluir archivos de proyecto
Incluya archivos JAR de cliente, como adobe-forms-client.jar, en la ruta de clase del proyecto Java.
Crear un objeto de API de cliente de Forms
ServiceClientFactory
que contiene las propiedades de conexión.FormsServiceClient
usando su constructor y pasando el objeto ServiceClientFactory
objeto.Establecer opciones de rendimiento en tiempo de ejecución
PDFFormRenderSpec
mediante su constructor.PDFFormRenderSpec
del objeto setCacheEnabled
método y paso true
.PDFFormRenderSpec
del objeto setLinearizedPDF
método y paso true.
Procesar el formulario
Invoque el FormsServiceClient
del objeto renderPDFForm
y pasar los siguientes valores:
com.adobe.idp.Document
que contiene datos para combinar con el formulario. Si no desea combinar datos, pase un vacío com.adobe.idp.Document
objeto.PDFFormRenderSpec
que almacena opciones en tiempo de ejecución para mejorar el rendimiento.URLSpec
que contiene valores de URI requeridos por el servicio de Forms.java.util.HashMap
que almacena archivos adjuntos. Este es un parámetro opcional y puede especificar null
si no desea adjuntar archivos al formulario.El renderPDFForm
El método devuelve un valor FormsResult
que contiene un flujo de datos de formulario que debe escribirse en el explorador web cliente.
Escribir el flujo de datos del formulario en el explorador web del cliente
javax.servlet.ServletOutputStream
objeto utilizado para enviar un flujo de datos de formulario al explorador web del cliente.com.adobe.idp.Document
invocando el objeto de FormsResult
objeto ‘s getOutputContent
método.java.io.InputStream
invocando el objeto de com.adobe.idp.Document
del objeto getInputStream
método.InputStream
del objeto read
y pasando la matriz de bytes como argumento.javax.servlet.ServletOutputStream
del objeto write
para enviar el flujo de datos de formulario al explorador web del cliente. Pase la matriz de bytes a write
método.Consulte también
Inicio rápido (modo SOAP): Optimización del rendimiento mediante la API de Java
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Procese un formulario con un rendimiento optimizado mediante la API de Forms (servicio web):
Incluir archivos de proyecto
Crear un objeto de API de cliente de Forms
Crear un FormsService
y establezca los valores de autenticación.
Establecer opciones de rendimiento en tiempo de ejecución
PDFFormRenderSpec
mediante su constructor.PDFFormRenderSpec
del objeto setCacheEnabled
y pasando true.PDFFormRenderSpec
del objeto setStandAlone
y pasando true.PDFFormRenderSpec
del objeto setLinearizedPDF
y pasando true.Procesar el formulario
Invoque el FormsService
del objeto renderPDFForm
y pasar los siguientes valores:
BLOB
que contiene datos para combinar con el formulario. Si no desea combinar los datos, apruebe null
.PDFFormRenderSpecc
que almacena opciones en tiempo de ejecución.URLSpec
que contiene valores de URI requeridos por el servicio de Forms.java.util.HashMap
que almacena archivos adjuntos. Este es un parámetro opcional y puede especificar null
si no desea adjuntar archivos al formulario.com.adobe.idp.services.holders.BLOBHolder
objeto que rellena el método. Se utiliza para almacenar el formulario de PDF procesado.javax.xml.rpc.holders.LongHolder
objeto que rellena el método. (Este argumento almacenará el número de páginas en el formulario).javax.xml.rpc.holders.StringHolder
objeto que rellena el método. (Este argumento almacenará el valor de configuración regional).com.adobe.idp.services.holders.FormsResultHolder
que contendrá los resultados de esta operación.El renderPDFForm
rellena el método com.adobe.idp.services.holders.FormsResultHolder
que se pasa como el último valor de argumento con un flujo de datos de formulario que debe escribirse en el explorador web del cliente.
Escribir el flujo de datos del formulario en el explorador web del cliente
FormResult
al obtener el valor de la variable com.adobe.idp.services.holders.FormsResultHolder
del objeto value
miembro de datos.javax.servlet.ServletOutputStream
objeto utilizado para enviar un flujo de datos de formulario al explorador web del cliente.BLOB
que contiene datos de formulario invocando el FormsResult
del objeto getOutputContent
método.BLOB
del objeto getBinaryData
método. Esta tarea asigna el contenido del FormsResult
a la matriz de bytes.javax.servlet.http.HttpServletResponse
del objeto write
para enviar el flujo de datos de formulario al explorador web del cliente. Pase la matriz de bytes a write
método.Consulte también
Invocar AEM Forms con codificación Base64