Skip to content
Matheus Tenorio edited this page Nov 1, 2017 · 34 revisions

Objetivos

Os objetivos deste projeto são:

  • Provê uma biblioteca para desenhar códigos de barras.
  • Fácil utilização
  • Independência da arquitetura
  • Otimização para dispositivos embarcados

Embasamento Teórico

No mundo dos códigos de barras existem diversos padrões, para os mais diversos fins. Entretanto nesse projeto será adotado somente um deles, o EAN-13.

O motivo de escolher somente um, dentre tantos, é o fato deste padrão, o EAN-13, ser o mais utilizado do mundo e ser compatível com outros tipos de códigos de barras. Por exemplo, podemos representar um código UPC-A, de 12 dígitos, como um código EAN-13, de 13 dígitos, apenas adicionado um zero no primeiro dígito.

Os 13 dígitos do EAN-13 pode ser dividido como quatro grupos:

  • Prefixo GS1 - os 3 primeiros dígitos indicam o país onde o produto foi registrado.
  • Código do fabricante - de tamanho variável, estes dígitos indicam o código do fabricante.
  • Código do produto - de tamanho variável, estes dígitos indicam o código do produto.
  • Dígito verificador - último dígito do código, responsável por detectar possíveis erros no código.

Algoritmo

Um código de barras é composto, não só de números, representados por barras, mas também por marcadores. Existem dois tipos de marcadores, as Quiet Zones e os Marcadores de Posição.

As quiet zones são os espaços em brancos antes e depois das barras. As quite zones são utilizadas para garantir que a leitura, dos scanners de códigos de barras, serão feitas corretamente. A quiet zone da esquerda é composta de 11 barras claras. Enquanto a quiet zone da direita é composta de 7 barras claras.

Os marcadores de posição, assim como as quiet zones, garantem que o código de barras será lido de forma correta pelos scanners. Existem três marcadores de posição: 1 no início, 1 no centro (após o 7º dígito) e 1 no final. Estes marcadores são formados por barras verticais.

O marcador do início e do final são compostos por 3 barras e possuem o mesmo formato: 1 barra escura, 1 barra clara e 1 barra escura. Um exemplo deste marcador se encontra na Fig.1.

Fig.1

O marcador do centro, exemplificado na Fig.2, possui 5 barras e o seguinte formato: 1 barra clara, 1 barra escura, 1 barra clara, 1 barra escura, 1 barra clara.

Fig.2

Implementação

Recomendações

Clone this wiki locally