Código de Barras em PHP

Publicado por Guilherme Reschke 04/02/2008

[ Hits: 12.755 ]

Homepage: http://www.ee.pucrs.br/~reschke

Download barcode.php




Função para gerar código de barras. Simples de usar e código de fácil leitura.

  



Esconder código-fonte

function barcode($valor)
{
  $code_txt = "";
  $fino = 1 ;
  $largo = 3 ;
  $altura = 50 ;

  $barcodes[0] = "00110" ;
  $barcodes[1] = "10001" ;
  $barcodes[2] = "01001" ;
  $barcodes[3] = "11000" ;
  $barcodes[4] = "00101" ;
  $barcodes[5] = "10100" ;
  $barcodes[6] = "01100" ;
  $barcodes[7] = "00011" ;
  $barcodes[8] = "10010" ;
  $barcodes[9] = "01010" ;
  for($f1=9;$f1>=0;$f1--)
  {
    for($f2=9;$f2>=0;$f2--)
    {
      $f = ($f1 * 10) + $f2 ;
      $texto = "" ;
      for($i=1;$i<6;$i++)
      {
        $texto .=  substr($barcodes[$f1],($i-1),1) . substr($barcodes[$f2],($i-1),1);
      }
      $barcodes[$f] = $texto;
    }
  }


  //Desenho da barra
  //Guarda inicial
  $code_txt = $code_txt . "\n<img src=./imgs/p.gif width=".$fino." height=".$altura." border=0><img\nsrc=./imgs/b.gif width=".$fino." height=".$altura." border=0><img\nsrc=./imgs/p.gif width=".$fino." height=".$altura." border=0><img\nsrc=./imgs/b.gif width=".$fino." height=".$altura." border=0><img\n";

  $texto = $valor ;
  if(bcmod(strlen($texto),2) <> 0)
  {
     $texto = "0" . $texto;
  }

  // Draw dos dados
  while (strlen($texto) > 0)
  {
    $i = round(esquerda($texto,2));
    $texto = direita($texto,strlen($texto)-2);
    $f = $barcodes[$i];
    for($i=1;$i<11;$i+=2)
    {
      if (substr($f,($i-1),1) == "0")
      {
        $f1 = $fino ;
      }
      else
      {
        $f1 = $largo ;
      }
      $code_txt = $code_txt . "    src=./imgs/p.gif width=".$f1." height=".$altura." border=0><img\n";

      if (substr($f,$i,1) == "0")
      {
        $f2 = $fino ;
      }
      else
      {
        $f2 = $largo ;
      }
      $code_txt = $code_txt . "    src=./imgs/b.gif width=".$f2." height=".$altura." border=0><img\n";
    }
  }

  // Draw guarda final
  $code_txt = $code_txt . "    src=./imgs/p.gif width=".$largo." height=".$altura." border=0><img\nsrc=./imgs/b.gif width=".$fino." height=".$altura." border=0><img\nsrc=./imgs/p.gif width=1 height=".$altura." border=0>\n";
  
  return $code_txt;

} //Fim da função

function esquerda($entra,$comp)
{
  return substr($entra,0,$comp);
}

function direita($entra,$comp)
{
  return substr($entra,strlen($entra)-$comp,$comp);
}

Scripts recomendados

Upload de fotos com banco de dados

Convertendo imagens PNG em imagens BMP utilizando PHP

Converter String para Maiúsculas

Criando um menu de paginação de resultados com algumas funcionalidades

format_calc()


  

Comentários
[1] Comentário enviado por elgio em 05/02/2008 - 14:06h

Só faltou dizer que para funcionar precisa de dois gifs, o b.gif e o p.gif

:-(



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts