Ag giniúint cód barra le PHP

PHP cláir: Cad é faoi a ghiniúint do íomhá barcode a shábháil (nó nach bhfuil) diosca? Níl ort ach dul isteach ar ord na digití de do rogha. Féach ar an réiteach i PHP agus ceann amháin i Javascript.

deilbhín

barcodegenerator-20120406.zip
1.50 KB 15109 íosluchtú

údar: Raj Trivedi
País: India
site: PHP Classes
Update: Taylor Lopes

réiteach 1 – PHP

Esta classe é extremamente fácil de usar, pode acreditar! Com apenas duas linhas de código e você já terá a imagem do seu código de barras em formato GIF, gerada a partir de uma string de sequencial de dígitos de sua preferência. Você ainda tem a opção de salvar a imagem (código de barras) em um arquivo ou exibir direto na saída do script.

barcode.php

1
2
3
4
<?php
    require_once('barcode.inc.php'); 
    new barCodeGenrator("125689365472365458",1,"hello.gif"); 
?>

Explicando
Na primeira linha estamos importando o arquivobarcode.inc.php”, que é onde se encontra a classe barCodeGenrator. Na segunda linha instanciamos a classe passando os parâmetros necessários ao método construtor.

Os parâmetros, como você já deve ter observado, indicam respectivamente:
(1°) Os dígitos que você deseja usar para formar o código de barra
(2°) A forma de exibição: 0 = Gera a saída direto na tela do script | 1 = Salva o arquivo em disco
(3°) O nome do arquivo. Pode-se usar o caminho absoluto seguido do nome para indicar onde o arquivo será salvo.

A imagem resultante do código acima é esta:
hello.gif
hello

Atualização

Seguinte, a pedido, fiz um pequeno incremento no código original, adicionando três parâmetros novos (opcional). Agora você pode definir a LARGURA e a ALTURA do código de barra e também dizer se quer exibir (nó nach bhfuil) a numeração do código de barra (texto).

Os parâmetros adicionais indicam respectivamente:
(4°) A largura da barra. sampla: 190 pixels (informe apenas o número).
(5°) A altura da barra. sampla: 130 pixels (informe apenas o número).
(6°) Se vai querer ou não exibir na etiqueta/imagem o número do código. true = exibe, e false = não.

OBS: Cuidado para não definir a largura e altura pequenos de mais e acabar cortando parte do código de barras.

barcode2.php
1
2
3
4
<?php
    require_once('barcode.inc.php'); 
    new barCodeGenrator('125689365472365458',0,'hello.gif', 190, 130, fíor);
?>

Ficando assim:

Dúvidas

Como funciona o código de barras?
Conforme feedback por alguns comentários neste Post, o que este script faz é converter números em barras. Mar sin, você teria que montar a sequência numérica desejada e repassar ao script para que ele gere o código de barras compatível com o padrão que você precisa, como por exemplo o EAT-13.

Antes de afirmar que o leitor não lê o código de barras, leve em consideração duas possibilidades: (1) Você está usando um leitor específico para certo padrão, como homebank. sa chás seo, a não ser que você tenha montado a sequência numérica conforme o padrão requerido, não irá mesmo funcionar; (2) Você está gerando uma imagem cortada (pela metade) do código de barras, tornando o código ilegível. Veja como resolver isso na abordagem que fiz logo abaixo. O fato é que o código de barras pode perfeitamente ser lido, como mencionou o colega: “Tenho o leitor Honeywell e ele lê sem problemas, mesmo códigos com apenas 2 números, ou seja vc pode usar a qtde de números que desejar no código“.

Ver comentários:
Nicolas Alves 26 eanáir 2012 at 10:53 #
Carlos 4 nollaig 2012 at 11:20 #

Tem como exibir mais de um código de barras, i bhfocail eile, fazer Loop de código de barras?
Sim. sa chás seo, salve a imagem (código de barras) diosca, setando o 2° parâmetro para 1.

1
2
3
4
5
6
7
8
<?php
require_once('barcode.inc.php'); 
do ($i = 0; $i < 10; $i++) {
  $code_number = rand(1000000000, 9999999999);
  new barCodeGenrator($code_number,1,'barcode_'.$code_number.'.gif', 190, 130, fíor);
  macalla '<img src="barcode_'.$code_number.'.gif" />'; 
}
?>

Por que o código de barras fica cortado e ilegível?
Conforme dito, isto ocorre, pois provavelmente você está usando uma largura ou altura muito pequena em relação ao espaço ideal e necessário para a classe gerar o código de barras. O que você pode tentar fazer para que isto não aconteça é usar um artifício: ir testando a largura até que se perceba que não está cortando o código de barras. Faça o mesmo para a altura, de modo a não cortar a exibição da numeração, caso o último parâmetro seja TRUE. seo déanta, diminua o tamanho da imagem gerada através do atributo WIDTH da tag IMG, até ajustar ao tamanho que você desejar. Assim o código de barras ficará pequeno e sem cortes!

1
2
3
4
5
<?php
  require_once('barcode.inc.php'); 
  new barCodeGenrator('125689365472365458',1,'barcode.gif', 180, 42, fíor);
  macalla '<img src="barcode.gif" width="150" />'; 
?>

O código de barras gera caracteres (letras)?
Sim. Gera, conforme testado e visto na figura abaixo. Porém, não posso garantir que o leitor reconheça letras.

réiteach 2 – Javascript

Você também pode gerar código de barras com javascript. An bytescoutbarcode128.js é um script capaz de gerar o código de barras e convertê-lo em imagem utilizando codificaçãobase64”; roda totalmente do lado-cliente (no navegador), sem código do lado do servidor. O script completo pode ser baixado no site do desenvolvedor http://www.bytescout.com/.

Veja a seguir um exemplo. Criei uma função saveBarcode()” para caso você queira baixar a imagem e salvá-la em disco. Aqui irei fazer com que salve a imagem em disco de forma manual, i bhfocail eile, ao clicar no botãoSalvar”, o código Base64 da imagem (código de barras) é enviado via POST para um simples script que chamei de barcode.php, que faz o tratamento e salva a imagem em disco. Mas você pode querer fazer isso, de forma automática e transparente (silenciosa), de modo que ao gerar a imagem de código de barras, o evento também já salve em disco, sem precisar clicar em botão algum. Chun seo a, você deve utilizar Ajax, mas essa implementação não irei demonstrar por enquanto, ceart go leor?

barcode.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!html DOCTYPE>
<html>
  <ceann>
    <teideal>BytescoutBarcode128</teideal>
    <meta http-equiv="Content-Type" ábhar="text/html; charset=UTF-8" />
    <script type="text/javascript" src="bytescoutbarcode128_1.00.07.js"></script>  
  </ceann>
  <body onload="updateBarcode()">
    <gníomh foirm="">
      C&oacute;digo de Barras:
      <ionchur id="barcodeValue" cineál="text" ainm="value" luach="abcd123456" />
      <cineál ionchur="button" luach="Gerar" onclick="updateBarcode()" />
    </form>
    <p>
      C&oacute;digo de Barras convertido para imagem:<br />
      <img id="barcodeImage" style="border: solid 1px black;"/>
    </p>
    <script type="text/javascript">
      fheidhm updateBarcode() {
	bhí barcode = new bytescoutbarcode128();
        bhí luach = document.getElementById("barcodeValue").luach;
        barcode.valueSet(luach);
        barcode.setMargins(5, 5, 5, 5);
        barcode.setBarWidth(2);
        bhí leithead = barcode.getMinWidth();
        barcode.setSize(leithead, 100);
        bhí barcodeImage = document.getElementById('barcodeImage');
   	barcodeImage.src = barcode.exportToBase64(leithead, 100, 0);
      }
 
      fheidhm saveBarcode() {
        document.frmSaveBarcode.barcodeBase64.luach=document.getElementById('barcodeImage').src;
        document.frmSaveBarcode.submit();
      }
    </script>
    <form name="frmSaveBarcode" action="barcode.php" modh="post">
      <ionchur id="barcodeBase64" ainm="barcodeBase64" cineál="hidden" luach="1231" />
      <cineál ionchur="button" luach="Salvar" onclick="saveBarcode()" />
    </form>    
  </comhlacht>
</html>

Note que apenas fiz uso do scriptbytescoutbarcode128_1.00.07.js“, que você pode pegar em http://www.bytescout.com/. Não tem mistério!

anois, vamos ver o arquivo barcode.php que receberá a códificação base64 da imagem (código de barras) para salvá-la em disco:

barcode.php

1
2
3
4
5
6
<?php
  $barcodeBase64 =  strip_tags($_POST['barcodeBase64']);
  list($cineál, $image) = explode(',', $barcodeBase64);
  file_put_contents('barcode.png', base64_decode($image));
  macalla 'Imagem salva em disco!';
?>
Líon iomlán na n-amas: 139193

110 léirmheas “Ag giniúint cód barra le PHP

  1. gilson dúirt:

    Opa.
    Obrigado por responder.
    entao, eu programo em php e tenho tudo funcionando.
    so to precisando desta classe ae que nao encontrei p baixar.
    tem como vc me mandar a classe , barcode.inc.php

    go raibh maith agat.

  2. Oi, a classe está disponível para download aqui mesmo neste Post. Basta clicar ali onde está escritoDownload: barcode-generator-2009-10-14.zip”… é só descompactar e usar junto ao seu script PHP. labhair, t+

  3. Welisson Dias dúirt:

    Cara muito bom e simples, so que quando faço o download, não esta incluido
    a classe barcode.inc.php, tem como me enviar por e-mail?

    go raibh maith agat.

    • E aíolha, não cheguei a testar com leitor, mas acredito que funcione desde que não seja aqueles leitores tipo Homebank, pois estes já tem uns padrões definidos de formaçãocaso você ou alguém use o leitor, favor comentar como foi… labhair, t+

      • Carlos dúirt:

        Testei com o leito de mão (ele tem suporte também) marca Honeywell, funcionou perfeitamente.

  4. Quem estiver com problemas do tipo de não ter permissão para escrever arquivos nas pastas do servidor ou problemas com cabeçalho do arquivo uma solução é colocar o arquivo gerador de código de barras em uma tag como vou mostrar no exemplo abaixo, lembrando que será necessário fazer modificações na classe.

    no arquivo barcode.inc.php adicione as seguintes linhas.

    $code = $_GET[“code”];
    new barCodeGenrator($code, 0, “teste.gif”);

    basta agora inserir a tag abaixo no local apropriado onde se quer exibir o código de barras

    • Não sei informar, Felipea finalidade da classe é converter número em seu código de barra correspondente. Para atender certos padrões, daí teria que ver o critério com que eles são formados. labhair…

  5. Everton dúirt:

    Dia duit. deu certo, mas como faço para incluir em meu script? Pois quando vou fazer, dá o seguinte erroA imagem contem erros e não pode ser exibida”.

    Poderia me ajudar?

    • Experimente usar o 2° parâmetro setado em “1” para que o arquivo seja, primeiro, salvo em disco e depois então use a tag IMG (html) normalmente para exibir a imagem salva (.gif).

  6. Cecilia dúirt:

    ansin, tentei adicionar esse código no meu script, mas apareceu vários caracteres estranhos.
    Se eu setar o 2º parametro pra “1”, ele nem aparece esse caracteres e mto menos salva a imagem

    Alguém tem alguma sugestão do que fazer?

  7. Bom, esse gerador apenas converte os numeros em barras, assim formando um codigo de barras.
    Mas pra seguir o padrão, teria que digitar apenas 13 digitos (números), surgindo o formado EAT-13.

    Independente da quantidade dos digitos, ou se está seguindo o padrão ou não, acredito que qualquer leitora vai ler. ansin, sem problemas.

    Eu percebi que esse script gera uma imagem muito grande, com muito espaço em branco. ansin, editei o arquivobarcode.inc.php”, na linha 20, trocando a largura da imagem gerada.

    Linha 20:
    $img = imagecreate(LARGURA, ALTURA);

    Ei coloquei a largura 145 aqui, se for usar padrão EAT-13.

    Mais informações sobre o padrão EAT-13: http://pt.wikipedia.org/wiki/C%C3%B3digo_de_barras

    Até+

    • Valeuaproveitei e fiz uma pequena adaptação no código original, de forma que possa informar a largura e altura já na chamada da classe (método construtor). Agora também é possível exibir a numeração, abaixo do código de barras: new barCodeGenrator(‘125689365472365458′,0,’hello.gif’, 190, 130, fíor); Qualquer coisa dá uma lida novamente no Post que está melhor explicado, falouuu.

    • Fiz uma atualização. Favor ler novamente o Post acima e baixar o novo código. Basicamente acrescentei dois parâmetros no final da chamada do método construtor, ficando assim: new barCodeGenrator($code_number,0,’hello.gif’, 190, 130, fíor); An “fíor” é justamente para exibir o número em baixo do código de barras. Caso não queira, deixefalseou omita o parâmetro.

  8. Afrânio dúirt:

    Como faço para aumentar o código de tamanho, pois queria poder usar esse modelo aqui. A classe funciona perfeitamente, mas gera uma imagem muito pequena. Será que tem algum jeito de aumentar a saída desse código? tanto vertical como horizontal ?

  9. Renan dúirt:

    tráthnóna maith,
    Eu coloco o numero para gerar o codigo de barra , e depois eu salvo em um disco? não entendi pod me explicar novamente?

    • Oi, este script é para ser usado por desenvolvedores, pois é preciso conhecer um pouco da linguagem de programação PHP e seu ambiente de funcionamento (servidor Web). De qualquer forma, o número do código de barras deve ser colocado no primeiro parâmetro do método construtor. Supondo que o número seja 125689365472365458, então fica assim: new barCodeGenrator(‘125689365472365458′,1,’hello.gif’, 190, 130, fíor); Isto irá gerar uma imagem chamadahello.gif”, com tamanho de 190 x 130 pixels, formada pelo código de barras que represente a numeração informada (125689365472365458), salvo no disco local (HD).

      • Rogerio Alan Dobler dúirt:

        Entendo pouco de phppoderia explicar isso melhor? como insiro isso na terceira classe? onde é essa classe? go raibh maith agat

      • Olá Rogerio. Não é terceira classe, e sim terceiro parâmetro do construtor, neste caso, dado pelo nome do arquivo (ou caminho) “hello.gif”. Para usar este código de barras é preciso saber programar em PHP. Para funcionar, você deve ter um servidor Web rodando (Apache + PHP). Aplicativos como Wampserver instalam isto para você. Depois, basta colocar os arquivos/classes que você baixou neste Post (barcode.inc.php e index.php) no diretório “C:\wamp\www\barcode” (crie a pastabarcode”) e fazer a chamada pelo navegador http://localhost/barcode. Altere os dados de exemplo contido no index.php de forma que o código de barras possa ser gerado de acordo com o que você deseja. Falouuu

  10. Aléx dúirt:

    Olá Taylor, ótimo código para gerar código de barras. Porem, encontrei um problema, alterei o tamanho do código de barras para 110 x 42 px, ele gera normal, mar sin féin, não é detectado no leitor de código de barras, no tamnho normal é lido sem problemas, uma coisa que ´percebi, foi que se eu deixar para exibir os números(TRUE), ele corta boa parte dos números. Tem alguma coisa a fazer para isso?
    Valew!

    • Oi Aléx, conforme dito, isto ocorre, pois provavelmente você está usando uma largura ou altura muito pequena em relação ao espaço ideal e necessário para a classe gerar o código de barras. O que você pode tentar fazer para que isto não aconteça é usar um artifício: ir testando a largura até que se perceba que não está cortando o código de barras. Faça o mesmo para a altura, de modo a não cortar a exibição da numeração, caso o último parâmetro seja TRUE. seo déanta, diminua o tamanho da imagem gerada através do atributo WIDTH da tag IMG, até ajustar ao tamanho que você desejar. Assim o código de barras ficará pequeno e sem cortes!

      1
      2
      3
      4
      5
      
      <?php
        require_once('barcode.inc.php'); 
        new barCodeGenrator('125689365472365458',1,'barcode.gif', 180, 42, fíor);
        macalla '<img src="barcode.gif" width="150" />'; 
      ?>
  11. Fábio Aguiar dúirt:

    Opa, Taylor, desculpa, achei que esse links estava com o arquivo desatualizado.
    Uma outra dúvida que surgiu agora que talvez você possa me ajudar é que utilizo CodeIgniter como fremwork, você sabe como conseguiria utilizar sua classe mesmo utilizando o codeigniter?

    • Oi Fábiopara usar com o codeigniter teria que fazer algumas pequenas modificações:
      (1) mude o nome do arquivo de barcode.inc.php para barCodeGenrator.php, de modo que fique com o mesmo nome da classe;
      (2) coloque barCodeGenrator.php dentro do diretório application\libraries;
      (3) altere o construtor de barCodeGenrator para que ao invés de receber aquele monte de parâmetros, receba apenas um array com os valores correspondentes e, internamente, faça um extract para que o parchave => valordo array se converta em variáveis, como se fossem os parâmetros originais, assim:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      
      // MUDE ISTO
      fheidhm __construct($luach,$into=1, $filename = 'barcode.gif', $width_bar=300, $height_bar=65, $show_codebar=false) {
       // código original
       }
       
      // PARA ISTO
      fheidhm __construct($params) {
          extract($params);
          // codigo original
      }

      Bom, feito isto, basta chamar a classe dentro de uma função qualquer do seu Controllers, assim:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      
      public fheidhm index()  {  
          $params = array('value' => '125689365472365458',
                                         'into' => 0,
                                         'filename' => 'barcode.gif', 
                                         'width_bar' => 300,
                                         'height_bar' => 65,
                                         'show_codebar' => fíor);                    
          $this->load->library('barCodeGenrator', $params);
      }

      soiléir, aí você passa os parâmetros conforme sua necessidadeNote que $params é uma array cujos valores equivalem aos parâmetros do construtor originalé isso, labhair!

  12. Nickolas Menezes dúirt:

    Dia duit, estou querendo incluir código de barras em uma série de carteirinhas geradas em php, mas não consigo fazer com que gerem mais de um código de barras por vez. Mesmo usando um while no código de download não deu certo, gerar mais de uma. como faço para gerar vários codigos numa mesma tela? go raibh maith agat.

    • Oi, segue um exemplo… labhair!

      Exibir mais de um código de barras | Loop de código de barras
      sa chás seo, salve a imagem (código de barras) diosca, setando o 2° parâmetro para 1.

      1
      2
      3
      4
      5
      6
      
        require_once('barcode.inc.php'); 
        do ($i = 0; $i < 10; $i++) {
          $code_number = rand(1000000000, 9999999999);
          new barCodeGenrator($code_number,1,'barcode_'.$code_number.'.gif', 190, 130, fíor);
          macalla '<img src="barcode_'.$code_number.'.gif" />'; 
        }
  13. Andre Dias dúirt:

    Bom dia Taylor , obrigado pela ajuda esta sendo de grande valia
    Tenho algumas perguntas , vou tentar resumir

    A Etiqueta gerada é padrão EAN-13, haveria a possibilidade de se criar uma etiqueta com menos numeros ou atraves de uma sequencia de zeros ?
    ex:0000000456456(13 digitos)

    Outra , gostaria de fazer uma select de concatenar o numero do registro + a data de produção e gerar o codigo de barras apartir dessa select , tem como fazer isso ?
    ex: 123456121107(13 digitos)
    Obrigado mais uma vez

    • Desculpe a demora, percebi agora que não respondi sua pergunta. Esse script converte números em barras, dá bhrí sin,, você pode entrar com o padrão que desejar (teria só que montar). Para completar com zeros, você pode usar a função nativa do php str_pad().

  14. Carlos dúirt:

    Taylor, não consegui alterar a variável para o código, apesar de mudar o número do código de barra, na geração sai sempre o número do exemplo? O q estou fazendo errado?

    • Carlos, acabei de testar o código e funciona. O primeiro parâmetro ($code_number) representa o número do código de barras e deve ser trocado. sampla:

      1
      2
      3
      4
      5
      
      <?php
          require_once('barcode.inc.php'); 
          $code_number = '112233445566778899';
          new barCodeGenrator($code_number,0,'hello.gif', 190, 130, fíor);
      ?>

      labhair!

      • Carlos dúirt:

        Descobri que gerando um novo código e abrindo uma nova páginaprintandoa etiqueta, sempre é impresso a etiqueta anterior, tendo que pressionar F5 para atualizar, aí sim aparece a última etiqueta gerada.
        Contornei o problema gerando a etiqueta no momento do cadastro do produtos e imprimindo depois.
        No meu caso pedi para imprimir o codigo com data e hora (YmdHis) e ficou perfeito.
        Tenho o leitor Honeywell e ele lê sem problemas, mesmo códigos com apenas 2 números, ou seja vc pode usar a qtde de números que desejar no código.
        Só não consegui jogar os códigos gerados diretamente numa pasta específica no servidor, se alguém souber dá a dica aí.

  15. Ricardo dúirt:

    Dea-tráthnóna Taylor, como faço para incluir essa imagem em um registro de banco de dados, e efetuar o mesm procedimento para diversos registros filtrados para impressão com FPDF.
    Grato pela ajuda.

  16. Paulo B dúirt:

    Tem como imprimir automaticamente este código de barra com seu respectivo número?

    i bhfocail eile:
    1. Cadastra o número.
    2. Confirma (aperta botão)
    3. Imprime (automaticamente após a confirmação) o código de barras com número.

    • Taylor Lopes dúirt:

      Sim, mas é preciso escrever o script para issotem que saber um pouco de php e html, ou pedir algum programador para desenvolver pra você, do jeito que precisa.

  17. iGOR dúirt:

    Ola bom dia
    estou desenvolvendo omeu projeto tcc, e estou utilizando a classa barcode.inc,

    quando vai ler no leitor acrescentar um 0 antes dos numeros , o q é isso ?

  18. Fernando Goya dúirt:

    Cara muito bom isso!!! Realmente simples de usar.

    Porem, para meu uso, estou com um problema:

    Eu tenho uma sequencia de 14 digitos, mar shampla: ASO85S1G96RE3G7

    Ele gera isso e ate mostra na tela. Mas quando o leitor Le o codigo, ele converte tudo para numero. E eu preciso que apareca exatamente o codigo que foi gerado pois sera feito uma consulta no banco de dados.

    Valeu a ajuda!!!

    • Eu entendo,fernando. Mas não sei informar se é um problema do script (código de barras) ou do seu leitor, que não reconhece caracteres. Tem um colega que comentou neste Post que usa o leitor Honeywell e ele lê sem problemas, mas não sei dizer se ele usou letras, como você quer. Eu sei que este script gera letras e números, conforme demonstrei e publiquei no comentário do dia 17 Bealtaine 201317 Bealtaine 2013. Eu não tenho um leitor para testar issomas caso você encontre a solução e possa compartilhar aqui, seria muito bom. labhair!

  19. Flavio dúirt:

    Ola Taylor, super dez o código.

    tenho uma duvida, estou fazendo um etiqueta com o código dos correios, gera normal mas o leitor não consegue ler as letra ele le 00 no lugar das letras

    SS123456789BR

    0012345678900

    você saberia o que pode ser ?

      • Flavio dúirt:

        ceart go leor, valeuu Taylor,

        pesquisando na net entendi o que estou precisando é do formato code128-B e esse código não se enquadra nele.

        encontrei o script no post abaixo e gera certinho porem não sei salvar em disco para dar o loop na imagem . não manjo de javascript

        se alguém puder me ajuda.

        valeu Taylor pela atenção

  20. Flavio dúirt:

    ola Taylor, já tinha enviado uma duvida para você mas não tive resposta .

    estou com esse problemas a dias e é na empresa que trabalho e precisamos do codigo de barras validado pelos correios.

    encontrei esse script na net vai certinho mas eu queria salvar em disco para replicar com o loop do PHP

    parecido com a sua adaptação do barcode

    Taylor preciso muito da sua ajuda.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    <!-- bytescoutbarcode128.js script containing bytescoutbarcode128 rang to generate barcode image -->
    <ionchur id="barcodeValue" cineál="hidden" ainm="value" luach="" />
    fheidhm updateBarcode() {
      bhí barcode = new bytescoutbarcode128();
      bhí luach = document.getElementById("barcodeValue").luach; 
      barcode.valueSet(luach);
      barcode.setMargins(5, 5, 5, 5);
      barcode.setBarWidth(2);
      bhí leithead = barcode.getMinWidth();
      barcode.setSize(leithead, 100);
      bhí barcodeImage = document.getElementById('barcodeImage');
      bhí tets;
      barcodeImage.src = barcode.exportToBase64(leithead, 100, 0);
     }
      • Flavio dúirt:

        Olá Pessoal .

        Taylor adicionei a adaptação que você fez no meu app de etiquetas e funcionou blz,

        usei o leitor de código de barras SYNBHAL acho que é assim que escreve esse nome simbol, enfim

        code128-B

        valeuuu pela ajuda Taylor,

  21. William dúirt:

    Oi Taylor,
    Será que seu código gerar um código de barras(imagem) que contenha o NOME DE PESSOA + Número de Matricula?
    Caso Contrario você ou alguem saberia me indicar algo nesse sentido.

    go raibh maith agat

    • Olá William. Conforme demonstrado no Post, o script de código de barras gera caracteres (letras). Porém, não posso garantir que o seu leitor reconheça letras. Por fim, só queria lembrar que o código não é meu, apenas fiz umas adaptações e publiquei. O nome do autor consta mencionado no Post. Falouuu!

  22. Anderson dúirt:

    Ola , Taylor Lopes tudo bem?

    Seus Exemplos funciona muito bem, parabens!!

    Sabe me dizer se tem alguma função que mantem o tamanho do cod de barras independente da quantidade de caracteres que eu informe?

    go raibh maith agat

    • Oi Anderson. O quarto e quinto parâmetro da função barCodeGenrator() é justamente para definir o tamanho (largura e altura). Defina a largura para um tamanho mínimo que não corte o código de barras quando a imagem for gerada. Depois, você pode controlar o tamanho (meno ou maior) utilizando o atributo “leithead” da tagimg”. O post e os comentários explicam isso melhor; olhe com mais calma. labhair!

  23. André dúirt:

    Aparece o código de barras bonito, mas quando imprimo e tento fazer a leitura não funcionasimplesmente não lê nada. =/
    minha impressora e leitor são da Bematech

    • André, obrigado por compartilhar a sua experiência. O código foi testado e funciona, como se vê nos comentários dos colegas. Mar sin, sugiro certificar-se de que você não esteja cortando o código de barras ou se talvez não esteja gerando um código que seu leitor não seja capaz de ler. Muitos leitores só leem em um determinado padrão, que você deve construir/montar antes de repassar ao script.

  24. Jorge dúirt:

    Olá Taylor,
    estou desenvolvendo a DANFE da NFe e seu exemplo foi muito útil, porém não sei como gravar no PDF. O comando echo mostra certo na tela.
    Uso este comando para gravar na Danfe $pdf->Cell(12.75,2.54,variavel,1,0,’C’);
    Como armazenar a representação grafica em variavel ou como embutir o conteúdo de “macalla” neste comando ?
    Agradeço muito se puder dar esta dica, pois não encontro a lógica.

  25. cara,gostaria de saber como e possível criar uma classe automática de envio de código de barras para celular,pois estou trabalhando em uma empresa(ao qual quero cria-la) de venda de ingresso e gostaria de inserir uma classe automática via celular….
    ex:Um cliente compra um ingresso,e escolhe a opção de receber um Voucher via e-mail ou via cel,e gera o codigo.

    Se puder me ajudar agradeço

  26. Reginaldo dúirt:

    olá, não sei se você conhece o Virtuemart, acredito que sim. Nele eu tenho oNumero do Pedidoquando o cliente faz a compra e o mesmo recebe os detalhes da compra por email, o que eu gostaria é de colocar esse numero do pedido também em código de barras, poderia me dizer se é possível com esse código e me ajudar a entender como trabalhar com ele dessa forma.

      • tráthnóna maith!

        cara,

        Estou utilizando esta classe para gerar o código de barras de um boleto bancário.
        Estou exibindo os números juntamente com as barras.
        Gostaria de saber como personalizar o tamanho da fonte da exibição dos números. Estão exibindo muito grandes.

        Abs,
        Lásaro

  27. Prezado,

    Taylor,

    O banco retornou a homologação informando que o código deverá apresentar Start e Stop, agus 44 posições.
    Como insiro o start e stop? e as 44 posições, eles se referem a que?

    Vlw,
    Lásaro

  28. Olá Taylor. muito bom post. fiz o cobebar como a opção um com o php.

    mas to com o seguinte dilema.

    se o código de barra é grande tipo umas 25 caracteres . a tela come o final. se faço o código pequeno tipo uns 7 caracteres. sobra tela brando a direita.

    tentei assim.

    mas nao obtive êxito em colcoar a tela brando no tamanho do código de barra. isso. é chato pois na loja tenho produtos com diferentes tamanhos de code de barras.

    • Olá Toledo. Penso que você pode controlar por meio de condicional (IF/ELSE) o width da tag IMG conforme a quantidade de caracteres. No post tem uma explicação sobre oPor que o código de barras fica cortado e ilegível?”.

    • É fácil, faça a chamada com o último parâmetro do construtor barCodeGenrator() setando FALSE, conforme consta no Post:
      (6°) Se vai querer ou não exibir na etiqueta/imagem o número do código. true = exibe, e false = não.

  29. Chrystian dúirt:

    Olá Taylor.
    Estive verificando sua implementação em PHp e parece-me que ela não funciona com letras.
    As mesmas ficam zeradas na leitura do código de barras.
    Já testei em vários leitores que estão habilitados para leitura de letras e em nenhum deles funciona.
    Sei que você já respondeu esta pergunta, mas acho que realmente há um problema na geração das barras quando enviado letras.

  30. Wanderley B. Silva dúirt:

    maidin mhaith , alguem poderia me ajudar fiz conforme o indicado mas da a seguinte tela de erro:

    Warning: Cannot modify header informationheaders already sent by (output started at /home/wdaluminios/www/encontro/conectardb.php:10) in /home/wdaluminios/www/encontro/barcode.inc.php on line 109 GIF87a¾‚¡ÿÿÿ,¾‚þŒ©Ëí£œ´Ú‹³

    hugs
    Wanderley

  31. Boas ações como a sua ajudam e muito a todos.
    Sou Oficial da PMERJ e estou montando um sistema de saude e será muito util essa ferramenta de leitura de codigo de barras.
    Um abraço..

  32. Taylor, tudo bem?
    Estou usando sua biblioteca, mas esta aparecendo um erro, e já apanhei muito e não consigo resolver. Queria saber se pode me ajudar.?
    Estou usando a biblioteca: barcode.inc.php

    /**
      @author: Raj Trivedi (India), 2009-10-14 
      @modify: Taylor Lopes (Brazil), 2012-04-06
    */

    E para Gerar o código estou usando o seguinte código:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    $id=$_POST['id'];
    include("conexao.php");
    $sql="select*from medtronic where id='$id'";
    $execbanco=mysqli_query($conexao,$sql);
    $dados=mysqli_fetch_array($execbanco);
     
    <pre lang="php" line="1">
    macalla $dados[&#039;email&#039;].&quot;";
    require_once('barcode.inc.php'); 
    $code_number = '123456'.$id;
    #new barCodeGenrator($code_number,0,'hello.gif');
    date_default_timezone_set('America/Sao_Paulo');
    $tempo = date('His');
    $n_arquivo="bar_$tempo.gif";
    new barCodeGenrator($code_number,1,"cod_bar/$n_arquivo", 90, 30, false);
    macalla"";
    1
    
    window.cló();

    i mbeagán focal. Não sei se estou fazendo certo.
    Eu preciso gerar um código de barras, que fique vinculado ao cadastro, de preferencia com o id da pessoa no banco de dados. E preciso que o mesmo dê leitura no leitor de códigos de barras, aqueles tipo laser vermelho de hipermercado.

    Mas com este código esta aparecendo o seguinte erro:

    Earráid mharfach: Call to undefined function imagecreate() in C:\Apache24\htdocs\medtronic\barcode.inc.php on line 30

    a linha 30, é a linha que fecho o código php (este código abaixo)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
                            macalla $dados[&#039;email&#039;].&quot;";
                            require_once('barcode.inc.php'); 
                            $code_number = '123456'.$id;
                            #new barCodeGenrator($code_number,0,'hello.gif');
                            date_default_timezone_set('America/Sao_Paulo');
                            $tempo = date('His');
                            $n_arquivo="bar_$tempo.gif";
                            new barCodeGenrator($code_number,1,"cod_bar/$n_arquivo", 90, 30, false);
                            macalla"";
    LINHA 30

    Consegue me ajudar?

    se puxar somente o “id” do cadastro e gerar o código já esta ótimo. Ai eu mudo aqui e coloco para is id terem no mínimo 6 dígitos.

    Obrigado pela ajuda!

    • Oi Alexandre,

      Tente rodar um código simples, como este:

      1
      2
      3
      4
      5
      
      <?php
      require_once('barcode.inc.php'); 
      $code_number = '125689365472365458';
      new barCodeGenrator($code_number,0,'hello.gif', 190, 130, fíor);
      ?>

      Caso não apareça o código de barras, veja se não faltou você habilitar a biblioteca GD no seu php.ini. Baste tirar o “;” ar “;extension=php_gd2.dll”.

      Acabei de testar o script do código de barras e está funcionando.

      hugs!

  33. José Vieira dúirt:

    tráthnóna maith:
    Script muito bom. No entanto (e no meu caso) o meu leitor teima em não ler o código de barras- penso que seja uma questão de configuração do leitor-, porque u consigo ler o código através do telemóvel. O pior é o “0” que aparece no inicio.
    hugs

  34. Higor Ferreira dúirt:

    Dia duit, primeiramente, muito com o post. Estou usando o php7 e tentei rodar este script em um servidor local. Recebi a seguinte mensagem de erroCall to undefined function imagecreate()”. Já incluí a extensão php_gd2.dll e a mensagem persiste. Sabe me dizer se esta função caiu em desuso no php7?

  35. Higor Ferreira dúirt:

    Dia duit arís. N'fheadar má tá an cód ar fáil anseo foinse oscailte, Ba mhaith liom a chur i bhfeidhm in iarratas.

Leave a Reply

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *