Generera streckkod med PHP

PHP-programmering: Vad sägs om generera din streckkod i bilden för att spara (eller inte) till disk? Helt enkelt informera en sekvens av siffror av din preferens. Se lösningen i PHP och Javascript.

Ikonen

barcodegenerator-20120406.zip
1.50 KB 15847 nedladdningar

Författare: Raj Trivedi
Land: India
site: PHP-klasser
Update: Taylor Lee

Lösning 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'); 
    nya 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

Efter, 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 (eller inte) a numeração do código de barra (texto).

Os parâmetros adicionais indicam respectivamente:
(4°) A largura da barra. Exempel: 190 pixlar (informe apenas o número).
(5°) A altura da barra. Exempel: 130 pixlar (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'); 
    nya barCodeGenrator('125689365472365458',0,'hello.gif', 190, 130, True);
?>

Därmed:

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. Så, 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. I detta fall, 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 Januari 2012 på 10:53 #
Carlos 4 December 2012 på 11:20 #

Tem como exibir mais de um código de barras, IE, fazer Loop de código de barras?
Ja. I detta fall, salve a imagem (código de barras) till disk, setando o 2° parâmetro para 1.

1
2
3
4
5
6
7
8
<?PHP
require_once('barcode.inc.php'); 
for ($i = 0; $i < 10; $i++) {
  $code_number = rand(1000000000, 9999999999);
  nya barCodeGenrator($code_number,1,'barcode_'.$code_number.'.gif', 190, 130, True);
  ECHO '<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. Gjort detta, 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'); 
  nya barCodeGenrator('125689365472365458',1,'barcode.gif', 180, 42, True);
  ECHO '<img src="barcode.gif" width="150" />'; 
?>

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

Lösning 2 – Javascript

Você também pode gerar código de barras com javascript. Den 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, IE, 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. För detta, você deve utilizar Ajax, mas essa implementação não irei demonstrar por enquanto, Okej?

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
<!DOCTYPE html>
<HTML>
  <huvud>
    <avdelning>BytescoutBarcode128</avdelning>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <script type="text/javascript" src="bytescoutbarcode128_1.00.07.js"></script>  
  </huvud>
  <body onload="updateBarcode()">
    <form action="">
      (C)&oacute;digo de Barras:
      <input id="barcodeValue" typ="text" name="value" value="abcd123456" />
      <input type="button" value="Gerar" onclick="updateBarcode()" />
    </form>
    <p>
      (C)&oacute;digo de Barras convertido para imagem:<Br />
      <img id="barcodeImage" stil="border: solid 1px black;"/>
    </p>
    <script type="text/javascript">
      funktion updateBarcode() {
	var barcode = nya bytescoutbarcode128();
        var value = document.getElementById("barcodeValue").value;
        barcode.valueSet(value);
        barcode.setMargins(5, 5, 5, 5);
        barcode.setBarWidth(2);
        var width = barcode.getMinWidth();
        barcode.setSize(width, 100);
        var barcodeImage = document.getElementById('barcodeImage');
   	barcodeImage.src = barcode.exportToBase64(width, 100, 0);
      }
 
      funktion saveBarcode() {
        document.frmSaveBarcode.barcodeBase64.value=document.getElementById('barcodeImage').src;
        document.frmSaveBarcode.submit();
      }
    </script>
    <form name="frmSaveBarcode" action="barcode.php" method="post">
      <input id="barcodeBase64" name="barcodeBase64" typ="hidden" value="1231" />
      <input type="button" value="Salvar" onclick="saveBarcode()" />
    </form>    
  </kroppen>
</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!

Nu, 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($typ, $bild) = explode(',', $barcodeBase64);
  file_put_contents('barcode.png', base64_decode($bild));
  ECHO 'Imagem salva em disco!';
?>
Totalt antal träffar: 159201

112 kommentarer till “Generera streckkod med PHP

  1. gilson sade:

    Morfar.
    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

    Tack.

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

  3. Welisson Dias sade:

    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?

    Tack.

  4. Welisson Dias sade:

    Agora esta ok, testado e aprovado.

    Uma pergunta, você já testou com algum leitor de código de barras?

    Kram!

    • 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… Inlägg, t +

      • Carlos sade:

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

  5. 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

  6. Hej, agredeço muito por compartilhar e digo que será de grande uso. A agora vamos a dúvidars é possível gerar código de barras do tipo 39 com essa classe ?

    • 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. Sade…

  7. Everton sade:

    Hej. 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).

  8. Johnathan A. de Sousa Cruz sade:

    Não entendi essa parte. quando coloco o codigo em um script ele não aparece o cód. de barras.

  9. Cecilia sade:

    Så, 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?

    • Hej, será que não está faltando habilitar a biblioteca GD (manipula imagens) i din php.ini? Procure a respeito na InternetO código foi testado e está funcionando, falouuu

  10. Bra, 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. Så, sem problemas.

    Eu percebi que esse script gera uma imagem muito grande, com muito espaço em branco. Så, editei o arquivobarcode.inc.php”, Online 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é+

    • Tack… aproveitei 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, True); Qualquer coisa dá uma lida novamente no Post que está melhor explicado, falouuu.

    • Coloca dentro deu uma estrutura de repetição como “Tag”, “for”, “do while”, “foreach”… e vai alterando o valor numérico do código de barras e o nome da imagem a ser salva, a medida que faz o loop

    • 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, True); Den “True” é justamente para exibir o número em baixo do código de barras. Caso não queira, deixe “falskt” ou omita o parâmetro.

  11. Afrânio sade:

    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 ?

  12. Renan sade:

    God eftermiddag,
    Eu coloco o numero para gerar o codigo de barra , e depois eu salvo em um disco? não entendi pod me explicar novamente?

    • Hej, 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). Ändå, 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, True); Isto irá gerar uma imagem chamadahello.gif”, com tamanho de 190 x 130 pixlar, formada pelo código de barras que represente a numeração informada (125689365472365458), salvo no disco local (HD).

  13. Rafael Peregrino sade:

    Hej, seu uizer mudar a pasta em que vai ser salvo as imagens dos códigos de barra, como faço isso?

      • Rogerio Alan Dobler sade:

        Entendo pouco de phppoderia explicar isso melhor? como insiro isso na terceira classe? onde é essa classe? Tack

      • Olá Rogerio. Não é terceira classe, e sim terceiro parâmetro do construtor, i detta fall, 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ê. Efter, 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…

  14. Aléx sade:

    Hej 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, Emellertid, 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. Gjort detta, 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'); 
        nya barCodeGenrator('125689365472365458',1,'barcode.gif', 180, 42, True);
        ECHO '<img src="barcode.gif" width="150" />'; 
      ?>
  15. Fábio Aguiar sade:

    Morfar, 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, Gillar det här:

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

      Bra, feito isto, basta chamar a classe dentro de uma função qualquer do seu Controllers, Gillar det här:

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

      Självklart, aí você passa os parâmetros conforme sua necessidadeNote que $params é uma array cujos valores equivalem aos parâmetros do construtor originalé isso, Inlägg!

  16. Nickolas Menezes sade:

    Hej, 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? Tack.

    • Hej, segue um exemplo… Inlägg!

      Exibir mais de um código de barras | Loop de código de barras
      I detta fall, salve a imagem (código de barras) till disk, setando o 2° parâmetro para 1.

      1
      2
      3
      4
      5
      6
      
        require_once('barcode.inc.php'); 
        for ($i = 0; $i < 10; $i++) {
          $code_number = rand(1000000000, 9999999999);
          nya barCodeGenrator($code_number,1,'barcode_'.$code_number.'.gif', 190, 130, True);
          ECHO '<img src="barcode_'.$code_number.'.gif" />'; 
        }
  17. Andre Dias sade:

    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)
    Tack igen

    • Desculpe a demora, percebi agora que não respondi sua pergunta. Esse script converte números em barras, så, 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().

  18. Carlos sade:

    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. Exempel:

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

      Sade!

      • Carlos sade:

        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í.

  19. Ricardo sade:

    God eftermiddag 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.

  20. Paulo B sade:

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

    IE:
    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 Lee sade:

      Ja, 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.

  21. iGOR sade:

    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 ?

  22. Fernando Goya sade:

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

    Porem, para meu uso, estou com um problema:

    Eu tenho uma sequencia de 14 digitos, till exempel: 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 kan 201317 kan 2013. Eu não tenho um leitor para testar issomas caso você encontre a solução e possa compartilhar aqui, seria muito bom. Sade!

  23. Flavio sade:

    Hej 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 ?

    • Flávio, boa noite. Respondi essa pergunta agora a pouco; Så, para não ser repetitivo, peço o favor de ler a resposta que dei ao Fernando, no dia 4 Juni 2013 på 20:05. Sade!

      • Flavio sade:

        Okej, 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

  24. Flavio sade:

    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 klass to generate barcode image -->
    <input id="barcodeValue" typ="hidden" name="value" value="" />
    funktion updateBarcode() {
      var barcode = nya bytescoutbarcode128();
      var value = document.getElementById("barcodeValue").value; 
      barcode.valueSet(value);
      barcode.setMargins(5, 5, 5, 5);
      barcode.setBarWidth(2);
      var width = barcode.getMinWidth();
      barcode.setSize(width, 100);
      var barcodeImage = document.getElementById('barcodeImage');
      var tets;
      barcodeImage.src = barcode.exportToBase64(width, 100, 0);
     }
    • Oi Flávio, dê uma olhada novamente no final dp Post. Fiz uma atualização demonstrando a “Lösning 2 – Javascript”. Salva em disco… Inlägg!

      • Flavio sade:

        Okej, vou fazer os teste e retorno para confirmar, por enquanto valeuu
        Taylor

      • Flavio sade:

        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,

  25. William sade:

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

    Tack

    • Olá William. Conforme demonstrado no Post, o script de código de barras gera caracteres (letras). Emellertid, não posso garantir que o seu leitor reconheça letras. Slutligen, 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!

  26. Anderson sade:

    OLA , Taylor Lopes tudo bem?

    Seus Exemplos funciona muito bem, Grattis!!

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

    Tack

    • 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. Efter, você pode controlar o tamanho (meno ou maior) utilizando o atributowidthda tagimg”. O post e os comentários explicam isso melhor; olhe com mais calma. Sade!

  27. André sade:

    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. Så, 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.

  28. Cesar sade:

    Nestes exemplos que você deixou, e que por sinal são muito bons, tem como montar um lay out em torno do código de barras?

  29. Jorge sade:

    Hej 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 “ECHO” neste comando ?
    Agradeço muito se puder dar esta dica, pois não encontro a lógica.

    • Olá Jorge. I detta fall, teria que procurar saber a sintaxe para inserir imagem da classe geradora de PDF que você está utilizando. Till exempel, se for o FPDF, você salvaria a imagem em disco (conforme demonstrado no artigo) e embutiria ela (bild) no PDF. Veja um exemplo com FPDF. Kram!

  30. Vän,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

  31. Reginaldo sade:

    Hej, 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.

  32. Giovanni sade:

    Utmärkt! funciona perfectamente con el lector de barras.
    muchas gracias por el aporte.

      • God eftermiddag!

        Vän,

        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

  33. Prezado,

    Taylor,

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

    VLW,
    Lásaro

  34. Hej 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?”.

  35. Gustavo Severo sade:

    Hej Taylor.

    O meu não funcionou corretamente. Está aparecendo caracteres do tipo, losango com ponto de interrogação.

    • É 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.

  36. Chrystian sade:

    Hej 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.

  37. Wanderley B. Silva sade:

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

    Varning: 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¾‚¡ÿÿÿ,¾‚þŒ©Ëí£œ´Ú‹³

    Kram
    Wanderley

  38. 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..

  39. Taylor, allt väl?
    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 Lee (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'];
    inkluderar("conexao.php");
    $SQL="select*from medtronic where id='$ID'";
    $execbanco=mysqli_query($conexao,$SQL);
    $dados=mysqli_fetch_array($execbanco);
     
    <pre lang="php" linjen="1">
    ECHO $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";
    nya barCodeGenrator($code_number,1,"cod_bar/$n_arquivo", 90, 30, falskt);
    ECHO"";
    1
    
    window.print();

    I Sammanfattning. 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:

    Fatal fel: Call to undefined function imagecreate() i 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
    
                            ECHO $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";
                            nya barCodeGenrator($code_number,1,"cod_bar/$n_arquivo", 90, 30, falskt);
                            ECHO"";
    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';
      nya barCodeGenrator($code_number,0,'hello.gif', 190, 130, True);
      ?>

      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 “;” av “;extension=php_gd2.dll”.

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

      Kram!

  40. José Vieira sade:

    God eftermiddag:
    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.
    Kram

  41. Amandeep Ferreira sade:

    Hej, 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?

  42. Amandeep Ferreira sade:

    Hej igen. Jag undrar om koden om här är öppen källkod, Jag skulle vilja genomföra det i ett program.

  43. Evandro AB sade:

    God eftermiddag,

    Jag gjorde ett program med denna kodgenerator, om personnummer, Det genererar allt rätt, Men när jag sätter att läsa, läsaren sätter en “noll” framför siffrorna i koden.

    känner mig vet vad det kan bero?

    obrigado desde já.

    • Evandro, God eftermiddag. Titta, Om koden som genereras korrekt (med de förinställda numren), antagligen några konfiguration eller mönster av dina läsare. Tente ver no manual técnico do leitor se existe algum tipo de pré-formatação que ele faz no automático, ou algum dígito verificador que ele está aplicando. Certifique-se que a string que você está passando no código está correta. Se você olhar nos comentários, vai ver que teve gente falando que o leitor leu certinho. Qualquer coisa, posta aí sua solução. Tack!

Lämna svar

I din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *