Gerar código de barras com o PHP tem um pequeno problema: a resolução da imagem gerada.
Falaremos sobre os padrões: 25i e Code39. O menor tamanho possível da imagem gerada pelo PHP tem 1 pixel de largura para os traços finos e 2 pixels para os traços largos. Menor do que isso não é possível. O problema é que a maioria dos leitores não aceita muito bem esse padrão.
Eu uso 1 pixel para traços finos e 3 para traços largos. Isso aumenta o tamanho da imagem. A vantagem do Code39 é que ele representa todo o alfabeto (sem o cedilha) e alguns caracteres especiais, e é o padrão mais aceito por leitores de códigos de barras.
O padrão 25i não é reconhecido por padrão em todos os modelos de leitores.
Vamos ao que interessa: o código.
Tenho dois arquivos, um para cada padrão.
Para gerar a imagem, passe os parâmetros direto na URL ($_GET mesmo).
Exemplo:
Os parâmetros são:
- barra: código a ser representado (obrigatório)
- check: se for igual a 1, acrescenta um dígito verificador (veja a função dentro do próprio arquivo)
- altura: altura do código em pixels (se o código estiver na vertical, representa a largura)
- margem: margem do código para a borda da imagem (em pixels)
- vertical: se for igual a 1, gera o código na vertical
- texto: se for igual a 1, gera na imagem o código representado
O código pode ser usado com uma condição: qualquer melhoria e/ou correção deve ser enviada pra mim e deve ser compartilhada.
Link para o código: barcode.tar.gz
January 21st, 2008 at 14:34
Valeu Reinaldo, Ótimo post.
espero q todos possam usufruir e contribuir para o código.
abraços.