Los ejemplos de este documento solo son para AEM Forms en un entorno JEE.
Las aplicaciones basadas en Web que permiten a los usuarios rellenar formularios interactivos requieren que los datos se devuelvan al servidor. Con el servicio Forms, puede recuperar los datos de formulario introducidos por el usuario en un formulario interactivo. A continuación, puede pasar los datos del formulario a otra operación del servicio AEM Forms y crear un documento del PDF utilizando los datos.
Antes de leer este contenido, se recomienda tener una comprensión sólida de la gestión de los formularios enviados. Los conceptos como la relación entre un diseño de formulario y los datos XML enviados se tratan en Gestión de Forms enviados.
Tenga en cuenta el siguiente flujo de trabajo que implica tres servicios de AEM Forms:
El diagrama siguiente proporciona una representación visual de este flujo de trabajo.
Una vez que el usuario envía el formulario desde el explorador web del cliente, el documento no interactivo del PDF se almacena en Content Services (obsoleto). La siguiente ilustración muestra un documento de PDF almacenado en Content Services (obsoleto).
Para crear un documento de PDF no interactivo con datos XML enviados y almacenarlo en el documento de PDF en Content Services (obsoleto), 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 objetos de Forms, Output y Document Management
Para poder realizar mediante programación una operación de API de servicio de Forms, cree un objeto de API de cliente de Forms. Del mismo modo, dado que este flujo de trabajo invoca los servicios Output y Document Management, cree un objeto de API de cliente de salida y un objeto de API de cliente de Document Management.
Recuperación de datos de formulario mediante el servicio de Forms
Recupere los datos de formulario enviados al servicio Forms. Puede procesar los datos enviados para satisfacer sus necesidades comerciales. Por ejemplo, puede almacenar datos de formulario en una base de datos empresarial. Sin embargo, para crear un documento de PDF no interactivo, los datos del formulario se pasan al servicio Output.
Cree un documento de PDF no interactivo con el servicio Output.
Utilice el servicio Output para crear un documento de PDF no interactivo basado en un diseño de formulario y datos de formulario XML. En el flujo de trabajo, los datos del formulario se recuperan del servicio de Forms.
Almacenar el formulario de PDF en Content Services (obsoleto) mediante el servicio Document Management
Utilice la API del servicio Administración de documentos para almacenar un documento de PDF en Content Services (obsoleto).
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
Cree un documento de PDF con datos XML enviados mediante la API de Forms, Output y Document Management (Java):
Incluir archivos de proyecto
Incluya archivos JAR de cliente, como adobe-forms-client.jar, adobe-output-client.jar y adobe-contentservices-client.jar en la ruta de clase de su proyecto Java.
Creación de objetos de Forms, Output y Document Management
ServiceClientFactory
que contiene las propiedades de conexión.FormsServiceClient
usando su constructor y pasando el objeto ServiceClientFactory
objeto.OutputClient
usando su constructor y pasando el objeto ServiceClientFactory
objeto.DocumentManagementServiceClientImpl
usando su constructor y pasando el objeto ServiceClientFactory
objeto.Recuperación de datos de formulario mediante el servicio de Forms
Invoque el FormsServiceClient
del objeto processFormSubmission
y pasar los siguientes valores:
com.adobe.idp.Document
que contiene los datos del formulario.CONTENT_TYPE
variable de entorno. Por ejemplo, para gestionar datos XML, especifique el siguiente valor de cadena para este parámetro: CONTENT_TYPE=text/xml
.HTTP_USER_AGENT
valor de encabezado, como Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
.RenderOptionsSpec
que almacena opciones en tiempo de ejecución.El processFormSubmission
El método devuelve un valor FormsResult
que contiene los resultados del envío del formulario.
Determine si el servicio Forms ha terminado de procesar los datos del formulario invocando el FormsResult
del objeto getAction
método. Si este método devuelve el valor 0
, los datos están listos para procesarse.
Recuperar datos de formulario creando un com.adobe.idp.Document
invocando el objeto de FormsResult
del objeto getOutputContent
método. (Este objeto contiene datos de formulario que se pueden enviar al servicio Output).
Crear un java.io.InputStream
invocando el objeto de java.io.DataInputStream
y pasando el com.adobe.idp.Document
objeto.
Crear un org.w3c.dom.DocumentBuilderFactory
llamando a la función estática org.w3c.dom.DocumentBuilderFactory
del objeto newInstance
método.
Crear un org.w3c.dom.DocumentBuilder
invocando el objeto de org.w3c.dom.DocumentBuilderFactory
del objeto newDocumentBuilder
método.
Crear un org.w3c.dom.Document
invocando el objeto de org.w3c.dom.DocumentBuilder
del objeto parse
y pasando el java.io.InputStream
objeto.
Recupere el valor de cada nodo dentro del documento XML. Una forma de realizar esta tarea es crear un método personalizado que acepte dos parámetros: org.w3c.dom.Document
y el nombre del nodo cuyo valor desea recuperar. Este método devuelve un valor de cadena que representa el valor del nodo. En el ejemplo de código que sigue este proceso, se llama a este método personalizado getNodeText
. Se muestra el cuerpo de este método.
Cree un documento de PDF no interactivo con el servicio Output.
Cree un documento de PDF invocando el OutputClient
del objeto generatePDFOutput
y pasando los siguientes valores:
TransformationFormat
valor de enumeración. Para generar un documento de PDF, especifique TransformationFormat.PDF
.PDFOutputOptionsSpec
que contiene opciones de tiempo de ejecución de PDF.RenderOptionsSpec
que contiene opciones de procesamiento en tiempo de ejecución.com.adobe.idp.Document
que contiene el origen de datos XML que contiene los datos para combinarlos con el diseño de formulario. Asegúrese de que el ha devuelto este objeto. FormsResult
del objeto getOutputContent
método.generatePDFOutput
El método devuelve un OutputResult
que contiene los resultados de la operación.OutputResult
del objeto getGeneratedDoc
método. Este método devuelve un com.adobe.idp.Document
que representa el documento de PDF no interactivo.Almacenar el formulario de PDF en Content Services (obsoleto) mediante el servicio Document Management
Añada el contenido invocando la variable DocumentManagementServiceClientImpl
del objeto storeContent
y pasando los siguientes valores:
SpacesStore
. Este valor es un parámetro obligatorio./Company Home/Test Directory
). Este valor es un parámetro obligatorio.MortgageForm.pdf
). Este valor es un parámetro obligatorio.{https://www.alfresco.org/model/content/1.0}content
. Este valor es un parámetro obligatorio.com.adobe.idp.Document
que representa el contenido. Este valor es un parámetro obligatorio.UTF-8
). Este valor es un parámetro obligatorio.UpdateVersionType
valor de enumeración que especifica cómo gestionar la información de versión (por ejemplo, UpdateVersionType.INCREMENT_MAJOR_VERSION
para incrementar la versión del contenido. ) Este valor es un parámetro obligatorio.java.util.List
que especifica aspectos relacionados con el contenido. Este valor es un parámetro opcional y puede especificar null
.java.util.Map
que almacena atributos de contenido.El storeContent
El método devuelve un valor CRCResult
que describe el contenido. Uso de un CRCResult
, puede, por ejemplo, obtener el valor del identificador único del contenido. Para realizar esta tarea, invoque el CRCResult
del objeto getNodeUuid
método.
Consulte también
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión