Los ejemplos de este documento solo son para AEM Forms en un entorno JEE.
El servicio de formularios con códigos de barras automatiza la captura de datos de los formularios de cumplimentación 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 los 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 con 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, fax o mano. Posteriormente, puede extraer los datos suministrados por el usuario como parte de un flujo de trabajo automatizado, y enrutar los datos entre procesos de aprobación y 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 del servicio de formularios con códigos de barras para descodificar datos de un formulario de PDF o de 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 poder descodificar los datos de un formulario (o imagen) de PDF, un 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 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 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:
Si AEM Forms se implementa en un servidor de aplicaciones J2EE compatible que no sea JBOSS, deberá reemplazar adobe-utilities.jar y jbossall-client.jar por archivos JAR específicos del servidor de aplicaciones J2EE en el que está implementado AEM Forms. Para obtener información sobre la ubicación de todos los archivos JAR de AEM Forms, consulte Incluir archivos de biblioteca Java de AEM Forms.
Crear un objeto de API de cliente de formularios con códigos de barras
Para poder realizar mediante programación una operación de servicio de Forms 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 BarcodedFormsServiceClient
objeto. Si utiliza la API del servicio web de formularios con códigos de barras, cree un BarcodedFormsServiceService
objeto.
Obtenga un formulario de PDF que contenga datos con códigos de barras
Debe obtener un formulario de PDF que contenga un código de barras que se haya rellenado con datos de usuario.
Descodificar los datos del formulario de PDF
Después de obtener un formulario (o una imagen) de PDF que contiene un código de barras, puede descodificar los datos. El servicio de Forms con códigos de barras es compatible con los siguientes tipos de códigos de barras:
La entrada de conjunto 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
> en la salida descodificada. Puede convertir este valor hexadecimal para obtener el contenido original creando lógica de aplicación en la aplicación cliente.
Convertir los datos en una fuente de datos XML
Después de descodificar 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 convertirlos en datos XDP. Para obtener más información, consulte Importación de datos de formulario.
Procesamiento de los datos descodificados
Puede procesar los datos convertidos para satisfacer sus necesidades 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 Forms con códigos de barras no puede descodificar los datos de códigos 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ódigos de barras mediante la API de Java
Descodificar datos de formulario con códigos de barras mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Descodificar datos de formulario mediante la API de formularios con códigos de barras (Java):
Incluir archivos de proyecto
Incluya archivos JAR de cliente en la ruta de clase del proyecto Java.
Crear un objeto de API de cliente de formularios con códigos de barras
Crear un BarcodedFormsServiceClient
mediante su constructor y pasando un objeto ServiceClientFactory
que contiene las propiedades de conexión.
Obtenga un formulario de PDF que contenga datos con códigos de barras
java.io.FileInputStream
que representa el formulario de PDF que contiene datos con códigos de barras utilizando su constructor y pasando un valor de cadena que especifica la ubicación del documento de PDF.com.adobe.idp.Document
usando su constructor y pasando el objeto java.io.FileInputStream
objeto.Descodificar los datos del formulario de PDF
Descodificar los datos del formulario invocando el BarcodedFormsServiceClient
del objeto decode
y pasando los siguientes valores:
com.adobe.idp.Document
que contiene el formulario de PDF.java.lang.Boolean
que especifica si se debe descodificar un código de barras PDF 417.java.lang.Boolean
que especifica si se debe descodificar 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 codabar.java.lang.Boolean
que especifica si se debe descodificar un código de barras 128.java.lang.Boolean
que especifica si se debe descodificar un código de barras 39.java.lang.Boolean
que especifica si se debe descodificar un código de barras EAN-13.java.lang.Boolean
que especifica si se debe descodificar un código de barras EAN-8.com.adobe.livecycle.barcodedforms.CharSet
valor de enumeración que especifica el valor de codificación del conjunto de caracteres utilizado en el código de barras.El decode
El método devuelve un org.w3c.dom.Document
que contiene datos de formulario descodificados.
Convertir los datos en una fuente de datos XML
Convertir los datos descodificados en datos XDP o XFDF invocando el BarcodedFormsServiceClient
del objeto extractToXML
y pasando los siguientes valores:
org.w3c.dom.Document
que contiene datos descodificados (asegúrese de utilizar la variable decode
valor devuelto del método).com.adobe.livecycle.barcodedforms.Delimiter
valor de enumeración que especifica el delimitador de línea. Se recomienda especificar lo siguiente Delimiter.Carriage_Return
.com.adobe.livecycle.barcodedforms.Delimiter
valor de enumeración que especifica el delimitador de campo. Por ejemplo, especifique Delimiter.Tab
.com.adobe.livecycle.barcodedforms.XMLFormat
valor de enumeración que especifica si se convierten los datos de código de barras en datos XML XDP o XFDF. Por ejemplo, especifique XMLFormat.XDP
para convertir los datos en datos XDP.No especifique los mismos valores para los parámetros de delimitador de línea y delimitador de campo.
El extractToXML
El método devuelve un valor java.util.List
objeto donde cada elemento es un org.w3c.dom.Document
objeto. 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 devuelto java.util.List
objeto.
Procesamiento de los datos descodificados
java.util.List
objeto para obtener cada org.w3c.dom.Document
que se encuentra en la lista.org.w3c.dom.Document
objeto a com.adobe.idp.Document
objeto. (La lógica de la aplicación que convierte un org.w3c.dom.Document
objeto en un com.adobe.idp.Document
se muestra en los datos del formulario con códigos de barras de Descodificación (con el ejemplo de la API de Java).com.adobe.idp.Document
del objeto copyToFile
y pasando un objeto File que representa el archivo XML.Consulte también
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Descodificar datos de formulario mediante la API de formularios con códigos de barras (servicio web):
Incluir archivos de proyecto
Crear un objeto de API de cliente de formularios con códigos de barras
Mediante el ensamblado de cliente de Microsoft .NET que consume el WSDL del servicio de formularios con códigos de barras, cree un BarcodedFormsServiceService
invocando su constructor predeterminado.
Obtenga un formulario de PDF que contenga datos con códigos de barras
BLOB
mediante su constructor. El BLOB
se utiliza para almacenar un documento de PDF que contiene un código de barras.System.IO.FileStream
invocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento de 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 el 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 la secuencia que se va a leer.BLOB
al asignar su binaryData
con el contenido de la matriz de bytes.Descodificar los datos del formulario de PDF
Descodificar los datos del formulario invocando el BarcodedFormsServiceService
del objeto decode
y pasando los siguientes valores:
BLOB
que contiene el formulario de PDF.Boolean
que especifica si se debe descodificar un código de barras PDF 417.Boolean
que especifica si se debe descodificar 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 codabar.Boolean
que especifica si se debe descodificar un código de barras 128.Bolean
que especifica si se debe descodificar un código de barras 39.Boolean
que especifica si se debe descodificar un código de barras EAN-13.Boolean
que especifica si se debe descodificar un código de barras EAN-8.CharSet
valor de enumeración que especifica el valor de codificación del conjunto de caracteres utilizado en el código de barras.El decode
devuelve un valor de cadena que contiene datos de formulario descodificados.
Convertir los datos en una fuente de datos XML
Convertir los datos descodificados en datos XDP o XFDF invocando el BarcodedFormsServiceService
del objeto extractToXML
y pasando los siguientes valores:
decode
valor devuelto del método).Delimiter
valor de enumeración que especifica el delimitador de línea. Se recomienda especificar lo siguiente Delimiter.Carriage_Return
.Delimiter
valor de enumeración que especifica el delimitador de campo. Por ejemplo, especifique Delimiter.Tab
.XMLFormat
valor de enumeración que especifica si se convierten los datos de código de barras en datos XML XDP o XFDF. Por ejemplo, especifique XMLFormat.XDP
para convertir los datos en datos XDP.No especifique los mismos valores para los parámetros de delimitador de línea y delimitador de campo.
El extractToXML
El método devuelve un Object
matriz donde cada elemento es un BLOB
ejemplo. 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 devuelto Object
matriz.
Procesamiento de los datos descodificados
System.IO.FileStream
invocando su constructor y pasando un valor de cadena que representa la ubicación de archivo del documento de PDF protegido.BLOB
objeto que ha devuelto el encryptPDFUsingPassword
método. Rellene la matriz de bytes obteniendo el valor de BLOB
del objeto binaryData
miembro de datos.System.IO.BinaryWriter
invocando su constructor y pasando el objeto System.IO.FileStream
objeto.System.IO.BinaryWriter
del objeto Write
y pasando la matriz de bytes.Consulte también
Invocar AEM Forms con codificación Base64