El servicio de formularios con códigos de barras automatiza la captura de datos de formularios de relleno e impresión e integra la información capturada en los sistemas informáticos principales de una organización.
Con el servicio de formularios con códigos de barras, puede agregar códigos de barras unidimensionales y bidimensionales a PDF forms interactivos. A continuación, puede publicar los formularios con códigos de barras en un sitio web o distribuirlos por correo electrónico o CD. Cuando un usuario rellena un formulario con códigos de barras mediante Adobe Reader, Acrobat Professional o Acrobat Standard, el código de barras se actualiza automáticamente para codificar los datos del formulario proporcionados por el usuario. El usuario puede enviar el formulario electrónicamente o imprimirlo en papel y enviarlo por correo electrónico, fax o mano. Posteriormente, puede extraer los datos suministrados por el usuario como parte de un flujo de trabajo automatizado, lo que permite el enrutamiento de los datos entre los procesos de aprobación y los sistemas empresariales.
Para obtener más información sobre el servicio de formularios con códigos de barras, consulte Referencia de servicios para AEM Forms.
Puede utilizar la API de servicio de formularios con códigos de barras para descodificar datos de un formulario PDF o una imagen que contenga un código de barras. Descodificar datos de formulario significa extraer datos que se encuentran en el código de barras. Para que los datos se puedan descodificar desde un formulario PDF (o imagen), el usuario debe rellenar el formulario con datos.
Para obtener más información sobre el servicio de formularios con códigos de barras, consulte Referencia de servicios para AEM Forms.
Para descodificar datos de un formulario PDF, lleve a cabo los siguientes pasos:
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si va a crear una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios Web, asegúrese de incluir los archivos proxy.
Se deben agregar los siguientes archivos JAR a la ruta de clases del proyecto:
Si AEM Forms se implementa en un servidor de aplicaciones J2EE compatible que no es JBOSS, deberá reemplazar adobe-utilities.jar y jbossall-client.jar por archivos JAR específicos del servidor de aplicaciones J2EE en el que se implementa AEM Forms. Para obtener información sobre la ubicación de todos los archivos JAR de AEM Forms, consulte Inclusión de archivos de biblioteca Java de AEM Forms.
Creación de un objeto API de cliente de formularios con código de barras
Para poder realizar mediante programación una operación de servicio de formularios con códigos de barras, debe crear un cliente de servicio de Forms con códigos de barras. Si utiliza la API de Java, cree un objeto BarcodedFormsServiceClient
. Si utiliza la API de servicio Web de formularios con códigos de barras, cree un objeto BarcodedFormsServiceService
.
Obtener un formulario PDF que contiene datos codificados con barras
Debe obtener un formulario PDF que contenga un código de barras que se haya rellenado con datos de usuario.
Descodificar los datos del formulario PDF
Después de obtener un formulario PDF (o una imagen) que contenga un código de barras, puede descodificar los datos. El servicio Forms con códigos de barras admite los siguientes tipos de códigos de barras:
La entrada de conjuntos de caracteres como hexadecimal en la API de descodificación implica que el contenido del código de barras se codifica como una cadena hexadecimal. Por ejemplo, si se especifica UTF-8 como codificación de caracteres en el formulario y se especifica Hex en la operación de descodificación, el contenido del código de barras se codifica como una cadena Hex en el elemento < xb:content
> del resultado descodificado. Puede convertir este valor hexadecimal para obtener el contenido original creando la lógica de la aplicación en la aplicación cliente.
Convertir los datos en un origen de datos XML
Después de decodificar los datos del formulario, puede convertirlos en datos XDP o XFDF. Por ejemplo, supongamos que desea importar los datos en otro formulario. Para importar los datos en un formulario XFA, debe convertir los datos en datos XDP. Para obtener más información, consulte Importación de datos de formulario.
Procesar los datos descodificados
Puede procesar los datos convertidos para satisfacer los requisitos comerciales. Por ejemplo, después de descodificar y convertir los datos, puede guardarlos en un archivo, almacenarlos en una base de datos empresarial, rellenar otro formulario, etc. En esta sección se explica cómo guardar los datos convertidos como un archivo XML.
El servicio de formularios con códigos de barras no puede descodificar los datos del código de barras cuando los parámetros delimitador de línea y delimitador de campo tienen el mismo valor
Consulte también
Descodificar datos de formulario con código de barras mediante la API de Java
Descodificar datos de formulario con código de barras mediante la API de servicio Web
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Descodificar datos de formulario mediante la API de formularios codificados (Java):
Incluir archivos de proyecto
Incluya archivos JAR de cliente en la ruta de clases del proyecto Java.
Creación de un objeto API de cliente de formularios con código de barras
Cree un objeto BarcodedFormsServiceClient
utilizando su constructor y pasando un objeto ServiceClientFactory
que contenga propiedades de conexión.
Obtener un formulario PDF que contiene datos codificados con barras
java.io.FileInputStream
que represente el formulario PDF que contiene datos codificados con barras mediante su constructor y pasando un valor de cadena que especifique la ubicación del documento PDF.com.adobe.idp.Document
utilizando su constructor y pasando el objeto java.io.FileInputStream
.Descodificar los datos del formulario PDF
Para descodificar los datos del formulario, invoque el método BarcodedFormsServiceClient
del objeto decode
y pase los valores siguientes:
com.adobe.idp.Document
que contiene el formulario PDF.java.lang.Boolean
que especifica si se descodifica un código de barras PDF417.java.lang.Boolean
que especifica si se descodifica un código de barras de matriz de datos.java.lang.Boolean
que especifica si se descodifica un código de barras de código QR.java.lang.Boolean
que especifica si se descodifica un código de barras de códigos.java.lang.Boolean
que especifica si se descodifica un código de barras 128.java.lang.Boolean
que especifica si se descodifica un código de barras de código 39.java.lang.Boolean
que especifica si se descodifica un código de barras EAN-13.java.lang.Boolean
que especifica si se descodifica un código de barras EAN-8.com.adobe.livecycle.barcodedforms.CharSet
que especifica el valor de codificación del conjunto de caracteres utilizado en el código de barras.El método decode
devuelve un objeto org.w3c.dom.Document
que contiene datos de formulario descodificados.
Convertir los datos en un origen de datos XML
Convierta los datos descodificados en datos XDP o XFDF invocando el método BarcodedFormsServiceClient
del objeto extractToXML
y pasando los siguientes valores:
org.w3c.dom.Document
que contiene datos descodificados (asegúrese de utilizar el valor devuelto del método decode
).com.adobe.livecycle.barcodedforms.Delimiter
que especifica el delimitador de línea. Se recomienda especificar Delimiter.Carriage_Return
.com.adobe.livecycle.barcodedforms.Delimiter
que especifica el delimitador de campo. Por ejemplo, especifique Delimiter.Tab
.com.adobe.livecycle.barcodedforms.XMLFormat
que especifica si se deben convertir los datos del código de barras en datos XDP o XFDF XML. Por ejemplo, especifique XMLFormat.XDP
para convertir los datos en datos XDP.No especifique los mismos valores para los parámetros delimitador de línea y delimitador de campo.
El método extractToXML
devuelve un objeto java.util.List
donde cada elemento es un objeto org.w3c.dom.Document
. Hay un elemento independiente para cada código de barras ubicado en el formulario. Es decir, si hay cuatro códigos de barras en el formulario, entonces hay cuatro elementos en el objeto java.util.List
devuelto.
Procesar los datos descodificados
java.util.List
para obtener cada objeto org.w3c.dom.Document
ubicado en la lista.org.w3c.dom.Document
en un objeto com.adobe.idp.Document
. (La lógica de la aplicación que convierte un objeto org.w3c.dom.Document
en un objeto com.adobe.idp.Document
se muestra en los datos de formulario codificados con barras de descodificación mediante el ejemplo de la API de Java).com.adobe.idp.Document
objeto copyToFile
y pasando un objeto File que representa el archivo XML.Consulte también
Inclusión de archivos de biblioteca Java de AEM Forms
Configuración de las propiedades de conexión
Descodificar datos de formulario mediante la API de formularios codificados (servicio Web):
Incluir archivos de proyecto
Creación de un objeto API de cliente de formularios con código de barras
Mediante el ensamblado de cliente de Microsoft .NET que utiliza el WSDL del servicio de formularios con códigos de barras, cree un objeto BarcodedFormsServiceService
invocando su constructor predeterminado.
Obtener un formulario PDF que contiene datos codificados con barras
BLOB
utilizando su constructor. El objeto BLOB
se utiliza para almacenar un documento PDF que contiene un código de barras.System.IO.FileStream
invocando su constructor y pasando un valor de cadena que represente la ubicación del archivo del documento PDF y el modo en que se abre el archivo.System.IO.FileStream
. Puede determinar el tamaño de la matriz de bytes obteniendo la propiedad System.IO.FileStream
del objeto Length
.System.IO.FileStream
del objeto Read
y pasando la matriz de bytes, la posición inicial y la longitud de flujo que se va a leer.BLOB
asignando su propiedad binaryData
con el contenido de la matriz de bytes.Descodificar los datos del formulario PDF
Para descodificar los datos del formulario, invoque el método BarcodedFormsServiceService
del objeto decode
y pase los valores siguientes:
BLOB
que contiene el formulario PDF.Boolean
que especifica si se descodifica un código de barras PDF417.Boolean
que especifica si se descodifica un código de barras de matriz de datos.Boolean
que especifica si se descodifica un código de barras de código QR.Boolean
que especifica si se descodifica un código de barras de códigos.Boolean
que especifica si se descodifica un código de barras 128.Bolean
que especifica si se descodifica un código de barras de código 39.Boolean
que especifica si se descodifica un código de barras EAN-13.Boolean
que especifica si se descodifica un código de barras EAN-8.CharSet
que especifica el valor de codificación del conjunto de caracteres utilizado en el código de barras.El método decode
devuelve un valor de cadena que contiene datos de formulario descodificados.
Convertir los datos en un origen de datos XML
Convierta los datos descodificados en datos XDP o XFDF invocando el método BarcodedFormsServiceService
del objeto extractToXML
y pasando los siguientes valores:
decode
).Delimiter
que especifica el delimitador de línea. Se recomienda especificar Delimiter.Carriage_Return
.Delimiter
que especifica el delimitador de campo. Por ejemplo, especifique Delimiter.Tab
.XMLFormat
que especifica si se deben convertir los datos del código de barras en datos XDP o XFDF XML. Por ejemplo, especifique XMLFormat.XDP
para convertir los datos en datos XDP.No especifique los mismos valores para los parámetros delimitador de línea y delimitador de campo.
El método extractToXML
devuelve una matriz Object
donde cada elemento es una instancia BLOB
. Hay un elemento independiente para cada código de barras ubicado en el formulario. Es decir, si hay cuatro códigos de barras en el formulario, entonces hay cuatro elementos en la matriz Object
devuelta.
Procesar los datos descodificados
System.IO.FileStream
invocando su constructor y pasando un valor de cadena que represente la ubicación del archivo del documento PDF protegido.BLOB
devuelto por el método encryptPDFUsingPassword
. Rellene la matriz de bytes obteniendo el valor del miembro de datos BLOB
del objeto binaryData
.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
Invocación de AEM Forms mediante codificación Base64