Los ejemplos y ejemplos de este documento son solo para AEM Forms en un entorno JEE.
El servicio de integración de datos de formulario puede importar datos en un formulario de PDF y exportar datos desde un formulario de PDF. Las operaciones de importación y exportación admiten dos tipos de PDF forms:
Los datos del formulario pueden existir en uno de los siguientes formatos, según el tipo de formulario del PDF:
Puede realizar estas tareas mediante el servicio de integración de datos de formulario:
Para obtener más información sobre el servicio de integración de datos de formulario, consulte Referencia de servicios para AEM Forms.
Puede importar datos de formulario en PDF forms interactivos mediante el servicio de integración de datos de formulario. Un formulario de 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 formularios, validación ni secuencias de comandos.
Para importar datos en un formulario creado en Designer, debe hacer referencia a un origen de datos XML XDP válido. Consideremos el siguiente ejemplo de formulario de solicitud hipotecaria.
Para importar valores de datos en este formulario, debe tener un origen de datos XML XDP válido que corresponda al formulario. No se puede utilizar un origen de datos XML arbitrario para importar datos en un formulario mediante el servicio de integración de datos de formulario. La diferencia entre un origen de datos XML arbitrario y un origen de datos XML XDP es que un origen de datos XDP se ajusta a la Arquitectura Forms XML (XFA). El siguiente XML representa un origen 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>
Para obtener más información sobre el servicio de integración de datos de formulario, consulte Referencia de servicios para AEM Forms.
Para importar datos de formulario en un formulario de PDF, realice los siguientes pasos:
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente utilizando Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
Para obtener información sobre la ubicación de estos archivos JAR, consulte Inclusión de archivos de biblioteca Java de AEM Forms.
Creación de un cliente de servicio de integración de datos de formulario
Para poder importar datos mediante programación a una API de cliente de formulario de PDF, debe crear un cliente de servicio de integración de datos. Al crear un cliente de servicio, define la configuración de conexión necesaria para invocar un servicio. Para obtener más información, consulte Configuración de las propiedades de conexión.
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.
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 un origen de datos XML XDP. Si hace referencia a un formulario de Acrobat, debe utilizar un origen de datos XFDF. Para cada campo en el que desee importar datos, se debe especificar un valor. Si un elemento ubicado en el origen de datos XML no se corresponde con un campo del formulario, se ignora el elemento.
Importar datos en el formulario de PDF
Después de hacer referencia a un formulario de PDF y a un origen de datos XML válido, puede importar los datos en el formulario de PDF.
Guarde el formulario de PDF como archivo de PDF
Después de importar los datos en un formulario, puede guardarlo como archivo PDF. Una vez guardado como archivo PDF, un usuario puede abrir el formulario en Adobe Reader o Acrobat y ver el formulario con los datos importados.
Consulte también lo siguiente
Importar datos de formulario mediante la API de Java
Importación de datos de formulario mediante la API de servicio web
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 integración de datos de formulario
Exportación de datos de formulario
Importe datos de formulario mediante la API de integración de datos de formulario (Java):
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-formdataintegration-client.jar, en la ruta de clase de su proyecto Java.
Cree un cliente de servicio de integración de datos de formulario.
ServiceClientFactory
objeto que contiene propiedades de conexión.FormDataIntegrationClient
usando su constructor y pasando el ServiceClientFactory
objeto.Haga referencia a un formulario de PDF.
java.io.FileInputStream
usando su constructor. Pase un valor de cadena que especifique la ubicación del formulario de PDF.com.adobe.idp.Document
objeto que almacena el formulario de PDF utilizando la variable com.adobe.idp.Document
constructor. Pase el java.io.FileInputStream
objeto que contiene el formulario de PDF al constructor.Haga referencia a un origen de datos XML.
java.io.FileInputStream
mediante 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.com.adobe.idp.Document
objeto que almacena datos de formulario mediante la variable com.adobe.idp.Document
constructor. Pase el java.io.FileInputStream
objeto que contiene datos de formulario al constructor.Importe datos en el formulario de PDF.
Importe datos en el formulario del PDF invocando la variable FormDataIntegrationClient
del objeto importData
y pasando los siguientes valores:
com.adobe.idp.Document
objeto que almacena el formulario de PDF.com.adobe.idp.Document
objeto que almacena datos de formulario.La variable importData
el método devuelve un com.adobe.idp.Document
objeto que almacena un formulario de PDF que contiene los datos ubicados en el origen de datos XML.
Guarde el formulario de PDF como archivo de PDF.
java.io.File
y asegúrese de que la extensión de archivo es ".PDF".Document
del objeto copyToFile
para copiar el contenido del Document
al archivo (asegúrese de usar la variable Document
objeto devuelto por el importData
método).Consulte también lo siguiente
Inicio rápido (modo SOAP): Importación de datos de formulario mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Importe 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 WSDL: http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.
Reemplazar localhost
con la dirección IP del servidor que hospeda AEM Forms.
Cree un cliente de servicio de integración de datos de formulario.
Cree un FormDataIntegrationClient
usando su constructor predeterminado.
Cree un FormDataIntegrationClient.Endpoint.Address
usando la variable System.ServiceModel.EndpointAddress
constructor. Pase un valor de cadena que especifique el WSDL al servicio de AEM Forms (por ejemplo, http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
.) No es necesario que use la variable lc_version
atributo. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique ?blob=mtom
para usar MTOM.
Cree un System.ServiceModel.BasicHttpBinding
obteniendo el valor de FormDataIntegrationClient.Endpoint.Binding
campo . Conversión del valor devuelto a BasicHttpBinding
.
Configure las variables System.ServiceModel.BasicHttpBinding
del objeto MessageEncoding
campo a WSMessageEncoding.Mtom
. Este valor garantiza que se utilice MTOM.
Habilite la autenticación HTTP básica realizando las siguientes tareas:
FormDataIntegrationClient.ClientCredentials.UserName.UserName
.FormDataIntegrationClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Haga referencia a un formulario de PDF.
BLOB
usando su constructor. Esta BLOB
se utiliza para almacenar el formulario de PDF.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 abre el archivo.System.IO.FileStream
objeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variable System.IO.FileStream
del objeto Length
propiedad.System.IO.FileStream
del objeto Read
método. Pase la matriz de bytes, la posición de inicio y la longitud del flujo para leerlos.BLOB
asignando su MTOM
con el contenido de la matriz de bytes.Haga referencia a un origen de datos XML.
BLOB
usando su constructor. Esta BLOB
se utiliza para almacenar los datos importados en el formulario.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.System.IO.FileStream
objeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variable System.IO.FileStream
del objeto Length
propiedad.System.IO.FileStream
del objeto Read
método. Pase la matriz de bytes, la posición de inicio y la longitud del flujo para leerlos.BLOB
asignando su MTOM
con el contenido de la matriz de bytes.Importe datos en el formulario de PDF.
Importe datos en el formulario del PDF invocando la variable FormDataIntegrationClient
del objeto importData
y pasando los siguientes valores:
BLOB
objeto que almacena el formulario de PDF.BLOB
objeto que almacena datos de formulario.La variable importData
el método devuelve un BLOB
objeto que almacena un formulario de PDF que contiene los datos ubicados en el origen de datos XML.
Guarde el formulario de PDF como archivo de PDF.
System.IO.FileStream
invocando su constructor y pasando un valor de cadena que representa la ubicación del archivo PDF.BLOB
objeto devuelto por el importData
método. Rellene la matriz de bytes obteniendo el valor de la variable BLOB
del objeto MTOM
campo .System.IO.BinaryWriter
invocando su constructor y pasando el System.IO.FileStream
objeto.System.IO.BinaryWriter
del objeto Write
y pasando la matriz de bytes.Consulte también lo siguiente
Invocación de AEM Forms mediante MTOM
Puede exportar datos de formulario desde un formulario de PDF interactivo utilizando 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 son XFDF. Si el tipo de formulario es un formulario XML creado en Designer, los datos exportados son XDP.
Para obtener más información sobre el servicio de integración de datos de formulario, consulte Referencia de servicios para AEM Forms.
Para exportar datos de formulario desde un formulario de PDF, realice los siguientes pasos:
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente utilizando Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
Creación de un cliente de servicio de integración de datos de formulario
Antes de poder importar datos mediante programación a una API formClient de PDF, debe crear un cliente de servicio de integración de datos. Al crear un cliente de servicio, define la configuración de conexión necesaria para invocar un servicio. Para obtener información, Configuración de las propiedades de conexión.
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 de PDF vacío, obtendrá un esquema XML vacío.
Exportación de datos desde el 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 abrir el archivo XML en un visor XML para ver los datos del formulario.
Consulte también lo siguiente
Exportación de datos de formulario mediante la API de Java
Exportar datos de formulario mediante la API de servicio web
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 integración de datos de formulario
Importación de datos de formulario
Exporte datos de formulario mediante la API de integración de datos de formulario (Java):
Incluir archivos de proyecto.
Incluya archivos JAR del cliente, como adobe-formdataintegration-client.jar, en la ruta de clase de su proyecto Java.
Cree un cliente de servicio de integración de datos de formulario.
ServiceClientFactory
objeto que contiene propiedades de conexión.FormDataIntegrationClient
usando su constructor y pasando el ServiceClientFactory
objeto.Haga referencia a un formulario de PDF.
java.io.FileInputStream
mediante 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.com.adobe.idp.Document
objeto que almacena el formulario de PDF utilizando la variable com.adobe.idp.Document
constructor. Pase el java.io.FileInputStream
objeto que contiene el formulario de PDF al constructor.Exporte datos desde el formulario de PDF.
Exportar datos de formulario invocando la variable FormDataIntegrationClient
del objeto exportData
y pase el com.adobe.idp.Document
objeto que almacena el formulario de PDF. Este método devuelve un com.adobe.idp.Document
objeto que almacena datos de formulario como esquema XML.
Guarde el formulario de PDF como archivo de PDF.
java.io.File
y asegúrese de que la extensión de archivo es XML.Document
del objeto copyToFile
para copiar el contenido del Document
al archivo (asegúrese de usar la variable Document
objeto devuelto por el exportData
método).Consulte también lo siguiente
Inicio rápido (modo SOAP): Exportación de datos de formulario mediante la API de Java
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Exporte 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 WSDL: http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.
localhost
con la dirección IP del servidor que hospeda AEM Forms.Cree un cliente de servicio de integración de datos de formulario.
Cree un FormDataIntegrationClient
usando su constructor predeterminado.
Cree un FormDataIntegrationClient.Endpoint.Address
usando la variable System.ServiceModel.EndpointAddress
constructor. Pase un valor de cadena que especifique el WSDL al servicio de AEM Forms (por ejemplo, http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
.) No es necesario que use la variable lc_version
atributo. Este atributo se utiliza al crear una referencia de servicio. Sin embargo, especifique ?blob=mtom
para usar MTOM.
Cree un System.ServiceModel.BasicHttpBinding
obteniendo el valor de FormDataIntegrationClient.Endpoint.Binding
campo . Conversión del valor devuelto a BasicHttpBinding
.
Configure las variables System.ServiceModel.BasicHttpBinding
del objeto MessageEncoding
campo a WSMessageEncoding.Mtom
. Este valor garantiza que se utilice MTOM.
Habilite la autenticación HTTP básica realizando las siguientes tareas:
FormDataIntegrationClient.ClientCredentials.UserName.UserName
.FormDataIntegrationClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Haga referencia a un formulario de PDF.
BLOB
usando su constructor. Esta BLOB
se utiliza para almacenar el formulario de PDF desde el que se exportan los datos.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 abre el archivo.System.IO.FileStream
objeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variable System.IO.FileStream
del objeto Length
propiedad.System.IO.FileStream
del objeto Read
y pasando la matriz de bytes, la posición inicial y la longitud de flujo para leer.BLOB
asignando su MTOM
con el contenido de la matriz de bytes.Exporte datos desde el formulario de PDF.
Importe datos en el formulario del PDF invocando la variable FormDataIntegrationClient
del objeto exportData
y pase el BLOB
objeto que almacena el formulario de PDF. Este método devuelve un BLOB
objeto que almacena datos de formulario como esquema XML.
Guarde el formulario de PDF como archivo de PDF.
System.IO.FileStream
invocando su constructor y pasando un valor de cadena que representa la ubicación del archivo XML.BLOB
objeto devuelto por el exportData
método. Rellene la matriz de bytes obteniendo el valor de la variable BLOB
del objeto MTOM
campo .System.IO.BinaryWriter
invocando su constructor y pasando el System.IO.FileStream
objeto.System.IO.BinaryWriter
del objeto Write
y pasando la matriz de bytes.Consulte también lo siguiente
Invocación de AEM Forms mediante MTOM
Invocación de AEM Forms mediante SwaRef