Importar y exportar datos importing-and-exporting-data
Las muestras y los ejemplos de este documento solo son para AEM Forms en un entorno JEE.
Acerca del servicio de integración de datos de formulario about-the-form-data-integration-service
El servicio de integración de datos de formulario puede importar datos en un formulario de PDF y exportarlos desde un formulario de PDF. Las operaciones de importación y exportación admiten dos tipos de PDF forms:
- Un formulario de Acrobat (creado en Acrobat) es un documento de PDF que contiene campos de formulario.
- Un formulario XML de Adobe (creado en Designer) es un documento de PDF que se ajusta a la arquitectura de Forms XML de Adobe XML (XFA).
Los datos de formulario pueden existir en uno de los siguientes formatos según el tipo de formulario del PDF:
- Un archivo XFDF, que es una versión XML del formato de datos del formulario de Acrobat.
- Un archivo XDP, que es un archivo XML que contiene definiciones de campos de formulario. También puede contener datos de campos de formulario y un archivo de PDF incrustado. Un archivo XDP generado por Designer solo se puede utilizar si lleva un documento de PDF incrustado con codificación base 64.
Puede realizar estas tareas mediante el servicio de integración de datos de formulario:
- Importación de datos en PDF forms. Para obtener más información, consulte Importación de datos de formulario.
- Exportar datos de PDF forms. Para obtener más información, consulte Exportación de datos de formulario.
Importación de datos de formulario importing-form-data
Puede importar datos de formulario en PDF forms interactivos mediante el servicio de integración de datos de formulario. Un formulario PDF interactivo es un documento de PDF que contiene uno o más campos para recopilar información de un usuario o para mostrar información personalizada. El servicio de integración de datos de formulario no admite cálculos de formulario, validación ni scripts.
Para importar datos en un formulario creado en Designer, debe hacer referencia a una fuente de datos XML XDP válida. Veamos el siguiente ejemplo de formulario de solicitud de hipoteca.
Para importar valores de datos en este formulario, debe tener una fuente de datos XML XDP válida que corresponda al formulario. No se puede utilizar una fuente de datos XML arbitraria para importar datos a un formulario mediante el servicio de integración de datos de formulario. La diferencia entre una fuente de datos XML arbitraria y una fuente de datos XML XDP es que una fuente de datos XDP se ajusta a la arquitectura Forms XML (XFA). El siguiente XML representa una fuente de datos XML XDP que corresponde al formulario de aplicación hipotecaria de ejemplo.
<?xml version="1.0" encoding="UTF-8" ?>
- <xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
- <xfa:data>
- <data>
- <Layer>
<closeDate>1/26/2007</closeDate>
<lastName>Johnson</lastName>
<firstName>Jerry</firstName>
<mailingAddress>JJohnson@NoMailServer.com</mailingAddress>
<city>New York</city>
<zipCode>00501</zipCode>
<state>NY</state>
<dateBirth>26/08/1973</dateBirth>
<middleInitials>D</middleInitials>
<socialSecurityNumber>(555) 555-5555</socialSecurityNumber>
<phoneNumber>5555550000</phoneNumber>
</Layer>
- <Mortgage>
<mortgageAmount>295000.00</mortgageAmount>
<monthlyMortgagePayment>1724.54</monthlyMortgagePayment>
<purchasePrice>300000</purchasePrice>
<downPayment>5000</downPayment>
<term>25</term>
<interestRate>5.00</interestRate>
</Mortgage>
</data>
</xfa:data>
</xfa:datasets>
Resumen de los pasos summary-of-steps
Para importar datos de formulario en un formulario de PDF, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente del servicio de integración de datos de formulario.
- Hacer referencia a un formulario de PDF.
- Hacer referencia a una fuente de datos XML.
- Importe datos en el formulario de PDF.
- Guarde el formulario de PDF como archivo de PDF.
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.
Los siguientes archivos JAR deben añadirse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-formdataintegration-client.jar
- adobe-utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
Para obtener información sobre la ubicación de estos archivos JAR, consulte Inclusión de archivos de biblioteca Java de AEM Forms.
Crear un cliente del servicio de integración de datos de formulario
Para poder importar datos mediante programación en una API de cliente de formulario de PDF, debe crear un cliente de servicio de integración de datos. Al crear un cliente de servicios, define la configuración de conexión necesaria para invocar un servicio. Para obtener más información, vea Configurar propiedades de conexión.
Hacer referencia a un formulario de PDF
Para importar datos en un formulario de PDF, debe hacer referencia a un formulario XML creado en Designer o a un formulario de Acrobat creado en Acrobat.
Hacer referencia a un origen de datos XML
Para importar datos de formulario, debe hacer referencia a un origen de datos válido. Para importar datos en un formulario XML XFA creado en Designer, debe utilizar una fuente de datos XML XDP. Si hace referencia a un formulario de Acrobat, debe utilizar una fuente de datos XFDF. Para cada campo en el que desee importar datos, se debe especificar un valor. Si un elemento de la fuente de datos XML no se corresponde con un campo del formulario, el elemento se ignora.
Importar datos al formulario de PDF
Después de hacer referencia a un formulario de PDF y a una fuente de datos XML válida, puede importar los datos en el formulario de PDF.
Guardar el formulario de PDF como archivo de PDF
Después de importar los datos en un formulario, puede guardarlo como un archivo de PDF. Una vez guardado como archivo de PDF, un usuario puede abrir el formulario en Adobe Reader o Acrobat y verlo con los datos importados.
Consulte también
Importar datos de formulario mediante la API de Java
Importación de datos de formulario mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Inicio rápido de la API del servicio de integración de datos de formulario
Importar datos de formulario mediante la API de Java import-form-data-using-the-java-api
Importar datos de formulario mediante la API de integración de datos de formulario (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-formdataintegration-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente del servicio de integración de datos de formulario.
- Cree un objeto
ServiceClientFactory
que contenga propiedades de conexión. - Cree un objeto
FormDataIntegrationClient
utilizando su constructor y pasando el objetoServiceClientFactory
.
- Cree un objeto
-
Hacer referencia a un formulario de PDF.
- Crear un objeto
java.io.FileInputStream
mediante su constructor. Pase un valor de cadena que especifique la ubicación del formulario de PDF. - Cree un objeto
com.adobe.idp.Document
que almacene el formulario de PDF mediante el constructorcom.adobe.idp.Document
. Pase al constructor el objetojava.io.FileInputStream
que contiene el formulario de PDF.
- Crear un objeto
-
Hacer referencia a una fuente de datos XML.
- Cree un objeto
java.io.FileInputStream
utilizando su constructor y pase un valor de cadena que especifique la ubicación del archivo XML que contiene los datos que se van a importar al formulario. - Cree un objeto
com.adobe.idp.Document
que almacene datos de formulario mediante el constructorcom.adobe.idp.Document
. Pase el objetojava.io.FileInputStream
que contiene los datos del formulario al constructor.
- Cree un objeto
-
Importe datos en el formulario de PDF.
Importe datos al formulario de PDF invocando el método
importData
del objetoFormDataIntegrationClient
y pasando los siguientes valores:- El objeto
com.adobe.idp.Document
que almacena el formulario de PDF. - El objeto
com.adobe.idp.Document
que almacena datos de formulario.
El método
importData
devuelve un objetocom.adobe.idp.Document
que almacena un formulario de PDF que contiene los datos en el origen de datos XML. - El objeto
-
Guarde el formulario de PDF como archivo de PDF.
- Cree un objeto
java.io.File
y asegúrese de que la extensión del archivo sea ".PDF". - Invoque el método
copyToFile
del objetoDocument
para copiar el contenido del objetoDocument
en el archivo (asegúrese de utilizar el objetoDocument
devuelto por el métodoimportData
).
- Cree un objeto
Consulte también
SOAP Inicio rápido (modo de): Importación de datos de formulario mediante la API de Java
Importación de datos de formulario mediante la API de servicio web import-form-data-using-the-web-service-api
Importar datos de formulario mediante la API de integración de datos de formulario (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición de WSDL:
http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.note note NOTE Reemplace localhost
por la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente del servicio de integración de datos de formulario.
-
Cree un objeto
FormDataIntegrationClient
utilizando su constructor predeterminado. -
Cree un objeto
FormDataIntegrationClient.Endpoint.Address
mediante el constructorSystem.ServiceModel.EndpointAddress
. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
). No necesita usar el atributolc_version
. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique?blob=mtom
para utilizar MTOM. -
Cree un objeto
System.ServiceModel.BasicHttpBinding
obteniendo el valor del campoFormDataIntegrationClient.Endpoint.Binding
. Convertir el valor devuelto enBasicHttpBinding
. -
Establezca el campo
MessageEncoding
del objetoSystem.ServiceModel.BasicHttpBinding
enWSMessageEncoding.Mtom
. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- AEM Asigne el nombre de usuario de los formularios de la al campo
FormDataIntegrationClient.ClientCredentials.UserName.UserName
. - Asigne el valor de contraseña correspondiente al campo
FormDataIntegrationClient.ClientCredentials.UserName.Password
. - Asigne el valor constante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- AEM Asigne el nombre de usuario de los formularios de la al campo
-
-
Hacer referencia a un formulario de PDF.
- Crear un objeto
BLOB
mediante su constructor. Este objetoBLOB
se usa para almacenar el formulario de PDF. - Cree un objeto
System.IO.FileStream
invocando su constructor. Pase un valor de cadena que especifique la ubicación del formulario del PDF y el modo en que se abrirá el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream
. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLength
del objetoSystem.IO.FileStream
. - Rellene la matriz de bytes con datos de secuencia invocando el método
Read
del objetoSystem.IO.FileStream
. Pase a leer la matriz de bytes, la posición inicial y la longitud de la secuencia. - Rellene el objeto
BLOB
asignando su campoMTOM
con el contenido de la matriz de bytes.
- Crear un objeto
-
Hacer referencia a una fuente de datos XML.
- Crear un objeto
BLOB
mediante su constructor. Este objetoBLOB
se usa para almacenar los datos importados en el formulario. - Cree un objeto
System.IO.FileStream
invocando su constructor. Pase un valor de cadena que especifique la ubicación del archivo XML que contiene los datos que se van a importar y el modo en que se va a abrir el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream
. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLength
del objetoSystem.IO.FileStream
. - Rellene la matriz de bytes con datos de secuencia invocando el método
Read
del objetoSystem.IO.FileStream
. Pase a leer la matriz de bytes, la posición inicial y la longitud de la secuencia. - Rellene el objeto
BLOB
asignando su campoMTOM
con el contenido de la matriz de bytes.
- Crear un objeto
-
Importe datos en el formulario de PDF.
Importe datos al formulario PDF invocando el método
importData
del objetoFormDataIntegrationClient
y pasando los siguientes valores:- El objeto
BLOB
que almacena el formulario de PDF. - El objeto
BLOB
que almacena datos de formulario.
El método
importData
devuelve un objetoBLOB
que almacena un formulario de PDF que contiene los datos en el origen de datos XML. - El objeto
-
Guarde el formulario de PDF como archivo de PDF.
- Cree un objeto
System.IO.FileStream
invocando su constructor y pasando un valor de cadena que represente la ubicación del archivo PDF. - Cree una matriz de bytes que almacene el contenido de datos del objeto
BLOB
devuelto por el métodoimportData
. Rellene la matriz de bytes obteniendo el valor del campoMTOM
del objetoBLOB
. - Cree un objeto
System.IO.BinaryWriter
invocando su constructor y pasando el objetoSystem.IO.FileStream
. - Escriba el contenido de la matriz de bytes en un archivo PDF invocando el método
Write
del objetoSystem.IO.BinaryWriter
y pasando la matriz de bytes.
- Cree un objeto
Consulte también
Exportación de datos de formulario exporting-form-data
Puede exportar datos de formulario desde un formulario de PDF interactivo mediante el servicio de integración de datos de formulario. El formato de los datos exportados depende del tipo de formulario. Si el tipo de formulario es un formulario de Acrobat creado en Acrobat, los datos exportados serán XFDF. Si el tipo de formulario es un formulario XML creado en Designer, los datos exportados son XDP.
Resumen de los pasos summary_of_steps-1
Para exportar datos de formulario desde un formulario de PDF, realice los siguientes pasos:
- Incluir archivos de proyecto
- Cree un cliente del servicio de integración de datos de formulario.
- Hacer referencia a un formulario de PDF.
- Exporte datos desde el formulario de PDF.
- Guarde los datos exportados como un archivo XML.
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.
Los siguientes archivos JAR deben añadirse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-formdataintegration-client.jar
- adobe-utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
Crear un cliente del servicio de integración de datos de formulario
Para poder importar datos mediante programación en una API de cliente de formulario de PDF, debe crear un cliente del servicio de integración de datos. Al crear un cliente de servicios, define la configuración de conexión necesaria para invocar un servicio. Para obtener más información, Configuración de propiedades de conexión.
Hacer referencia a un formulario de PDF
Para exportar datos desde un formulario de PDF, debe hacer referencia al formulario de PDF creado en Designer o Acrobat y que contiene datos de formulario. Si intenta exportar datos desde un formulario PDF vacío, obtendrá un esquema XML vacío.
Exportar datos del formulario de PDF
Después de hacer referencia a un formulario de PDF que contiene datos de formulario, puede exportar los datos desde el formulario. Los datos se exportan dentro de un esquema XML basado en el formulario.
Guardar los datos del formulario como un archivo XML
Después de exportar los datos del formulario, puede guardarlos como un archivo XML. Una vez guardado como archivo XML, puede abrirlo en un visor XML para ver los datos del formulario.
Consulte también
Exportar datos de formulario mediante la API de Java
Exportación de datos de formulario mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Inicio rápido de la API del servicio de integración de datos de formulario
Exportar datos de formulario mediante la API de Java export-form-data-using-the-java-api
Exportar datos de formulario mediante la API de integración de datos de formulario (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-formdataintegration-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente del servicio de integración de datos de formulario.
- Cree un objeto
ServiceClientFactory
que contenga propiedades de conexión. - Cree un objeto
FormDataIntegrationClient
utilizando su constructor y pasando el objetoServiceClientFactory
.
- Cree un objeto
-
Hacer referencia a un formulario de PDF.
- Cree un objeto
java.io.FileInputStream
utilizando su constructor y pase un valor de cadena que especifique la ubicación del formulario de PDF que contiene los datos que se van a exportar. - Cree un objeto
com.adobe.idp.Document
que almacene el formulario de PDF mediante el constructorcom.adobe.idp.Document
. Pase al constructor el objetojava.io.FileInputStream
que contiene el formulario de PDF.
- Cree un objeto
-
Exporte datos desde el formulario de PDF.
Exporte datos de formulario invocando el método
exportData
del objetoFormDataIntegrationClient
y pase el objetocom.adobe.idp.Document
que almacena el formulario de PDF. Este método devuelve un objetocom.adobe.idp.Document
que almacena datos de formulario como un esquema XML. -
Guarde el formulario de PDF como archivo de PDF.
- Cree un objeto
java.io.File
y asegúrese de que la extensión del archivo sea XML. - Invoque el método
copyToFile
del objetoDocument
para copiar el contenido del objetoDocument
en el archivo (asegúrese de utilizar el objetoDocument
devuelto por el métodoexportData
).
- Cree un objeto
Consulte también
SOAP Inicio rápido (modo de): Exportación de datos de formulario mediante la API de Java
Exportación de datos de formulario mediante la API de servicio web export-form-data-using-the-web-service-api
Exportar datos de formulario mediante la API de integración de datos de formulario (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición de WSDL:
http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.- Reemplace
localhost
por la dirección IP del servidor que hospeda AEM Forms.
- Reemplace
-
Cree un cliente del servicio de integración de datos de formulario.
-
Cree un objeto
FormDataIntegrationClient
utilizando su constructor predeterminado. -
Cree un objeto
FormDataIntegrationClient.Endpoint.Address
mediante el constructorSystem.ServiceModel.EndpointAddress
. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
). No necesita usar el atributolc_version
. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique?blob=mtom
para utilizar MTOM. -
Cree un objeto
System.ServiceModel.BasicHttpBinding
obteniendo el valor del campoFormDataIntegrationClient.Endpoint.Binding
. Convertir el valor devuelto enBasicHttpBinding
. -
Establezca el campo
MessageEncoding
del objetoSystem.ServiceModel.BasicHttpBinding
enWSMessageEncoding.Mtom
. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- AEM Asigne el nombre de usuario de los formularios de la al campo
FormDataIntegrationClient.ClientCredentials.UserName.UserName
. - Asigne el valor de contraseña correspondiente al campo
FormDataIntegrationClient.ClientCredentials.UserName.Password
. - Asigne el valor constante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- AEM Asigne el nombre de usuario de los formularios de la al campo
-
-
Hacer referencia a un formulario de PDF.
- Crear un objeto
BLOB
mediante su constructor. Este objetoBLOB
se usa para almacenar el formulario de PDF desde el que se exportan los datos. - Cree un objeto
System.IO.FileStream
invocando su constructor. Pase un valor de cadena que especifique la ubicación del formulario del PDF y el modo en que se abrirá el archivo. - Cree una matriz de bytes que almacene el contenido del objeto
System.IO.FileStream
. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedadLength
del objetoSystem.IO.FileStream
. - Rellene la matriz de bytes con datos de secuencia invocando el método
Read
del objetoSystem.IO.FileStream
y pasando a leer la matriz de bytes, la posición inicial y la longitud de secuencia. - Rellene el objeto
BLOB
asignando su campoMTOM
con el contenido de la matriz de bytes.
- Crear un objeto
-
Exporte datos desde el formulario de PDF.
Importe datos al formulario PDF invocando el método
exportData
del objetoFormDataIntegrationClient
y pase el objetoBLOB
que almacena el formulario PDF. Este método devuelve un objetoBLOB
que almacena datos de formulario como un esquema XML. -
Guarde el formulario de PDF como archivo de PDF.
- Cree un objeto
System.IO.FileStream
invocando su constructor y pasando un valor de cadena que represente la ubicación del archivo XML. - Cree una matriz de bytes que almacene el contenido de datos del objeto
BLOB
devuelto por el métodoexportData
. Rellene la matriz de bytes obteniendo el valor del campoMTOM
del objetoBLOB
. - Cree un objeto
System.IO.BinaryWriter
invocando su constructor y pasando el objetoSystem.IO.FileStream
. - Escriba el contenido de la matriz de bytes en un archivo XML invocando el método
Write
del objetoSystem.IO.BinaryWriter
y pasando la matriz de bytes.
- Cree un objeto
Consulte también
Invocar AEM Forms mediante MTOM
Invocar AEM Forms mediante SwaRef