Trabajar con formularios con códigos de barras working-with-barcoded-forms
Acerca del servicio de formularios con códigos de barras about-the-barcoded-forms-service
El servicio de códigos de barras de formularios 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 códigos de barras de formularios, se pueden 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 utilizando 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, se pueden extraer los datos suministrados por el usuario como parte de un flujo de trabajo automatizado, lo que enruta 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.
Descodificar datos de formulario codificados con barras decoding-barcoded-form-data
Puede utilizar la API de servicio de formularios con códigos de barras para descodificar datos de un formulario de 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 poder descodificar los datos de un formulario de PDF (o imagen), un usuario debe rellenar el formulario con datos.
Resumen de los pasos summary-of-steps
Para descodificar datos de un formulario de PDF, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un objeto de API formsClient con códigos de barras.
- Obtenga un formulario de PDF que contenga datos codificados por barras.
- Descodificar los datos del formulario de PDF.
- Convierta los datos en un origen de datos XML.
- Procese los datos descodificados.
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:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-barcodedforms-client.jar
- adobe-Utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
- xercesImpl.jar (ubicado en <install directory="">/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs\thirdparty)
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 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.
Crear un objeto de API de cliente de formularios con códigos de barras
Para poder realizar una operación de servicio de formularios con códigos de barras mediante programación, 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 de servicio web de formularios con códigos de barras, cree un BarcodedFormsServiceService
objeto.
Obtener un formulario de PDF que contenga datos codificados por 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 imagen) de PDF que contenga un código de barras, puede descodificar los datos. El servicio Forms con códigos de barras es compatible con los siguientes tipos de códigos de barras:
- códigos de barras PDF417.
- Códigos de barras de la matriz de datos.
- Códigos de barras QR.
- Códigos de barras Codabar.
- Códigos de barras Código 128.
- Códigos de barras 39.
- Códigos de barras EAN-13.
- Códigos de barras EAN-8.
La entrada de conjuntos de caracteres como hexadecimal en la API de decodificación implica que el contenido del código de barras se codifica como una cadena hexadecimal. Por ejemplo, si UTF-8 se especifica como codificación de caracteres en el formulario y Hex se especifica en la operación de descodificación, el contenido del código de barras se codifica como una cadena Hex en la etiqueta < xb:content
> elemento en la salida decodificada. Puede convertir este valor Hex para obtener el contenido original creando lógica de aplicación en la aplicación cliente.
Convertir los datos en un origen de datos XML
Después de decodificar los datos de 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 decodificados
Puede procesar los datos convertidos para satisfacer los requisitos empresariales. Por ejemplo, después de decodificar y convertir los datos, puede guardarlos en un archivo, guardarlos 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.
Consulte también
Descodificar datos de formulario codificados mediante la API de Java
Descodificar datos de formulario codificados 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 codificados mediante la API de Java decode-barcoded-form-data-using-the-java-api
Descodificar datos de formulario utilizando la API de formularios con códigos de barras (Java):
-
Incluir archivos de proyecto
Incluya archivos JAR de cliente en la ruta de clase de su proyecto Java.
-
Crear un objeto de API de cliente de formularios con códigos de barras
Cree un
BarcodedFormsServiceClient
usando su constructor y pasando unServiceClientFactory
objeto que contiene propiedades de conexión. -
Obtener un formulario de PDF que contenga datos codificados por barras
- Cree un
java.io.FileInputStream
objeto 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. - Cree un
com.adobe.idp.Document
usando su constructor y pasando eljava.io.FileInputStream
objeto.
- Cree un
-
Descodificar los datos del formulario de PDF
Descodificar los datos del formulario invocando la variable
BarcodedFormsServiceClient
del objetodecode
y pasando los siguientes valores:- La variable
com.adobe.idp.Document
objeto que contiene el formulario de PDF. - A
java.lang.Boolean
objeto que especifica si se descodifica un código de barras PDF417. - A
java.lang.Boolean
objeto que especifica si se descodifica un código de barras de matriz de datos. - A
java.lang.Boolean
objeto que especifica si se descodifica un código de barras de código QR. - A
java.lang.Boolean
objeto que especifica si se descodifica un código de barras de código de barras de código de barras. - A
java.lang.Boolean
objeto que especifica si se descodifica un código de barras de código 128. - A
java.lang.Boolean
objeto que especifica si se descodifica un código de barras de código 39. - A
java.lang.Boolean
objeto que especifica si se descodifica un código de barras EAN-13. - A
java.lang.Boolean
objeto que especifica si se descodifica un código de barras EAN-8. - A
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.
La variable
decode
devuelve un valororg.w3c.dom.Document
objeto que contiene datos de formulario decodificados. - La variable
-
Convertir los datos en un origen de datos XML
Convierta los datos decodificados en datos XDP o XFDF invocando la variable
BarcodedFormsServiceClient
del objetoextractToXML
y pasando los siguientes valores:- La variable
org.w3c.dom.Document
objeto que contiene datos decodificados (asegúrese de usar la variabledecode
del método (valor devuelto). - A
com.adobe.livecycle.barcodedforms.Delimiter
valor de enumeración que especifica el delimitador de línea. Se recomienda especificarDelimiter.Carriage_Return
. - A
com.adobe.livecycle.barcodedforms.Delimiter
valor de enumeración que especifica el delimitador de campo. Por ejemplo, especifiqueDelimiter.Tab
. - A
com.adobe.livecycle.barcodedforms.XMLFormat
valor de enumeración que especifica si se deben convertir los datos del código de barras en datos XML XDP o XFDF. Por ejemplo, especifiqueXMLFormat.XDP
para convertir los datos a datos XDP.
note note NOTE No especifique los mismos valores para los parámetros delimitador de línea y delimitador de campo. La variable
extractToXML
el método devuelve unjava.util.List
objeto donde cada elemento es unorg.w3c.dom.Document
objeto. Hay un elemento independiente para cada código de barras que se encuentra en el formulario. Es decir, si hay cuatro códigos de barras en el formulario, hay cuatro elementos en eljava.util.List
objeto. - La variable
-
Procesamiento de los datos decodificados
- Iterar a través de la variable
java.util.List
objeto para obtener cadaorg.w3c.dom.Document
que se encuentra en la lista. - Para cada elemento de la lista, convierta la variable
org.w3c.dom.Document
acom.adobe.idp.Document
objeto. (La lógica de la aplicación que convierte unorg.w3c.dom.Document
en uncom.adobe.idp.Document
se muestra en los datos de formulario codificados con barras Decoding utilizando el ejemplo de la API de Java). - Guarde los datos XML como un archivo XML invocando la variable
com.adobe.idp.Document
del objetocopyToFile
y pasando un objeto File que representa el archivo XML.
- Iterar a través de la variable
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 codificados mediante la API de servicio web decode-barcoded-form-data-using-the-web-service-api
Descodificar datos de formulario utilizando la API de formularios con códigos de barras (servicio web):
-
Incluir archivos de proyecto
- Cree un ensamblado de cliente de Microsoft .NET que consuma el WSDL del servicio de formularios codificados. Para obtener más información, consulte Invocación de AEM Forms mediante la codificación Base64.
- Haga referencia al ensamblado del cliente Microsoft .NET. Para obtener más información, consulte "Referencia al ensamblado de cliente .NET" en Invocación de AEM Forms mediante la codificación Base64.
-
Crear un objeto de API de cliente de formularios con códigos de barras
Con el ensamblado de cliente de Microsoft .NET que consume el WSDL del servicio de formularios codificados, cree un
BarcodedFormsServiceService
invocando su constructor predeterminado. -
Obtener un formulario de PDF que contenga datos codificados por barras
- Cree un
BLOB
usando su constructor. La variableBLOB
se utiliza para almacenar un documento de PDF que contiene un código de barras. - Cree un
System.IO.FileStream
invocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento PDF y el modo en que se abre el archivo. - Cree una matriz de bytes que almacene el contenido del
System.IO.FileStream
objeto. Puede determinar el tamaño de la matriz de bytes obteniendo la variableSystem.IO.FileStream
del objetoLength
propiedad. - Rellene la matriz de bytes con los datos de flujo invocando la variable
System.IO.FileStream
del objetoRead
y pasando la matriz de bytes, la posición inicial y la longitud de flujo para leer. - Rellene el
BLOB
asignando subinaryData
con el contenido de la matriz de bytes.
- Cree un
-
Descodificar los datos del formulario de PDF
Descodificar los datos del formulario invocando la variable
BarcodedFormsServiceService
del objetodecode
y pasando los siguientes valores:- La variable
BLOB
objeto que contiene el formulario de PDF. - A
Boolean
objeto que especifica si se descodifica un código de barras PDF417. - A
Boolean
objeto que especifica si se descodifica un código de barras de matriz de datos. - A
Boolean
objeto que especifica si se descodifica un código de barras de código QR. - A
Boolean
objeto que especifica si se descodifica un código de barras de código de barras de código de barras. - A
Boolean
objeto que especifica si se descodifica un código de barras de código 128. - A
Bolean
objeto que especifica si se descodifica un código de barras de código 39. - A
Boolean
objeto que especifica si se descodifica un código de barras EAN-13. - A
Boolean
objeto que especifica si se descodifica un código de barras EAN-8. - A
CharSet
valor de enumeración que especifica el valor de codificación del conjunto de caracteres utilizado en el código de barras.
La variable
decode
devuelve un valor de cadena que contiene datos de formulario decodificados. - La variable
-
Convertir los datos en un origen de datos XML
Convierta los datos decodificados en datos XDP o XFDF invocando la variable
BarcodedFormsServiceService
del objetoextractToXML
y pasando los siguientes valores:- Un valor de cadena que contiene datos decodificados (asegúrese de usar la variable
decode
del método (valor devuelto). - A
Delimiter
valor de enumeración que especifica el delimitador de línea. Se recomienda especificarDelimiter.Carriage_Return
. - A
Delimiter
valor de enumeración que especifica el delimitador de campo. Por ejemplo, especifiqueDelimiter.Tab
. - A
XMLFormat
valor de enumeración que especifica si se deben convertir los datos del código de barras en datos XML XDP o XFDF. Por ejemplo, especifiqueXMLFormat.XDP
para convertir los datos a datos XDP.
note note NOTE No especifique los mismos valores para los parámetros delimitador de línea y delimitador de campo. La variable
extractToXML
devuelve un valorObject
matriz en la que cada elemento es unBLOB
instancia. Hay un elemento independiente para cada código de barras que se encuentra en el formulario. Es decir, si hay cuatro códigos de barras en el formulario, hay cuatro elementos en elObject
matriz. - Un valor de cadena que contiene datos decodificados (asegúrese de usar la variable
-
Procesamiento de los datos decodificados
- Cree un
System.IO.FileStream
invocando su constructor y pasando un valor de cadena que representa la ubicación del archivo del documento de PDF protegido. - Cree una matriz de bytes que almacene el contenido de datos del
BLOB
objeto devuelto por elencryptPDFUsingPassword
método. Rellene la matriz de bytes obteniendo el valor de la variableBLOB
del objetobinaryData
miembro de datos. - Cree un
System.IO.BinaryWriter
invocando su constructor y pasando elSystem.IO.FileStream
objeto. - Escriba el contenido de la matriz de bytes en un archivo de PDF invocando la variable
System.IO.BinaryWriter
del objetoWrite
y pasando la matriz de bytes.
- Cree un
Consulte también
Invocación de AEM Forms mediante la codificación Base64