Los ejemplos y ejemplos de este documento son solo para AEM Forms en un entorno JEE.
El servicio AEM Forms procesa PDF forms interactivos en dispositivos cliente, normalmente exploradores web, para recopilar información de los usuarios. Un formulario PDF interactivo se basa en un diseño de formulario que normalmente se guarda como archivo XDP y se crea en Designer. Desde AEM Forms, puede pasar un objeto com.adobe.idp.Document
que contenga el diseño de formulario al servicio de Forms. A continuación, el servicio Forms procesa el diseño de formulario ubicado en el objeto com.adobe.idp.Document
.
Una ventaja de pasar un objeto com.adobe.idp.Document
al servicio de Forms es que otras operaciones del servicio devuelven una instancia com.adobe.idp.Document
. Es decir, puede obtener una instancia com.adobe.idp.Document
de otra operación de servicio y procesarla. Por ejemplo, supongamos que un archivo XDP se almacena en un nodo de Content Services (desaprobado) denominado /Company Home/Form Designs
, como se muestra en la siguiente ilustración.
Puede recuperar mediante programación Loan.xdp de Content Services (desaprobada) (desaprobada) y pasar el archivo XDP al servicio Forms dentro de un objeto com.adobe.idp.Document
.
Para obtener más información sobre el servicio Forms, consulte Referencia de servicios para AEM Forms.
Para pasar un documento obtenido de Content Services (desaprobada) (desaprobada) al servicio de Forms, 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, incluya los archivos proxy.
Creación de un objeto de API de cliente de Forms y Document Management
Antes de realizar una operación de API de servicio de Forms mediante programación, cree un objeto de API de cliente de Forms. Además, como este flujo de trabajo recupera un archivo XDP de Content Services (obsoleto), cree un objeto de API de Document Management.
Recuperar el diseño de formulario de Content Services (obsoleto)
Recupere el archivo XDP de Content Services (obsoleto) mediante Java o la API de servicio web. El archivo XDP se devuelve dentro de una instancia com.adobe.idp.Document
(o una instancia BLOB
si utiliza servicios web). A continuación, puede pasar la instancia com.adobe.idp.Document
al servicio de Forms.
Representar un formulario PDF interactivo
Para procesar un formulario interactivo, pase la instancia com.adobe.idp.Document
que se devolvió desde Content Services (obsoleto) al servicio de Forms.
Puede pasar un com.adobe.idp.Document
que contenga el diseño de formulario al servicio de Forms. Dos nuevos métodos llamados renderPDFForm2
y renderHTMLForm2
aceptan un objeto com.adobe.idp.Document
que contiene un diseño de formulario.
Realizar una acción con el flujo de datos del formulario
Según el tipo de aplicación cliente, puede escribir el formulario en un explorador web cliente o guardarlo como archivo PDF. Una aplicación basada en Web suele escribir el formulario en un explorador Web. Sin embargo, una aplicación de escritorio generalmente guarda el formulario como un archivo PDF.
Consulte también
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
Pase un documento obtenido de Content Services (desaprobada) mediante el servicio Forms y la API (desaprobada) de Content Services (Java):
Incluir archivos de proyecto
Incluya archivos JAR del cliente, como adobe-forms-client.jar y adobe-contentservices-client.jar, en la ruta de clase de su proyecto Java.
Creación de un objeto de API de cliente de Forms y Document Management
ServiceClientFactory
que contenga propiedades de conexión. (Consulte Configuración de las propiedades de conexión).FormsServiceClient
utilizando su constructor y pasando el objeto ServiceClientFactory
.DocumentManagementServiceClientImpl
utilizando su constructor y pasando el objeto ServiceClientFactory
.Recuperar el diseño de formulario de Content Services (obsoleto)
Invoque el método DocumentManagementServiceClientImpl
del objeto retrieveContent
y pase los siguientes valores:
SpacesStore
. Este valor es un parámetro obligatorio./Company Home/Form Designs/Loan.xdp
). Este valor es un parámetro obligatorio.El método retrieveContent
devuelve un objeto CRCResult
que contiene el archivo XDP. Obtenga una instancia com.adobe.idp.Document
invocando el método CRCResult
del objeto getDocument
.
Representar un formulario PDF interactivo
Invoque el método FormsServiceClient
del objeto renderPDFForm2
y pase los siguientes valores:
com.adobe.idp.Document
que contiene el diseño de formulario recuperado de Content Services (obsoleto).com.adobe.idp.Document
que contiene datos para combinar con el formulario. Si no desea combinar datos, pase un objeto com.adobe.idp.Document
vacío.PDFFormRenderSpec
que almacena opciones en tiempo de ejecución. Este valor es un parámetro opcional y puede especificar null
si no desea especificar opciones en tiempo de ejecución.URLSpec
que contiene valores de URI. Este valor es un parámetro opcional y puede especificar null
.java.util.HashMap
que almacena archivos adjuntos. Este valor es un parámetro opcional y puede especificar null
si no desea adjuntar archivos al formulario.El método renderPDFForm
devuelve un objeto FormsResult
que contiene un flujo de datos de formulario que debe escribirse en el explorador web del cliente.
Realizar una acción con el flujo de datos del formulario
com.adobe.idp.Document
invocando el método FormsResult
del objeto ‘s getOutputContent
.com.adobe.idp.Document
invocando su método getContentType
.javax.servlet.http.HttpServletResponse
invocando su método setContentType
y pasando el tipo de contenido del objeto com.adobe.idp.Document
.javax.servlet.ServletOutputStream
que se utilice para escribir el flujo de datos del formulario en el explorador web del cliente invocando el método javax.servlet.http.HttpServletResponse
del objeto getOutputStream
.java.io.InputStream
invocando el método com.adobe.idp.Document
del objeto getInputStream
.InputStream
del objeto read
. Pase la matriz de bytes como argumento.javax.servlet.ServletOutputStream
del objeto write
para enviar la secuencia de datos del formulario al explorador web del cliente. Pase la matriz de bytes al método write
.Consulte también
Inicio rápido (modo SOAP): Pasar documentos al servicio de Forms mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Pase un documento obtenido de Content Services (desaprobada) mediante el servicio Forms y la API de Content Services (desaprobada) (servicio web):
Incluir archivos de proyecto
Cree un proyecto de Microsoft .NET que utilice MTOM. Dado que esta aplicación cliente invoca dos servicios de AEM Forms, cree dos referencias de servicio. Utilice la siguiente definición WSDL para la referencia de servicio asociada al servicio Forms: http://localhost:8080/soap/services/FormsService?WSDL&lc_version=9.0.1
.
Utilice la siguiente definición WSDL para la referencia de servicio asociada al servicio de gestión de documentos: http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1
.
Dado que el tipo de datos BLOB
es común a ambas referencias de servicio, califique completamente el tipo de datos BLOB
al utilizarlo. En el inicio rápido correspondiente del servicio web, todas las instancias BLOB
están completamente cualificadas.
Sustituya localhost
por la dirección IP del servidor que hospeda AEM Forms.
Creación de un objeto de API de cliente de Forms y Document Management
Cree un objeto FormsServiceClient
utilizando su constructor predeterminado.
Cree un objeto FormsServiceClient.Endpoint.Address
utilizando el constructor System.ServiceModel.EndpointAddress
. Pase un valor de cadena que especifique el WSDL al servicio de AEM Forms (por ejemplo, http://localhost:8080/soap/services/FormsService?WSDL
). No es necesario utilizar el atributo lc_version
. Este atributo se utiliza al crear una referencia de servicio).
Cree un objeto System.ServiceModel.BasicHttpBinding
obteniendo el valor del campo FormsServiceClient.Endpoint.Binding
. Establezca el valor devuelto en BasicHttpBinding
.
Establezca el campo System.ServiceModel.BasicHttpBinding
del objeto MessageEncoding
en WSMessageEncoding.Mtom
. Este valor garantiza que se utilice MTOM.
Habilite la autenticación HTTP básica realizando las siguientes tareas:
FormsServiceClient.ClientCredentials.UserName.UserName
.FormsServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.Asigne el valor constante BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.
Repita estos pasos para el cliente de servicio DocumentManagementServiceClient
.
Recuperar el diseño de formulario de Content Services (obsoleto)
Recupere contenido invocando el método DocumentManagementServiceClient
del objeto retrieveContent
y pasando los siguientes valores:
SpacesStore
. Este valor es un parámetro obligatorio./Company Home/Form Designs/Loan.xdp
). Este valor es un parámetro obligatorio.BLOB
que almacena el contenido. Puede utilizar este parámetro de salida para recuperar el contenido.ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
que almacena atributos de contenido.CRCResult
. En lugar de utilizar este objeto, puede utilizar el parámetro de salida BLOB
para obtener el contenido.Representar un formulario PDF interactivo
Invoque el método FormsServiceClient
del objeto renderPDFForm2
y pase los siguientes valores:
BLOB
que contiene el diseño de formulario recuperado de Content Services (obsoleto).BLOB
que contiene datos para combinar con el formulario. Si no desea combinar datos, pase un objeto BLOB
vacío.PDFFormRenderSpec
que almacena opciones en tiempo de ejecución. Este valor es un parámetro opcional y puede especificar null
si no desea especificar opciones en tiempo de ejecución.URLSpec
que contiene valores de URI. Este valor es un parámetro opcional y puede especificar null
.Map
que almacena archivos adjuntos. Este valor es un parámetro opcional y puede especificar null
si no desea adjuntar archivos al formulario.FormsResult
que se utiliza para almacenar el formulario PDF interactivo .
El método renderPDFForm2
devuelve un objeto FormsResult
que contiene el formulario PDF interactivo.
Realizar una acción con el flujo de datos del formulario
BLOB
que contenga datos de formulario obteniendo el valor del campo FormsResult
del objeto outputContent
.System.IO.FileStream
invocando su constructor. Pase un valor de cadena que represente la ubicación del archivo del documento PDF interactivo y el modo en que se abre el archivo.BLOB
recuperado del objeto FormsResult
. Rellene la matriz de bytes obteniendo el valor del miembro de datos BLOB
del objeto MTOM
.System.IO.BinaryWriter
invocando su constructor y pasando el objeto System.IO.FileStream
.System.IO.BinaryWriter
del objeto Write
y pasando la matriz de bytes.Consulte también