Palavra:   

Revista PHP / PHP

Flávia Jobstraibizer

Analista de sistemas, DBA Mysql, PostgreSQL, Oracle, SQLServer e Firebird. Desenvolvedora de sistemas, e administradora de servidores FreeBSD. Conheça o site www.flaviajobs.com.br

Pear parte 5 - Gerando códigos de barras padrão 128

Gerar códigos de barras válidos, padrão 128, como o exigido nas etiquetas de endereçamento utilizadas pelas empresas, para depachos de mercadorias através de contrato com os Correios, não é uma tarefa de outro mundo.

Utilizando a biblioteca Image_Barcode do PEAR, você verá que em poucas linhas de código, o serviço será feito.

Para instalar a biblioteca, no SSH digite "pear install Image_Barcode". Caso não tenha acesso ao shell da máquina, baixe o pacote neste link. Via ftp coloque os arquivos no servidor e apenas chame através de require.

Você pode trazer os dados dinamicamente de banco de dados. No meu cenário, vou apenas ilustrar um determinado cep e a ilustração do código de barras.

PHP
  1. <div align="center">
  2. <?
  3. $cepcliente = "04015-012";
  4. $cepk = explode("-",$cepcliente); // explodindo o traço do CEP
  5. $cepfinal = implode($cepk); // juntando as duas partes sem o traço
  6. ?>
  7. <img src="gerabarras_cep.php?cep=<?= $cepfinal; ?>" />
  8. </div>
www.revistaphp.com.br

Note que na linha 7 do exemplo acima, estou chamando um arquivo chamado gerabarras_cep.php e passando como parâmetro o cep, através de GET.

O que temos no arquivo gerabarras_cep.php é o seguinte:

PHP
  1. <?
  2. require_once("Image/Barcode.php"); // chamada para a biblioteca Image_Barcode
  3.  
  4. $cepfinal = $_GET['cep']; // recuperando o CEP
  5. $type = 'code128'; // tipo de barra gerada
  6. Image_Barcode::draw($cepfinal, $type); // Imprimindo o código de barras na tela
  7. ?>
www.revistaphp.com.br
Na linha 5 do exemplo acima, é feita a indicação do tipo de código a ser gerado. Isso porque a classe da biblioteca Image_Barcode, gera vários outros tipos de códigos de barras.
A chamada de função Image_Barcode::draw, é a resposável por imprimir o código de barras na tela.

Você só precisa disso. Mais fácil, impossível!

Agora você me pergunta: Mas porque eu não posso incluir este código, direto na página?
Simples: A biblioteca não permite a passagem de nenhum html antes, nenhuma saída de texto, html, dado, etc. Estando sozinha, ela será chamada no local certo, sem importar que informações você terá antes na tela.

Dúvidas: Comente aqui.

Opções de Interação

Comentários

muito bom hein
Por: renato, 19/08/2008   10:11:15
nem sabia que era possível algo assim vlw mesmo pela dica super show