Al procesar un formulario, puede definir opciones en tiempo de ejecución que optimicen el rendimiento del servicio Forms. Otra tarea que puede realizar para mejorar el rendimiento del servicio Forms es almacenar archivos XDP en el repositorio. Sin embargo, esta sección no describe cómo realizar esta tarea. (Consulte Invocación de 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 mientras se procesa 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.
Creación de 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 tiempo de ejecución del rendimiento
Puede configurar las siguientes opciones de rendimiento en tiempo de ejecución para mejorar el rendimiento del servicio 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, a continuación, 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 vuelve a procesar el formulario para el usuario con los resultados mostrados en el formulario. Si se devuelve un formulario sin información de estado al servicio Forms, solo están disponibles los datos XML y no se realizan cálculos en el servidor.Procesamiento del formulario
Para procesar el formulario después de definir las opciones de rendimiento, se utiliza 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 lo siguiente
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Inicio rápido de la API del servicio de Forms
Renderización de PDF forms interactivos
Representación de Forms como HTML
Creación de aplicaciones web que procesen Forms
Representar un formulario con rendimiento optimizado mediante la API de Forms (Java):
Incluir archivos de proyecto
Incluya archivos JAR del cliente, como adobe-forms-client.jar, en la ruta de clase de su proyecto Java.
Creación de un objeto de API de cliente de Forms
ServiceClientFactory
objeto que contiene propiedades de conexión.FormsServiceClient
usando su constructor y pasando el ServiceClientFactory
objeto.Establecer opciones de tiempo de ejecución del rendimiento
PDFFormRenderSpec
usando su constructor.PDFFormRenderSpec
del objeto setCacheEnabled
método y paso true
.PDFFormRenderSpec
del objeto setLinearizedPDF
método y paso true.
Procesamiento del formulario
Invocar el FormsServiceClient
del objeto renderPDFForm
y pase los siguientes valores:
com.adobe.idp.Document
objeto 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 necesarios para el servicio 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.La variable renderPDFForm
el método devuelve un FormsResult
objeto que contiene 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
javax.servlet.ServletOutputStream
objeto utilizado para enviar una secuencia de datos de formulario al explorador web del cliente.com.adobe.idp.Document
invocando el objeto FormsResult
objeto ‘s getOutputContent
método.java.io.InputStream
invocando el objeto 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
método para enviar la secuencia de datos del formulario al explorador web del cliente. Pase la matriz de bytes a la write
método.Consulte también lo siguiente
Inicio rápido (modo SOAP): Optimización del rendimiento mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Representar un formulario con un rendimiento optimizado mediante la API de Forms (servicio web):
Incluir archivos de proyecto
Creación de un objeto de API de cliente de Forms
Cree un FormsService
y establezca los valores de autenticación.
Establecer opciones de tiempo de ejecución del rendimiento
PDFFormRenderSpec
usando su constructor.PDFFormRenderSpec
del objeto setCacheEnabled
y pasar a verdadero.PDFFormRenderSpec
del objeto setStandAlone
y pasar a verdadero.PDFFormRenderSpec
del objeto setLinearizedPDF
y pasar a verdadero.Procesamiento del formulario
Invocar el FormsService
del objeto renderPDFForm
y pase los siguientes valores:
BLOB
objeto que contiene datos para combinar con el formulario. Si no desea combinar datos, pase null
.PDFFormRenderSpecc
que almacena opciones en tiempo de ejecución.URLSpec
que contiene valores de URI necesarios para el servicio 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 del 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.La variable renderPDFForm
rellena el com.adobe.idp.services.holders.FormsResultHolder
objeto 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
obteniendo el valor de com.adobe.idp.services.holders.FormsResultHolder
del objeto value
miembro de datos.javax.servlet.ServletOutputStream
objeto utilizado para enviar una secuencia de datos de formulario al explorador web del cliente.BLOB
objeto que contiene datos de formulario invocando la variable FormsResult
del objeto getOutputContent
método.BLOB
del objeto getBinaryData
método. Esta tarea asigna el contenido de la variable FormsResult
a la matriz de bytes.javax.servlet.http.HttpServletResponse
del objeto write
método para enviar la secuencia de datos del formulario al explorador web del cliente. Pase la matriz de bytes a la write
método.Consulte también lo siguiente
Invocación de AEM Forms mediante la codificación Base64