Pasar documentos al servicio de Forms passing-documents-to-the-formsservice
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 com.adobe.idp.Document objeto que contiene el diseño de formulario al servicio Forms. A continuación, el servicio Forms procesa el diseño de formulario ubicado en la variable com.adobe.idp.Document objeto.
Una ventaja de pasar un com.adobe.idp.Document El objeto al servicio Forms es que otras operaciones de servicio devuelven un com.adobe.idp.Document instancia. Es decir, puede obtener un com.adobe.idp.Document de otra operación de servicio y renderícela. Por ejemplo, supongamos que un archivo XDP se almacena en un nodo de Content Services (obsoleto) 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 com.adobe.idp.Document objeto.
Resumen de los pasos summary-of-steps
Para pasar un documento obtenido de Content Services (desaprobada) (desaprobada) al servicio de Forms, realice las siguientes tareas:
- Incluir archivos de proyecto.
- Cree una Forms y un objeto de API de cliente de Document Management.
- Recupere el diseño de formulario de Content Services (obsoleto).
- Procese el formulario de PDF interactivo.
- Realice una acción con la secuencia de datos del formulario.
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 un com.adobe.idp.Document instancia (o una BLOB instancia si utiliza servicios web). A continuación, puede pasar la variable com.adobe.idp.Document al servicio de Forms.
Representar un formulario PDF interactivo
Para procesar un formulario interactivo, pase el com.adobe.idp.Document instancia que se devolvió de Content Services (obsoleto) al servicio de Forms.
com.adobe.idp.Document que contiene el diseño de formulario para el servicio de Forms. Dos métodos nuevos denominados renderPDFForm2 y renderHTMLForm2 aceptar com.adobe.idp.Document objeto 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
Pasar documentos al servicio de Forms mediante la API de Java pass-documents-to-the-forms-service-using-the-java-api
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
- Cree un
ServiceClientFactoryobjeto que contiene propiedades de conexión. (Consulte Configuración de las propiedades de conexión.) - Cree un
FormsServiceClientusando su constructor y pasando elServiceClientFactoryobjeto. - Cree un
DocumentManagementServiceClientImplusando su constructor y pasando elServiceClientFactoryobjeto.
- Cree un
-
Recuperar el diseño de formulario de Content Services (obsoleto)
Invocar el
DocumentManagementServiceClientImpldel objetoretrieveContenty pase los siguientes valores:- Un valor de cadena que especifica el almacén donde se agrega el contenido. El almacén predeterminado es
SpacesStore. Este valor es un parámetro obligatorio. - Un valor de cadena que especifica la ruta completa del contenido que se va a recuperar (por ejemplo,
/Company Home/Form Designs/Loan.xdp). Este valor es un parámetro obligatorio. - Un valor de cadena que especifica la versión. Este valor es un parámetro opcional y puede pasar una cadena vacía. En este caso, se recupera la versión más reciente.
La variable
retrieveContentel método devuelve unCRCResultque contiene el archivo XDP. Obtenga unacom.adobe.idp.Documentinvocando la variableCRCResultdel objetogetDocumentmétodo. - Un valor de cadena que especifica el almacén donde se agrega el contenido. El almacén predeterminado es
-
Representar un formulario PDF interactivo
Invocar el
FormsServiceClientdel objetorenderPDFForm2y pase los siguientes valores:- A
com.adobe.idp.Documentobjeto que contiene el diseño de formulario recuperado de Content Services (obsoleto). - A
com.adobe.idp.Documentobjeto que contiene datos para combinar con el formulario. Si no desea combinar datos, pase un vacíocom.adobe.idp.Documentobjeto. - A
PDFFormRenderSpecque almacena opciones en tiempo de ejecución. Este valor es un parámetro opcional y puede especificarnullsi no desea especificar opciones de tiempo de ejecución. - A
URLSpecque contiene valores de URI. Este valor es un parámetro opcional y puede especificarnull. - A
java.util.HashMapque almacena archivos adjuntos. Este valor es un parámetro opcional y puede especificarnullsi no desea adjuntar archivos al formulario.
La variable
renderPDFFormel método devuelve unFormsResultobjeto que contiene un flujo de datos de formulario que debe escribirse en el explorador web del cliente. - A
-
Realizar una acción con el flujo de datos del formulario
- Cree un
com.adobe.idp.Documentinvocando el objetoFormsResultobjeto ‘sgetOutputContentmétodo. - Obtenga el tipo de contenido de la variable
com.adobe.idp.Documentinvocando sugetContentTypemétodo. - Configure las variables
javax.servlet.http.HttpServletResponsetipo de contenido del objeto invocando susetContentTypey pasar el tipo de contenido de la variablecom.adobe.idp.Documentobjeto. - Cree un
javax.servlet.ServletOutputStreamobjeto utilizado para escribir el flujo de datos del formulario en el explorador web del cliente invocando la variablejavax.servlet.http.HttpServletResponsedel objetogetOutputStreammétodo. - Cree un
java.io.InputStreaminvocando el objetocom.adobe.idp.Documentdel objetogetInputStreammétodo. - Cree una matriz de bytes y rellénela con la secuencia de datos del formulario invocando la variable
InputStreamdel objetoreadmétodo. Pase la matriz de bytes como argumento. - Invocar el
javax.servlet.ServletOutputStreamdel objetowritemétodo para enviar la secuencia de datos del formulario al explorador web del cliente. Pase la matriz de bytes a lawritemétodo.
- Cree un
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
Pasar documentos al servicio de Forms mediante la API de servicio web pass-documents-to-the-forms-service-using-the-web-service-api
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.Porque la variable
BLOBel tipo de datos es común a ambas referencias de servicio; califique completamente la variableBLOBtipo de datos al utilizarla. En el inicio rápido correspondiente del servicio web, todas lasBLOBlas instancias están completamente cualificadas.note note NOTE Reemplazar localhost* con 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
FormsServiceClientusando su constructor predeterminado. -
Cree un
FormsServiceClient.Endpoint.Addressusando la variableSystem.ServiceModel.EndpointAddressconstructor. 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 que use la variablelc_versionatributo. Este atributo se utiliza al crear una referencia de servicio). -
Cree un
System.ServiceModel.BasicHttpBindingobteniendo el valor deFormsServiceClient.Endpoint.Bindingcampo . Conversión del valor devuelto aBasicHttpBinding. -
Configure las variables
System.ServiceModel.BasicHttpBindingdel objetoMessageEncodingcampo aWSMessageEncoding.Mtom. Este valor garantiza que se utilice MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- Asignar el nombre de usuario de los formularios AEM al campo
FormsServiceClient.ClientCredentials.UserName.UserName. - Asignar el valor de contraseña correspondiente al campo
FormsServiceClient.ClientCredentials.UserName.Password. - Asignar el valor constante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType.
- Asignar el nombre de usuario de los formularios AEM al campo
-
Asignar el valor constante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
note note NOTE Repita estos pasos para el DocumentManagementServiceClient* cliente de servicio. * -
-
Recuperar el diseño de formulario de Content Services (obsoleto)
Recupere contenido invocando la variable
DocumentManagementServiceClientdel objetoretrieveContenty pasando los siguientes valores:- Un valor de cadena que especifica el almacén donde se agrega el contenido. El almacén predeterminado es
SpacesStore. Este valor es un parámetro obligatorio. - Un valor de cadena que especifica la ruta completa del contenido que se va a recuperar (por ejemplo,
/Company Home/Form Designs/Loan.xdp). Este valor es un parámetro obligatorio. - Un valor de cadena que especifica la versión. Este valor es un parámetro opcional y puede pasar una cadena vacía. En este caso, se recupera la versión más reciente.
- Un parámetro de salida de cadena que almacena el valor del vínculo de navegación.
- A
BLOBparámetro de salida que almacena el contenido. Puede utilizar este parámetro de salida para recuperar el contenido. - A
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyTypeparámetro de salida que almacena atributos de contenido. - A
CRCResultparámetro de salida. En lugar de usar este objeto, puede usar la variableBLOBparámetro de salida para obtener el contenido.
- Un valor de cadena que especifica el almacén donde se agrega el contenido. El almacén predeterminado es
-
Representar un formulario PDF interactivo
Invocar el
FormsServiceClientdel objetorenderPDFForm2y pase los siguientes valores:- A
BLOBobjeto que contiene el diseño de formulario recuperado de Content Services (obsoleto). - A
BLOBobjeto que contiene datos para combinar con el formulario. Si no desea combinar datos, pase un vacíoBLOBobjeto. - A
PDFFormRenderSpecque almacena opciones en tiempo de ejecución. Este valor es un parámetro opcional y puede especificarnullsi no desea especificar opciones de tiempo de ejecución. - A
URLSpecque contiene valores de URI. Este valor es un parámetro opcional y puede especificarnull. - A
Mapque almacena archivos adjuntos. Este valor es un parámetro opcional y puede especificarnullsi no desea adjuntar archivos al formulario. - Un parámetro de salida largo que se utiliza para almacenar el recuento de páginas.
- Un parámetro de salida de cadena que se utiliza para almacenar el valor de configuración regional.
- A
FormsResultparámetro de salida que se utiliza para almacenar el formulario de PDF interactivo.
La variable
renderPDFForm2el método devuelve unFormsResultobjeto que contiene el formulario de PDF interactivo. - A
-
Realizar una acción con el flujo de datos del formulario
- Cree un
BLOBobjeto que contiene datos de formulario obteniendo el valor de la variableFormsResultdel objetooutputContentcampo . - Cree un
System.IO.FileStreaminvocando su constructor. Pase un valor de cadena que represente la ubicación del archivo del documento del PDF interactivo y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
BLOBobjeto recuperado delFormsResultobjeto. Rellene la matriz de bytes obteniendo el valor de la variableBLOBdel objetoMTOMmiembro de datos. - Cree un
System.IO.BinaryWriterinvocando su constructor y pasando elSystem.IO.FileStreamobjeto. - Escriba el contenido de la matriz de bytes en un archivo de PDF invocando la variable
System.IO.BinaryWriterdel objetoWritey pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante MTOM