Ir para conteúdo
Fórum Script Brasil
  • 0

Gerá Códigos De Barra


Gladisson

Pergunta

Tenho um código par gerar códigos de barra padrão 2of5, mas só funciona com o digitando o valor do código de barra, gera o código de barra certinho fiz já vários testes, mas gostaria de saber pode me ajudar a achar uma variavél que eu possa colocar o valor do documento, ex R$4,90 e gerá um código de barra.

<form name="Gerar" method="post" action="gerarcodigo.php">

Digite o valor do cógigo de barra

<input type="text" name="valor" maxlength="50" size="50" value="<? echo $valor ?>">

assim que quero:

Digite o valor do documento:

<input type="text" name="valor" maxlength="50" size="50" value="<? echo $valoremreais ?>">

<input type="submit" name="Submit" value="Gerar">

</form>

Ou quem tiver um pronto, e puder me ceder, ficarei muito grato.

Valeu.... :P

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Cara, é só pedir pro cara digitar em um text e depois pegar, no caso do PHP, $nome_do_text, a variavel REGISTER_GLOBALS tem que estar on no php.ini

Não sei se é bem isso que tu quer...

Link para o comentário
Compartilhar em outros sites

  • 0

acho q ele quer assim

valor em reais | codigo de barra

R$ 5,00 | 37039847504387503

R$ 6,00 | 09687095686940986

é isso?

porque se você determinar os valores já, é facil, é só checar com o banco de dados

mas se você quer q ele gere um codigo de barra para R$ 4,54 por exemplo, ai não sei (a não ser q no banco exista 4,54)

é isso?

Link para o comentário
Compartilhar em outros sites

  • 0

excelente script!!

gera código de barra no modelo Code39, muito bom...

index.php

<?
include_once ("barcode.php");
include_once ("classBarraC.php");
$texto = $HTTP_POST_VARS["texto"];
$tam = $HTTP_POST_VARS["tam"];
?>

<html>
<head>
<title></title>
<link rel="stylesheet" href="padrão.css" type="text/css">
</head>

<body>
<form name="form1" method="post" action="index.php">
  <div align="center">Digite o texto: 
    <input type="text" name="texto" value="<?=$texto?>">
    Selecione o tamanho: 
    <select name="tam">
  <?for ($i=1;$i<10;$i++){
      echo "<option value='$i' ";
      if ($tam == $i) {
    echo "selected";
      }
      echo ">$i</option>";
  }?>
    </select>
    <input type="submit" name="Submit" value="Mostrar">
  </div>
</form>
<p>&nbsp;</p>
<p>
<?
if ($texto){
    echo "Code 39: ";
      barcode($texto,$tam);
    //Substitua o valor do parâmetro abaixo pelo número do código de barras.
//instânciando a classe
    echo "<br>";
    echo "Code 25: ";
WBarCode::WBarCode( $texto );


}?>
</p>
</body>
</html>
barcode.php
<?

Function barcode($texto, $tam=1,$path="imgbarra/"){
    if ($texto){
  $w = 86 / $tam;
  $h = 200 / $tam;
  $e = 6 / $tam;
  if (file_exists($path."ini.png") && file_exists($path."esp.png")){
      echo "<img src='".$path."ini.png' width='$w' height='$h'>";
      echo "<img src='".$path."esp.png' width='$e' height='$h'>";
      $texto = strtolower($texto);
      for ($i=0;$i<=strlen($texto)-1;$i++){
    $var = substr($texto,$i,1);
    if ($var == "/" && file_exists($path."bar.png")){
        echo "<img src='".$path."bar.png' width='$w' height='$h'>";
        $var = "";
    }
    if ($var == "*" && file_exists($path."ast.png")){
        echo "<img src='".$path."ast.png' width='$w' height='$h'>";
        $var = "";
    }
    if ($var == "%" && file_exists($path."per.png")){
        echo "<img src='".$path."per.png' width='$w' height='$h'>";
        $var = "";
    }
    if ($var == "." && file_exists($path."pnt.png")){
        echo "<img src='".$path."pnt.png' width='$w' height='$h'>";
        $var = "";
    }
    if ((!($var=="")) && (file_exists($path."$var.png"))){
        echo "<img src='".$path."$var.png' width='$w' height='$h'>";
    }
    echo "<img src='".$path."esp.png' width='$e' height='$h'>";
      }
      echo "<img src='".$path."ini.png' width='$w' height='$h'>";
  }else{
      echo "BarCode erro: Faltam figuras do ini.png ou esp.png!";
  }
    }
}
?>
Agora o codigo de barra padrão
<html> 
<?  
/* 
Rotina para gerar códigos de barra padrão 2of5 ou 25. 
#################### 
Orientado a Objeto 
#################### 
*/ 

class WBarCode 
    { 
//variaveis privadas 
var $_fino; 
var $_largo; 
var $_altura; 
//variaveis publicas 
var $BarCodes = array(); 
var $texto; 
var $matrizimg; 
var $f1; 
var $f2; 
var $f; 
var $i; 
var $matrizimg; 

//Construtor da class 

function WBarCode($Valor){ 
$this->fino=1; 
$this->largo=3; 
$this->altura=50; 

if (empty($this->BarCodes[0])) 
  { 

    $this->BarCodes[0]="00110"; 
    $this->BarCodes[1]="10001"; 
    $this->BarCodes[2]="01001"; 
    $this->BarCodes[3]="11000"; 
    $this->BarCodes[4]="00101"; 
    $this->BarCodes[5]="10100"; 
    $this->BarCodes[6]="01100"; 
    $this->BarCodes[7]="00011"; 
    $this->BarCodes[8]="10010"; 
    $this->BarCodes[9]="01010"; 


    for ($this->f1=9; $this->f1>=0; $this->f1=$this->f1-1) 
    { 
      for ($this->f2=9; $this->f2>=0; $this->f2=$this->f2-1) 
      { 
        $this->f=$this->f1*10+$this->f2; 
        $this->texto=""; 
        for ($this->i=1; $this->i<=5; $this->i=$this->i+1) 
        { 
$this->texto=$this->texto.substr($this->BarCodes[$this->f1],$this->i-1,1). 
    substr($this->BarCodes[$this->f2],$this->i-1,1); 
        }  
        $this->BarCodes[$this->f]=$this->texto; 
      }  

    }  

  }  

//Desenho da barra 
// Guarda inicial 
$this->matrizimg.= " 
<img src=p.gif width=$this->fino height=$this->altura border=0><img  
src=b.gif width=$this->fino height=$this->altura border=0><img 
src=p.gif width=$this->fino height=$this->altura border=0><img 
src=b.gif width=$this->fino height=$this->altura border=0><img  
"; 

$this->texto=$Valor; 
if (strlen($this->texto)%2<>0) 
 { 
  $this->texto="0".$this->texto; 
  }  
// Draw dos dados 
while(strlen($this->texto)>0) 
  { 
$this->i=intval(substr($this->texto,0,2)); 
$this->texto=substr($this->texto,strlen($this->texto)-(strlen($this->texto)-2)); 
$this->f=$this->BarCodes[$this->i]; 
for ($this->i=1; $this->i<=10; $this->i=$this->i+2) 
    { 
      if (substr($this->f,$this->i-1,1)=="0") 
      { 
       $this->f1=$this->fino; 
      } 
        else 
      { 

        $this->f1=$this->largo; 
      }  

$this->matrizimg.="src=p.gif width=$this->f1 height=$this->altura border=0><img  
    "; 
   if (substr($this->f,$this->i+1-1,1)=="0") 
      { 

        $this->f2=$this->fino; 
      } 
        else 
      { 

        $this->f2=$this->largo; 
      }  

$this->matrizimg.= "src=b.gif width=$this->f2 height=$this->altura border=0><img "; 
    } 
} 

$this->matrizimg.= "src=p.gif width=$this->largo height=$this->altura border=0><img src=b.gif width=$this->fino height=$this->altura border=0><img  
src=p.gif width=1 height=$this->altura border=0>"; 

//escreve todo o codigo da barra na tela... 
echo $this->matrizimg; 

    }//fim da function 
}//fim da Class 

//Substitua o valor do parâmetro abaixo pelo número do código de barras. 
//instânciando a classe 

WBarCode::WBarCode( "85710000000000000673028082002010201200200057" ); 

?>     

</html>

Tmb não sei se erra isso q você quiria,

até..

Link para o comentário
Compartilhar em outros sites

  • 0

Jeff o código funciona perfeitamente parabéns é ótimo mesmo, mas será que você consegue desenvolver algo assim:

Que eu possa digitar um valor que seja o valor do documento em Real e sair o código de barra.

Ex: R$ 22,00.

Código de barra: de R$ 22,00.

164d89407197c218b508845c4ec750da.png

Otra pessoa que souber será bem vinda a ajuda :rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 0

E ae pessoal beleza

Estou testando o script que o jeff deixou logo acima para teste mas esta dando a seguinte mensagem de erro:

Fatal error: Cannot redeclare WBarCode::$matrizimg in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\teste\barra2\classBarraC.php on line 47

E também não tenho as imagens que o código carrega! Alguém pode me ajudar a corrigir esse problema?

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que o valor está agregado ao código, e não explícito nele...

Quando você coloca o valor, coloca o valor naquele determinado código que gera as barras.

Pro que você quer, no caso, acho que terá que criar, no sistema que irá ler, também, um código de barras que o identifica como pernsonalizado e que contém o valor em si mesmo.

Por exemplo:

1001001001 | 4,58 -> Produto 1

1001001002 | 5,40 -> Produto 2

0000000241 | 2,41 -> Personalizado

0000001327 | 13,27 -> Personalizado

Acho que é algo mais ou menos assim que você quer, né??

Se for, é simples. Faz a verificação dos primeiros (no exemplo) 5 dígitos. Se todos forem 0, então o valor é personalizado e está já no código. Se não for, pesquisa num banco pra saber se possui aquele código.

Bem por alto, dá pra fazer um monte de outras coisas.. Mas a teoria é mais ou menos por aí..

Espero que dê pra clarear as idéias..

Link para o comentário
Compartilhar em outros sites

  • 0

E ae beleza

Cara valeu pela atenção, pelo que você deixou acredito que seja possível montar um código alfanumérico, porém não consegui entender o que você esta explicando pesquisei um pouco mais na net mas não achei nada, será que você poderia me explicar como montar por favor? Por exemplo se o meu código de barras fosse esse:

0ef875ff0b5

Como eu converteria o valor acima em um código de barras?

Obrigado

Editado por alexandremanowar
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...