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
<div align="center">
<?
$cepcliente = "04015-012";
$cepk =
explode("-",
$cepcliente); // explodindo o traço do CEP
$cepfinal =
implode($cepk); // juntando as duas partes sem o traço
?>
<img src="gerabarras_cep.php?cep=<?= $cepfinal; ?>" />
</div>
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
<?
require_once("Image/Barcode.php"); // chamada para a biblioteca Image_Barcode
$cepfinal = $_GET['cep']; // recuperando o CEP
$type = 'code128'; // tipo de barra gerada
Image_Barcode::draw($cepfinal, $type); // Imprimindo o código de barras na tela
?>
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.