Efetua a leitura e obtém o valor dos diferentes tipos de código de barras a partir da câmera do dispositivo móvel.


Figura 1 - Bloco Ler código de barras


Compatibilidade

  • Bloco cliente mobile: cronapi.cordova.camera.qrCodeScanner()

Retorno

Retorna a variável item. Definida no retorno dos parâmetros das entradas de comando Sucesso, se o código de barras for lido corretamente, e Erro, em caso contrário. 

Parâmetros

Formato

Tipo do código de barras a ser lido pela função. Para entender a diferença entre os códigos, acesse: https://codigosdebarrasbrasil.com.br/tipos-de-codigos-de-barras/

  • Posição: 1
  • Inglês: Format
  • Tipo: Texto / String
  • Exemplo: "QR_CODE"
  • Opções
    • Todos os formatos: Valor padrão, permite que o parâmetro de entrada Formato seja definido para todos os tipos, possibilitando que o dispositivo alvo leia diferentes padrões de código de barras, evitando que o desenvolvedor precise descobrir que tipo de QR Code ele precisa, aceitando todos os outros dessa lista.
    • QR_CODE: Um código QR é um código de matriz 2D projetado para armazenar uma grande quantidade de dados. Pode codificar caracteres numéricos e alfanuméricos, bem como caracteres binário e até mesmo caracteres logográficos chineses. Pode ser digitalizado e lido por smartphones.
    • DATA_MATRIX: Um Data Matrix é um código de matriz 2D capaz de codificar grandes quantidades de dados em um espaço compacto. Tem capacidade de codificar até 2.335 caracteres alfanuméricos ou até 3.116 caracteres numéricos. 
    • UPC_A: O UPC_A é um número único de 12 dígitos representados por barras legíveis por scanner. Possui 6 dígitos em cada uma das metades (esquerda e direita).
    • UPC_E: Similar a versão UPC_A com a diferença que esta versão é um código de barras comprimido que se destina a ser usado em itens fisicamente pequenos. Tem metade do tamanho do UPC-A, com 6 dígitos.
    • EAN_8: Foi introduzido para uso em pequenos pacotes onde um código de barras EAN_13 seria muito grande. O EAN_8 é codificado de forma idêntica aos 12 dígitos do código de barras UPC_A, exceto que ele possui 4 dígitos (ao invés de 6) em cada uma das metades (esquerda e direita).
    • EAN_13: Código de barras que codifica treze números que estão divididos em quatro partes; dos treze dígitos, doze são dos dados referentes ao produto e um é o dígito verificador.
    • CODE_39: Também chamado de "Código 3 de 9" ou "Alpha39". É um código de barras de comprimento variável que pode codificar até 43 caracteres alfanuméricos de uma só vez. É normalmente usado nos setores militar e automotivo.
    • CODE_128: O Código 128 é um código de barras mais denso do que a maioria, mas é também o código de barras mais versátil em termos de potencial de armazenamento de informações. Seu nome vem do fato de que ele pode codificar todos os 128 caracteres ASCII, o que inclui não só letras e números, mas também sinais de pontuação, símbolos etc. É comumente usado na logística de itens, tais como na compra e no transporte, mas tem potencial para ser usado em diferentes propósitos.
    • CODABAR: Este código de barras foi projetado para uso em etiquetas que usam meios de impressão antigos usando equipamentos arcaicos. A FedEx usou uma variação para os números de correspondências aéreas e de rastreamento. Desde então, este código de barras foi substituído principalmente por outros códigos de barras capazes de conter mais dados e são mais robustos para o manuseio e danos ambientais.
    • ITF: O código ITF-14 (Também usualmente chamado de DUN) é o tipo de código de barras utilizado na identificação de caixas homogêneas (com o mesmo produto) de despacho ou caixas de distribuição de uma determinada mercadoria, eles podem ser opcionalmente impressos com “barras de suporte” (borda grossa ao longo do exterior do código de barras). Ele serve, portanto, como elemento identificador em caixas, volumes grandes e paletes. 
    • RSS 14: O código de barras RSS 14 (Reduce Space Symbology) codifica a identificação completa do item EAN.UCC de 14 dígitos em um símbolo que pode ser lido omnidirecionalmente por leitores a laser de pontos de venda configurados de maneira adequada. São os tipos de código de barras mais recentes para identificação com restrição de espaço da EAN International e do Uniform Code Council, Inc. Os códigos de barras RSS foram identificados para a indústria de alimentos e saúde, onde os itens são muito pequenos para permitir outras simbologias de código de barras.
    • PDF_417: É um formato de código de barras linear empilhado usado em uma variedade de aplicações, como transporte, cartões de identificação e gerenciamento de estoque. "PDF" significa Portable Data File. O "417" significa que cada padrão no código consiste em 4 barras e espaços em um padrão de 17 unidades (módulos) de comprimento.
    • RSS_EXPANDED: É uma simbologia linear de comprimento variável capaz de codificar até 74 caracteres numéricos ou 41 caracteres alfabéticos de dados de String de Elemento AI. RSS Expanded foi projetado para codificar dados primários e suplementares em itens para Ponto de Venda (POS) e outras aplicações.
    • AZTEC: É uma simbologia de matriz bidimensional (2-D) de uso geral projetada para ter maior precisão do que outras simbologias 2-D. Um símbolo de código aztec pode codificar até 3.832 dígitos numéricos; 3.067 caracteres alfabéticos; ou 1.914 bytes de dados.

Mensagem

Mensagem a ser exibida na tela de leitura do código de barras.

  • Posição: 2
  • Inglês: Message
  • Tipo: Texto / String
  • Exemplo: "Aponte a câmera do seu celular para o QrCode."

Sucesso

Caso a leitura do código de barras seja realizada com sucesso, o fluxo de execução é direcionado para os comandos contidos no parâmetro Sucesso.

  • Posição: 3
  • Inglês: Success
  • Tipo: Comando com retorno ("item") / Command with return ("item")
  • Exemplo: é possível utilizar um bloco de programação Exibir Notificação para exibir uma mensagem.

Erro

Caso a leitura do código de barras seja mal sucedida, os comandos em Erro são executados.

  • Posição: 4
  • Inglês: Error
  • Tipo: Comando com retorno ("item") / Command with return ("item")
  • Exemplo: é possível utilizar um bloco de programação Exibir Notificação para exibir uma mensagem.

Características do bloco

Esta função permite que o parâmetro de entrada Formato seja definido para mais de um tipo, possibilitando que o dispositivo alvo leia diferentes padrões de código de barras, diferente de selecionar a opção Todos os formatos, você pode selecionar apenas os formatos desejados. O valor padrão da função pode ser substituído, por exemplo, por um campo texto, permitindo que vários tipos de código de barras sejam passados como parâmetro. Cada tipo deve estar contido em uma string e separados por vírgula (,).


Figura 2 - Bloco Ler código de barras com multifunções

Exemplo

A função abaixo em destaque permite que o usuário faça a leitura de um código de barras do tipo Código QR (QR_CODE).


Figura 3 - Função que lê um código de barras do tipo QR_CODE


O teste abaixo foi feito em sistema Android. Veja mais detalhes de como compilar aplicações para Android e iOS no tópico "Exportar e compilar projetos" na documentação Desenvolvimento mobile.


Para reproduzir este exemplo, colocamos um componente botão em uma view e o associamos a função mostrada na figura 3. Ao pressionar o botão e apontar a câmera do celular (frontal ou traseira, também é possível realizar o procedimento com uma webcam) para o QrCode, o conteúdo armazenado no código será exibido em uma notificação. Leia o QrCode abaixo para testar a aplicação. 


Figura 3.1 - QrCode para teste


Confira na figura 3.2 o resultado obtido. 


Figura 3.2 - Resultado da leitura do QrCode anterior


Nesta página