AEM 6.4 chegou ao fim do suporte estendido e esta documentação não é mais atualizada. Para obter mais detalhes, consulte nossa períodos de assistência técnica. Encontre as versões compatíveis here.
O serviço de formulários com códigos de barras automatiza a captura de dados de formulários preenchidos e impressos e integra informações capturadas nos principais sistemas de TI de uma organização.
Usando o serviço de formulários com códigos de barras, é possível adicionar códigos de barras unidimensionais e bidimensionais a PDF forms interativos. Em seguida, você pode publicar os formulários com códigos de barras em um site ou distribuí-los por email ou CD. Quando um usuário preenche um formulário com códigos de barras usando o Adobe Reader, Acrobat Professional ou Acrobat Standard, o código de barras é atualizado automaticamente para codificar os dados de formulário fornecidos pelo usuário. O usuário pode enviar o formulário eletronicamente ou imprimi-lo em papel e enviá-lo por email, fax ou à mão. Posteriormente, é possível extrair os dados fornecidos pelo usuário como parte de um fluxo de trabalho automatizado, roteando os dados entre processos de aprovação e sistemas comerciais.
Para obter mais informações sobre o serviço de formulários com códigos de barras, consulte Referência de serviços para o AEM Forms.
Você pode usar a API do serviço de formulários com códigos de barras para decodificar dados de um formulário PDF ou de uma imagem que contenha um código de barras. Decodificar dados de formulário significa extrair dados localizados no código de barras. Para que os dados possam ser decodificados em um formulário PDF (ou imagem), o usuário precisa preencher o formulário com dados.
Para obter mais informações sobre o serviço de formulários com códigos de barras, consulte Referência de serviços para o AEM Forms.
Para decodificar os dados de um formulário PDF, execute as seguintes etapas:
Incluir arquivos de projeto
Inclua os arquivos necessários no projeto de desenvolvimento. Se você estiver criando um aplicativo cliente usando Java, inclua os arquivos JAR necessários. Se você estiver usando serviços da Web, certifique-se de incluir os arquivos proxy.
Os seguintes arquivos JAR devem ser adicionados ao classpath do seu projeto:
Se o AEM Forms for implantado em um servidor de aplicativos J2EE compatível que não seja JBOSS, será necessário substituir adobe-utilities.jar e jbossall-client.jar por arquivos JAR específicos do servidor de aplicativos J2EE no qual o AEM Forms é implantado. Para obter informações sobre a localização de todos os arquivos AEM Forms JAR, consulte Inclusão de arquivos da biblioteca Java do AEM Forms.
Criar um objeto de API do cliente de formulários com códigos de barras
Antes de executar programaticamente uma operação de serviço de formulários com códigos de barras, é necessário criar um cliente de serviço Forms com códigos de barras. Se estiver usando a API do Java, crie um BarcodedFormsServiceClient
objeto. Se estiver usando a API do serviço da Web de formulários com códigos de barras, crie um BarcodedFormsServiceService
objeto.
Obter um formulário PDF que contenha dados com códigos de barras
Você deve obter um formulário PDF que contenha um código de barras que tenha sido preenchido com dados do usuário.
Decodificar os dados do formulário PDF
Após obter um formulário PDF (ou imagem) contendo um código de barras, é possível decodificar os dados. O serviço Forms com códigos de barras oferece suporte para os seguintes tipos de códigos de barras:
A entrada do conjunto de caracteres como hexadecimal na API de decodificação implica que o conteúdo do código de barras é codificado como uma sequência de caracteres hexadecimal. Por exemplo, se UTF-8 for especificado como a Codificação de caractere no formulário e Hex for especificado na operação de decodificação, o conteúdo do código de barras será codificado como uma string hexadecimal no < xb:content
> na saída decodificada. Você pode converter esse valor hexadecimal para obter o conteúdo original criando a lógica do aplicativo no aplicativo cliente.
Converter os dados em uma fonte de dados XML
Após decodificar os dados do formulário, é possível convertê-los em dados XDP ou XFDF. Por exemplo, suponha que você deseja importar os dados para outro formulário. Para importar os dados para um formulário XFA, é necessário converter os dados em dados XDP. Para obter mais informações, consulte Importação de dados de formulário.
Processar os dados decodificados
Você pode processar os dados convertidos para atender às suas necessidades de negócios. Por exemplo, após decodificar e converter os dados, é possível salvá-los em um arquivo, armazená-los em um banco de dados corporativo, preencher outro formulário e assim por diante. Esta seção discute como salvar os dados convertidos como um arquivo XML.
O serviço de formulários com códigos de barras não decodifica os dados do código de barras quando o delimitador de linha e os parâmetros delimitadores de campo têm o mesmo valor
Consulte também
Decodificar dados de formulário com código de barras usando a API Java
Decodificar dados de formulário com código de barras usando a API do serviço da Web
Inclusão de arquivos da biblioteca Java do AEM Forms
Configuração das propriedades de conexão
Decode dados de formulário usando a API de formulários com códigos de barras (Java):
Incluir arquivos de projeto
Inclua arquivos JAR do cliente no caminho da classe do seu projeto Java.
Criar um objeto de API do cliente de formulários com códigos de barras
Crie um BarcodedFormsServiceClient
usando seu construtor e transmitindo um ServiceClientFactory
objeto que contém propriedades de conexão.
Obter um formulário PDF que contenha dados com códigos de barras
java.io.FileInputStream
objeto que representa o formulário PDF que contém dados com códigos de barras usando seu construtor e passando um valor de string que especifica o local do documento PDF.com.adobe.idp.Document
usando seu construtor e passando o java.io.FileInputStream
objeto.Decodificar os dados do formulário PDF
Decode os dados do formulário chamando a função BarcodedFormsServiceClient
do objeto decode
e transmitindo os seguintes valores:
com.adobe.idp.Document
objeto que contém o formulário PDF.java.lang.Boolean
que especifica se um código de barras PDF417 deve ser decodificado.java.lang.Boolean
que especifica se um código de barras da matriz de dados deve ser decodificado.java.lang.Boolean
que especifica se um código de barras QR deve ser decodificado.java.lang.Boolean
que especifica se um código de barras de codabar deve ser decodificado.java.lang.Boolean
que especifica se um código de barras 128 deve ser decodificado.java.lang.Boolean
que especifica se um código de barras 39 deve ser decodificado.java.lang.Boolean
que especifica se um código de barras EAN-13 deve ser decodificado.java.lang.Boolean
que especifica se um código de barras EAN-8 deve ser decodificado.com.adobe.livecycle.barcodedforms.CharSet
valor de enumeração que especifica o valor de codificação do conjunto de caracteres usado no código de barras.O decode
retorna um método org.w3c.dom.Document
objeto que contém dados de formulário decodificados.
Converter os dados em uma fonte de dados XML
Converta os dados decodificados em dados XDP ou XFDF chamando o BarcodedFormsServiceClient
do objeto extractToXML
e transmitindo os seguintes valores:
org.w3c.dom.Document
objeto que contém dados decodificados (certifique-se de usar a variável decode
valor de retorno do método).com.adobe.livecycle.barcodedforms.Delimiter
valor de enumeração que especifica o delimitador de linha. É recomendável especificar Delimiter.Carriage_Return
.com.adobe.livecycle.barcodedforms.Delimiter
valor de enumeração que especifica o delimitador de campo. Por exemplo, especifique Delimiter.Tab
.com.adobe.livecycle.barcodedforms.XMLFormat
valor de enumeração que especifica se os dados do código de barras devem ser convertidos em dados XML XDP ou XFDF. Por exemplo, especifique XMLFormat.XDP
para converter os dados em dados XDP.Não especifique os mesmos valores para os parâmetros delimitador de linha e delimitador de campo.
O extractToXML
método retorna um java.util.List
objeto no qual cada elemento é um org.w3c.dom.Document
objeto. Há um elemento separado para cada código de barras localizado no formulário. Ou seja, se houver quatro códigos de barras no formulário, então haverá quatro elementos no formulário retornado java.util.List
objeto.
Processar os dados decodificados
java.util.List
objeto para obter cada org.w3c.dom.Document
objeto localizado na lista.org.w3c.dom.Document
para um com.adobe.idp.Document
objeto. (A lógica do aplicativo que converte uma org.w3c.dom.Document
em um com.adobe.idp.Document
é mostrado em Decoding barcoded form data using the Java API example).com.adobe.idp.Document
do objeto copyToFile
e transmitindo um objeto File que representa o arquivo XML.Consulte também
Inclusão de arquivos da biblioteca Java do AEM Forms
Configuração das propriedades de conexão
Decode dados de formulário usando a API de formulários com códigos de barras (serviço da Web):
Incluir arquivos de projeto
Criar um objeto de API do cliente de formulários com códigos de barras
Usando o conjunto de clientes Microsoft .NET que consome o WSDL do serviço de formulários com códigos de barras, crie um BarcodedFormsServiceService
chamando seu construtor padrão.
Obter um formulário PDF que contenha dados com códigos de barras
BLOB
usando seu construtor. O BLOB
é usado para armazenar um documento PDF que contém um código de barras.System.IO.FileStream
chamando seu construtor e passando um valor de string que representa o local do arquivo do documento PDF e o modo no qual o arquivo deve ser aberto.System.IO.FileStream
objeto. Você pode determinar o tamanho da matriz de bytes obtendo a variável System.IO.FileStream
do objeto Length
propriedade.System.IO.FileStream
do objeto Read
e transmitindo a matriz de bytes, a posição inicial e o comprimento do fluxo a ser lido.BLOB
ao atribuir seu binaryData
com o conteúdo da matriz de bytes.Decodificar os dados do formulário PDF
Decode os dados do formulário chamando a função BarcodedFormsServiceService
do objeto decode
e transmitindo os seguintes valores:
BLOB
objeto que contém o formulário PDF.Boolean
que especifica se um código de barras PDF417 deve ser decodificado.Boolean
que especifica se um código de barras da matriz de dados deve ser decodificado.Boolean
que especifica se um código de barras QR deve ser decodificado.Boolean
que especifica se um código de barras de codabar deve ser decodificado.Boolean
que especifica se um código de barras 128 deve ser decodificado.Bolean
que especifica se um código de barras 39 deve ser decodificado.Boolean
que especifica se um código de barras EAN-13 deve ser decodificado.Boolean
que especifica se um código de barras EAN-8 deve ser decodificado.CharSet
valor de enumeração que especifica o valor de codificação do conjunto de caracteres usado no código de barras.O decode
retorna um valor de string que contém dados de formulário decodificados.
Converter os dados em uma fonte de dados XML
Converta os dados decodificados em dados XDP ou XFDF chamando o BarcodedFormsServiceService
do objeto extractToXML
e transmitindo os seguintes valores:
decode
valor de retorno do método).Delimiter
valor de enumeração que especifica o delimitador de linha. É recomendável especificar Delimiter.Carriage_Return
.Delimiter
valor de enumeração que especifica o delimitador de campo. Por exemplo, especifique Delimiter.Tab
.XMLFormat
valor de enumeração que especifica se os dados do código de barras devem ser convertidos em dados XML XDP ou XFDF. Por exemplo, especifique XMLFormat.XDP
para converter os dados em dados XDP.Não especifique os mesmos valores para os parâmetros delimitador de linha e delimitador de campo.
O extractToXML
retorna um método Object
matriz em que cada elemento é um BLOB
instância. Há um elemento separado para cada código de barras localizado no formulário. Ou seja, se houver quatro códigos de barras no formulário, então haverá quatro elementos no formulário retornado Object
matriz.
Processar os dados decodificados
System.IO.FileStream
chamando seu construtor e passando um valor de string que representa o local do arquivo do documento de PDF seguro.BLOB
objeto retornado pelo encryptPDFUsingPassword
método . Preencha a matriz de bytes obtendo o valor da variável BLOB
do objeto binaryData
membro de dados.System.IO.BinaryWriter
chamando seu construtor e passando o System.IO.FileStream
objeto.System.IO.BinaryWriter
do objeto Write
e transmitindo a matriz de bytes.Consulte também
Chamada de AEM Forms usando codificação Base64