Tạo ra các mã vạch với PHP

Lập trình PHP: Làm thế nào về tạo ra mã vạch của bạn trong hình ảnh để tiết kiệm (hay không) đĩa? Đơn giản chỉ cần thông báo cho một chuỗi các chữ số của sở thích của bạn. Xem các giải pháp trong PHP và Javascript.

Giải pháp 1 – PHP

Lớp học này là rất dễ sử dụng, Anh có tin không! Với hai dòng mã và bạn sẽ có của bạn hình ảnh mã vạch trong định dạng GIF, được tạo ra từ một chuỗi các chữ số thứ tự ưu tiên của bạn. Bạn vẫn có tùy chọn để lưu hình ảnh (mã vạch) trong một tập tin hoặc hiển thị ngay trong đầu ra kịch bản.

Barcode.php

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

Giải thích
Ở dòng đầu tiên, chúng tôi nhập khẩu các tập tin “Barcode.Inc.php”, đó là nơi mà các lớp học 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

Sau, a pedido, fiz um pequeno incremento no código original, adicionando três parâmetros novos (Tùy chọn). Agora você pode definir a LARGURA e a ALTURA do código de barra e também dizer se quer exibir (hay không) a numeração do código de barra (văn bản).

Os parâmetros adicionais indicam respectivamente:
(4°) A largura da barra. Ví dụ: 190 điểm ảnh (informe apenas o número).
(5°) A altura da barra. Ví dụ: 130 điểm ảnh (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.

LƯU Ý: 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'); 
    mới barCodeGenrator('125689365472365458',0,'hello.gif', 190, 130, sự thật);
?>

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. Vì vậy, bạn sẽ phải lắp ráp các dãy số mong muốn và vượt qua các kịch bản để cho nó chạy mã vạch tương thích với các tiêu chuẩn mà bạn cần, như ví dụ ăn-13.

Trước khi bạn nói rằng người đọc không đọc mã vạch, Hãy xem xét hai khả năng:: (1) Bạn đang sử dụng một trình đọc cụ thể đối với một số tiêu chuẩn, như homebank. Trong trường hợp này, trừ khi bạn có gắn dãy số như là tiêu chuẩn bắt buộc, sẽ không thậm chí chạy; (2) Bạn đang tạo ra một hình ảnh cắt (một nửa) mã vạch, làm cho không thể đọc được mã. Xem làm thế nào để giải quyết điều này trong cách tiếp cận tôi đã làm dưới đây. Thực tế là các mã vạch có thể được hoàn toàn đọc, 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 Tháng một 2012 tại 10:53 #
– Carlos 4 Tháng mười hai 2012 tại 11:20 #

Tem como exibir mais de um código de barras, TRÌNH DUYỆT IE, fazer Loop de código de barras?
Có. Trong trường hợp này, salve a imagem (mã vạch) đĩa, setando o 2° parâmetro para 1.

1
2
3
4
5
6
7
8
<?php
require_once('barcode.inc.php'); 
 ($tôi = 0; $tôi < 10; $tôi++) {
  $code_number = rand(1000000000, 9999999999);
  mới barCodeGenrator($code_number,1,'barcode_'.$code_number.'.gif', 190, 130, sự thật);
  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. Làm điều này, 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'); 
  mới barCodeGenrator('125689365472365458',1,'barcode.gif', 180, 42, sự thật);
  ECHO '<img src="barcode.gif" width="150" />'; 
?>

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

Giải pháp 2 – JavaScript

Você também pode gerar código de barras com javascript. Các 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, TRÌNH DUYỆT IE, ao clicar no botãoSalvar”, o código Base64 da imagem (mã vạch) é 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. Đối với điều này, você deve utilizar Ajax, mas essa implementação não irei demonstrar por enquanto, Ok?

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>
  <đầu>
    <tiêu đề>BytescoutBarcode128</tiêu đề>
    <meta http-equiv="Content-Type" Nội dung="text/html; charset=UTF-8" />
    <kiểu kịch bản="text/javascript" SRC="bytescoutbarcode128_1.00.07.js"></kịch bản>  
  </đầu>
  <body onload="updateBarcode()">
    <hình thức hành động="">
      (C)&oacute;digo de Barras:
      <ID đầu vào="barcodeValue" Loại="text" Tên="value" giá trị="abcd123456" />
      <loại đầu vào="button" giá trị="Gerar" tự động trượt="updateBarcode()" />
    </hình thức>
    <p>
      (C)&oacute;digo de Barras convertido para imagem:<BR />
      <img id="barcodeImage" phong cách="border: solid 1px black;"/>
    </p>
    <kiểu kịch bản="text/javascript">
      chức năng updateBarcode() {
	var barcode = mới bytescoutbarcode128();
        var giá trị = tài liệu.getElementById("barcodeValue").giá trị;
        barcode.valueSet(giá trị);
        barcode.setMargins(5, 5, 5, 5);
        barcode.setBarWidth(2);
        var chiều rộng = barcode.getMinWidth();
        barcode.setSize(chiều rộng, 100);
        var barcodeImage = tài liệu.getElementById('barcodeImage');
   	barcodeImage.SRC = barcode.exportToBase64(chiều rộng, 100, 0);
      }
 
      chức năng saveBarcode() {
        tài liệu.frmSaveBarcode.barcodeBase64.giá trị=tài liệu.getElementById('barcodeImage').SRC;
        tài liệu.frmSaveBarcode.submit();
      }
    </kịch bản>
    <form name="frmSaveBarcode" hành động="barcode.php" phương pháp="post">
      <ID đầu vào="barcodeBase64" Tên="barcodeBase64" Loại="hidden" giá trị="1231" />
      <loại đầu vào="button" giá trị="Salvar" tự động trượt="saveBarcode()" />
    </hình thức>    
  </cơ thể>
</HTML>

Lưu ý rằng việc sử dụng thực hiện duy nhất của kịch bản “bytescoutbarcode128_1.00.07.js“, Bạn có thể nhận được trong http://www.bytescout.com/. Có là không có bí ẩn!

Bây giờ, Hãy xem các tập tin Barcode.php bạn sẽ nhận được códificação ảnh base64 (mã vạch) để lưu nó vào đĩa:

Barcode.php

1
2
3
4
5
6
<?php
  $barcodeBase64 =  strip_tags($_ BÀI['barcodeBase64']);
  danh sách($Loại, $hình ảnh) = phát nổ(',', $barcodeBase64);
  file_put_contents('barcode.png', base64_decode($hình ảnh));
  ECHO ' Lưu hình ảnh vào đĩa!';
?>
Tổng lượt truy cập: 273123

119 Bình luận trên “Tạo ra các mã vạch với PHP

  1. Gilson cho biết:

    Rất tiếc.
    Cảm ơn bạn đã trả lời.
    sau đó, Tôi chương trình trong php và có tất cả mọi thứ làm việc.
    Vì vậy, tôi cần này hạng ae không tìm thấy tải về p.
    có như bạn gửi cho tôi các lớp học , Barcode.Inc.php

    Cảm ơn bạn.

  2. Chào bạn, Các lớp học là có sẵn để tải về ngay trong bài đăng này. Chỉ cần nhấp vào nơi nó nói “Tải về: mã vạch-máy phát điện-năm 2009-10-14.zip”… chỉ cần giải nén và sử dụng bên cạnh script PHP của bạn. Cho biết, t +

    • Và ở đó… 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… cho biết, t +

  3. 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”];
    mới barCodeGenrator($code, 0, “teste.gif”);

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

  4. Cecilia cho biết:

    Vì vậy, 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?

  5. Tốt, 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), ĂN được hình thành-13.

    Bất kể số lượng chữ số, hoặc nếu bạn đang theo tiêu chuẩn hay không, Tôi tin rằng bất kỳ người đọc sẽ đọc. Vì vậy, không có vấn đề.

    Tôi nhận ra rằng kịch bản này tạo ra một hình ảnh quá lớn, với rất nhiều không gian màu trắng. Vì vậy, Tôi chỉnh sửa các tập tin “Barcode.Inc.php”, Trực tuyến 20, cách thay đổi chiều rộng của hình ảnh được tạo ra.

    Dòng 20:
    $IMG = imagecreate(CHIỀU RỘNG, CHIỀU CAO);

    Hey tôi đặt chiều rộng 145 Ở đây, Nếu bạn đang sử dụng tiêu chuẩn ăn-13.

    Thông tin thêm về tiêu chuẩn ăn-13: http://pt.wikipedia.org/wiki/C%C3%B3digo_de_barras

    Lên +

    • Cảm ơn… Tôi lấy nó và làm một điều chỉnh nhỏ trong mã gốc, do đó bạn có thể thông báo cho các chiều rộng và chiều cao trong lớp (phương pháp xây dựng). Bây giờ bạn cũng có thể xem số, dưới mã vạch: mới barCodeGenrator(' 125689365472365458′,0,'hello.gif', 190, 130, sự thật); 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, Do đó: mới barCodeGenrator($code_number,0,'hello.gif', 190, 130, sự thật); Các “sự thật” é justamente para exibir o número em baixo do código de barras. Caso não queira, deixe “sai” ou omita o parâmetro.

  6. Afrânio cho biết:

    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 ?

    • Chào bạn, 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). Dù sao, 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: mới barCodeGenrator(' 125689365472365458′,1,'hello.gif', 190, 130, sự thật); Isto irá gerar uma imagem chamadahello.gif”, com tamanho de 190 x 130 điểm ảnh, formada pelo código de barras que represente a numeração informada (125689365472365458), salvo no disco local (HD).

      • Rogerio Alan Dobler cho biết:

        Entendo pouco de phppoderia explicar isso melhor? como insiro isso na terceira classe? onde é essa classe? Cảm ơn bạn

      • Olá Rogerio. Não é terceira classe, e sim terceiro parâmetro do construtor, trong trường hợp này, 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ê. Sau khi, 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…

  7. Aléx cho biết:

    Xin chào 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, porém, 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. Làm điều này, 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'); 
        mới barCodeGenrator('125689365472365458',1,'barcode.gif', 180, 42, sự thật);
        ECHO '<img src="barcode.gif" width="150" />'; 
      ?>
  8. Fábio Aguiar cho biết:

    Rất tiếc, 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, Thích cái này:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      
      // MUDE ISTO
      chức năng __construct($giá trị,$into=1, $filename = 'barcode.gif', $width_bar=300, $height_bar=65, $show_codebar=sai) {
       // código original
       }
       
      // PARA ISTO
      chức năng __construct($params) {
          extract($params);
          // codigo original
      }

      Tốt, feito isto, basta chamar a classe dentro de uma função qualquer do seu Controllers, Thích cái này:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      
      khu vực chức năng index()  {  
          $params = array('value' => '125689365472365458',
                                         'into' => 0,
                                         'filename' => 'barcode.gif', 
                                         'width_bar' => 300,
                                         'height_bar' => 65,
                                         'show_codebar' => sự thật);                    
          $this->tải->library('barCodeGenrator', $params);
      }

      Tất nhiên, aí você passa os parâmetros conforme sua necessidadeNote que $params é uma array cujos valores equivalem aos parâmetros do construtor originalé isso, cho biết!

  9. Nickolas Menezes cho biết:

    Xin chào, 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? Cảm ơn bạn.

    • Chào bạn, segue um exemplo… cho biết!

      Exibir mais de um código de barras | Loop de código de barras
      Trong trường hợp này, salve a imagem (mã vạch) đĩa, setando o 2° parâmetro para 1.

      1
      2
      3
      4
      5
      6
      
        require_once('barcode.inc.php'); 
         ($tôi = 0; $tôi < 10; $tôi++) {
          $code_number = rand(1000000000, 9999999999);
          mới barCodeGenrator($code_number,1,'barcode_'.$code_number.'.gif', 190, 130, sự thật);
          ECHO '<img src="barcode_'.$code_number.'.gif" />'; 
        }
  10. Andre Dias cho biết:

    Chào buổi sáng 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)
    Cảm ơn một lần nữa

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

    • 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. Ví dụ:

      1
      2
      3
      4
      5
      
      <?php
          require_once('barcode.inc.php'); 
          $code_number = '112233445566778899';
          mới barCodeGenrator($code_number,0,'hello.gif', 190, 130, sự thật);
      ?>

      Cho biết!

      • Carlos cho biết:

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

  11. Paulo B cho biết:

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

    TRÌNH DUYỆT 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 Lopes cho biết:

      Có, 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.

  12. Fernando Goya cho biết:

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

    Porem, para meu uso, estou com um problema:

    Eu tenho uma sequencia de 14 digitos, Ví dụ:: 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 (mã vạch) 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 có thể 201317 có thể 2013. Eu não tenho um leitor para testar issomas caso você encontre a solução e possa compartilhar aqui, seria muito bom. Cho biết!

  13. Flavio cho biết:

    Xin chào 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 cho biết:

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

  14. Flavio cho biết:

    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 lớp học to generate barcode image -->
    <ID đầu vào="barcodeValue" Loại="hidden" Tên="value" giá trị="" />
    chức năng updateBarcode() {
      var barcode = mới bytescoutbarcode128();
      var giá trị = tài liệu.getElementById("barcodeValue").giá trị; 
      barcode.valueSet(giá trị);
      barcode.setMargins(5, 5, 5, 5);
      barcode.setBarWidth(2);
      var chiều rộng = barcode.getMinWidth();
      barcode.setSize(chiều rộng, 100);
      var barcodeImage = tài liệu.getElementById('barcodeImage');
      var tets;
      barcodeImage.SRC = barcode.exportToBase64(chiều rộng, 100, 0);
     }
      • Flavio cho biết:

        Xin chào kẻ .

        Taylor thêm điều chỉnh bạn đã thực hiện trên ứng dụng nhãn hiệu của tôi và nó đã làm việc OK,

        Tôi đã sử dụng bar code reader SYNBHAL tôi nghĩ rằng đó là làm thế nào bạn đánh vần tên đó Symbol, Dù sao

        CODE128-B

        valeuuu đã giúp Taylor,

  15. William cho biết:

    Hi Taylor,
    Mã của bạn sẽ tạo ra một mã vạch(hình ảnh) có chứa tên của một người + Số đăng ký?
    Nếu không bạn hay bất cứ ai biết cho tôi biết một cái gì đó dọc theo những đường.

    Cảm ơn bạn

    • Hi William. Như thể hiện trong bài, Các kịch bản tạo ra ký tự mã vạch (letras). Tuy nhiên, Tôi không thể đảm bảo rằng người đọc của bạn sẽ nhận ra lời. Cuối cùng, Tôi chỉ muốn nhắc nhở bạn rằng mã không phải là của tôi, chỉ cần thực hiện một số điều chỉnh và tôi xuất bản. O nome do autor consta mencionado no Post. Falouuu!

  16. Anderson cho biết:

    OLA , Taylor Lopes tudo bem?

    Seus Exemplos funciona muito bem, Chúc mừng!!

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

    Cảm ơn bạn

    • 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. Sau khi, você pode controlar o tamanho (meno ou maior) utilizando o atributo “chiều rộng” da tag “IMG”. O post e os comentários explicam isso melhor; olhe com mais calma. Cho biết!

  17. André cho biết:

    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. Vì vậy, 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.

  18. Jorge cho biết:

    Xin chào 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.

  19. Người bạ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

  20. Reginaldo cho biết:

    Xin chào, 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.

      • Chào bạn!

        Người bạ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

  21. Prezado,

    Taylor,

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

    Vlw,
    Lásaro

  22. Xin chào 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, như đã nêu trong bài viết:
      (6°) Se vai querer ou não exibir na etiqueta/imagem o número do código. true = exibe, e false = não.

  23. Chrystian cho biết:

    Xin chào 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.

  24. Wanderley B. Silva cho biết:

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

    Những cái ôm
    Wanderley

  25. Taylor, Tất cả cũng?
    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 (Ấn Độ), 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=$_ BÀI['id'];
    include("conexao.php");
    $SQL="select*from medtronic where id='$ID'";
    $execbanco=mysqli_query($conexao,$SQL);
    $dữ liệu=mysqli_fetch_array($execbanco);
     
    <pre lang="php" dòng="1">
    ECHO $dữ liệu[&#039;email&#039;].&quot;";
    require_once('barcode.inc.php'); 
    $code_number = '123456'.$ID;
    #mới barCodeGenrator($code_number,0,'hello.gif');
    date_default_timezone_set('America/Sao_Paulo');
    $tempo = date('His');
    $n_arquivo="bar_$tempo.gif";
    mới barCodeGenrator($code_number,1,"cod_bar/$n_arquivo", 90, 30, sai);
    ECHO"";
    1
    
    cửa sổ.in();

    Tóm lại. 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:

    Lỗi nghiêm trọng: Gọi để undefined chức năng imagecreate() trong 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 $dữ liệu[&#039;email&#039;].&quot;";
                            require_once('barcode.inc.php'); 
                            $code_number = '123456'.$ID;
                            #mới barCodeGenrator($code_number,0,'hello.gif');
                            date_default_timezone_set('America/Sao_Paulo');
                            $tempo = date('His');
                            $n_arquivo="bar_$tempo.gif";
                            mới barCodeGenrator($code_number,1,"cod_bar/$n_arquivo", 90, 30, sai);
                            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 Số.

    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';
      mới barCodeGenrator($code_number,0,'hello.gif', 190, 130, sự thật);
      ?>

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

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

      Những cái ôm!

  26. José Vieira cho biết:

    Chào bạn:
    Kịch bản rất tốt. Tuy nhiên (và trong trường hợp của tôi) đọc của tôi khăng khăng không đọc mã vạch- Tôi nghĩ rằng nó là một vấn đề cấu hình đọc, bởi vì bạn không thể đọc mã thông qua điện thoại. Tồi tệ nhất là các “0” xuất hiện ở đầu.
    Những cái ôm

  27. Amandeep Ferreira cho biết:

    Xin chào, đầu tiên, rất nhiều từ các bài đăng. Tôi đang sử dụng php7 và cố gắng chạy kịch bản này trên một máy chủ địa phương. Tôi đã nhận được thông báo lỗi sau “Gọi để undefined chức năng imagecreate()”. Đã bao gồm phần mở rộng php_gd2.dll và tin nhắn vẫn còn tồn tại. Bạn có thể cho tôi biết nếu chức năng này rơi vào quá xưa trong php7?

  28. Evandro AB cho biết:

    Chào bạn,

    Tôi đã thực hiện một ứng dụng với này mã số generator, xin số an sinh xã hội, Nó tạo ra tất cả mọi thứ ngay, Tuy nhiên khi tôi đặt để đọc, người đọc đặt một “Zero” ở phía trước của các con số của mã.

    biết tôi biết những gì có thể xảy ra?

    Cảm ơn bạn trước.

    • Evandro, Chào bạn. Nhìn, Nếu mã đang được tạo một cách chính xác (với những con số cài sẵn), có lẽ một số cấu hình hoặc mô hình của các độc giả của bạn. 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. Cảm ơn!

  29. LUIS MIGUEL TONELLI MARTINS cho biết:

    EM primeiro lugar muito obrigado.

    Para que funcione em bancos, como sicredi, bradesco, banco do brasil, caixa etc seque como se deve chamar o código

    mới barCodeGenrator($codigo_barras,1,”nome_arquivo.gif”, 434.645669291, 56.692913386, sai);

    depois é só criar um img com o nome do arquivo tipo

  30. Giới thiệu về các báo cáo của số 0 vào lúc bắt đầu của mã thực sự xảy ra và nó không phải là một vấn đề của người đọc mã vạch.

    Nếu mã bằng hoặc nhỏ hơn 5 số đi ra bằng không ở đầu mã, Nếu không phải là mã đi ra một cách chính xác, como não sabia resolver esse problema eu reestruturei meus códigos para 6 Số.

Để lại câu trả lời

Các địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *