Procesar un formulario en el cliente mediante la API de Java
Procesar un formulario en el cliente 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
- Cree un objeto
ServiceClientFactory
que contenga propiedades de conexión. - Cree un objeto
FormsServiceClient
utilizando su constructor y pasando el objetoServiceClientFactory
.
- Cree un objeto
-
Establecer opciones de tiempo de ejecución de procesamiento de cliente
- Crear un objeto
PDFFormRenderSpec
mediante su constructor. - Establezca la opción de tiempo de ejecución
RenderAtClient
invocando el métodosetRenderAtClient
del objetoPDFFormRenderSpec
y pasando el valor de enumeraciónRenderAtClient.Yes
.
- Crear un objeto
-
Procesar un formulario en el cliente
Invoque el método
renderPDFForm
del objetoFormsServiceClient
y pase los siguientes valores:- Un valor de cadena que especifica el nombre del diseño del formulario, incluida la extensión del nombre de archivo. Si hace referencia a un diseño de formulario que forma parte de una aplicación de AEM Forms, asegúrese de especificar la ruta de acceso completa, como
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - Objeto
com.adobe.idp.Document
que contiene datos para combinar con el formulario. Si no desea combinar datos, pase un objetocom.adobe.idp.Document
vacío. - Un objeto
PDFFormRenderSpec
que almacena las opciones en tiempo de ejecución necesarias para procesar un formulario en el cliente. - Un objeto
URLSpec
que contiene valores de URI requeridos por el servicio Forms para procesar un formulario. - Objeto
java.util.HashMap
que almacena datos adjuntos de archivos. Este es un parámetro opcional y puede especificarnull
si no desea adjuntar archivos al formulario.
El método
renderPDFForm
devuelve un objetoFormsResult
que contiene una secuencia de datos de formulario que debe escribirse en el explorador web del cliente. - Un valor de cadena que especifica el nombre del diseño del formulario, incluida la extensión del nombre de archivo. Si hace referencia a un diseño de formulario que forma parte de una aplicación de AEM Forms, asegúrese de especificar la ruta de acceso completa, como
-
Escribir el flujo de datos del formulario en el explorador web del cliente
- Cree un objeto
com.adobe.idp.Document
invocando el métodogetOutputContent
del objetoFormsResult
. - Obtenga el tipo de contenido del objeto
com.adobe.idp.Document
invocando su métodogetContentType
. - Establezca el tipo de contenido del objeto
javax.servlet.http.HttpServletResponse
invocando su métodosetContentType
y pasando el tipo de contenido del objetocom.adobe.idp.Document
. - Cree un objeto
javax.servlet.ServletOutputStream
utilizado para escribir el flujo de datos de formulario en el explorador web del cliente invocando el métodogetOutputStream
del objetojavax.servlet.http.HttpServletResponse
. - Cree un objeto
java.io.InputStream
invocando el métodogetInputStream
del objetocom.adobe.idp.Document
. - Cree una matriz de bytes y rellénela con la secuencia de datos de formulario invocando el método
read
del objetoInputStream
y pasando la matriz de bytes como argumento. - Invoque el método
write
del objetojavax.servlet.ServletOutputStream
para enviar el flujo de datos de formulario al explorador web del cliente. Pase la matriz de bytes al métodowrite
.
- Cree un objeto
Procesar un formulario en el cliente mediante la API de servicio web
Procesar un formulario en el cliente mediante la API de Forms (servicio web):
-
Incluir archivos de proyecto
- Cree clases de proxy Java que consuman el WSDL del servicio Forms.
- Incluya las clases de proxy Java en la ruta de clase.
-
Crear un objeto de API de cliente de Forms
Cree un objeto
FormsService
y establezca los valores de autenticación. -
Establecer opciones de tiempo de ejecución de procesamiento de cliente
- Crear un objeto
PDFFormRenderSpec
mediante su constructor. - Establezca la opción de tiempo de ejecución
RenderAtClient
invocando el métodosetRenderAtClient
del objetoPDFFormRenderSpec
y pasando el valor de cadenaRenderAtClient.Yes
.
- Crear un objeto
-
Procesar un formulario en el cliente
Invoque el método
renderPDFForm
del objetoFormsService
y pase los siguientes valores:- Un valor de cadena que especifica el nombre del diseño del formulario, incluida la extensión del nombre de archivo. Si hace referencia a un diseño de formulario que forma parte de una aplicación de Forms, asegúrese de especificar la ruta de acceso completa, como
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - Objeto
BLOB
que contiene datos para combinar con el formulario. Si no desea combinar datos, pasenull
. (Consulte Rellenado previo de Forms con diseños flexibles). - Un objeto
PDFFormRenderSpec
que almacena las opciones en tiempo de ejecución necesarias para procesar un formulario en el cliente. - Un objeto
URLSpec
que contiene valores de URI requeridos por el servicio Forms. - Objeto
java.util.HashMap
que almacena datos adjuntos de archivos. Este es un parámetro opcional y puede especificarnull
si no desea adjuntar archivos al formulario. - Un objeto
com.adobe.idp.services.holders.BLOBHolder
vacío que ha rellenado el método. Este parámetro se utiliza para almacenar el formulario de PDF procesado. - Un objeto
javax.xml.rpc.holders.LongHolder
vacío que ha rellenado el método. (Este argumento almacenará el número de páginas en el formulario). - Un objeto
javax.xml.rpc.holders.StringHolder
vacío que ha rellenado el método. (Este argumento almacenará el valor de configuración regional). - Un objeto
com.adobe.idp.services.holders.FormsResultHolder
vacío que contendrá los resultados de esta operación.
El método
renderPDFForm
rellena el objetocom.adobe.idp.services.holders.FormsResultHolder
que se pasa como el último valor de argumento con una secuencia de datos de formulario que debe escribirse en el explorador web del cliente. - Un valor de cadena que especifica el nombre del diseño del formulario, incluida la extensión del nombre de archivo. Si hace referencia a un diseño de formulario que forma parte de una aplicación de Forms, asegúrese de especificar la ruta de acceso completa, como
-
Escribir el flujo de datos del formulario en el explorador web del cliente
- Cree un objeto
FormResult
obteniendo el valor del miembro de datosvalue
del objetocom.adobe.idp.services.holders.FormsResultHolder
. - Cree un objeto
BLOB
que contenga datos de formulario invocando el métodogetOutputContent
del objetoFormsResult
. - Obtenga el tipo de contenido del objeto
BLOB
invocando su métodogetContentType
. - Establezca el tipo de contenido del objeto
javax.servlet.http.HttpServletResponse
invocando su métodosetContentType
y pasando el tipo de contenido del objetoBLOB
. - Cree un objeto
javax.servlet.ServletOutputStream
utilizado para escribir el flujo de datos de formulario en el explorador web del cliente invocando el métodogetOutputStream
del objetojavax.servlet.http.HttpServletResponse
. - Cree una matriz de bytes y rellénela invocando el método
getBinaryData
del objetoBLOB
. Esta tarea asigna el contenido del objetoFormsResult
a la matriz de bytes. - Invoque el método
write
del objetojavax.servlet.http.HttpServletResponse
para enviar el flujo de datos de formulario al explorador web del cliente. Pase la matriz de bytes al métodowrite
.
- Cree un objeto