Como gerar QR Codes com php?

Publicidade

Códigos QR (Quick Response) são um tipo de códigos de barra em duas dimensões. Foram criadas no Japão a 20 anos atrás para ajudar a indústria automotiva a rastrear partes de automóveis dentro de uma fábrica. Porém, apenas hoje eles se tornaram populares graças ao surgimento dos smartphones com suas câmeras embutidas.



QR codes permitem representar uma URL, mas também podem representar textos. Neste artigo, iremos mostrar como é fácil gerar estes código a partir de 3 bibliotecas diferentes (TCPDF, phpqrcode, Google Chart API)



A primeira biblioteca é a TCPDF, uma biblioteca open source para criação de documentos PDF. Com ela é possível gerar QR Codes como parte de um PDF, mas não é possível gerar imagens separadamente.



[sourcecode lang="php"]
<?php

error_reporting(E_ALL);

require_once('/tcpdf/config/lang/eng.php');
require_once('/tcpdf/tcpdf.php');

$lobj_pdf = new TCPDF(); //Cria o objeto local TCPDF
$lobj_pdf->AddPage(); //Adiciona uma nova página ao objeto que está sendo gerado.
$lobj_pdf->write2DBarcode( 'www.pauloacosta.com/blog', 'QRCODE' ); // Escreve o endereço do site como um código QR.
$lobj_pdf->Output( 'qr_code.pdf', 'I' ); // Grava em disco o novo documento gerado

?>
[/sourcecode]

Caso você precise gerar um código QR em arquivo, você poderá utilizar a biblioteca phpqrcode, também open source:

[sourcecode lang="php"]
<?php

require_once('phpqrcode/qrlib.php');
QRcode::png( 'www.pauloacosta.com/blog', 'qrcode.png' ); // Gerar imagem em disco.
QRcode::png( 'www.pauloacosta.com/blog' ); //Gerar imagem diretamente para o navegador.

?>
[/sourcecode]

E por fim, porém não menos importante, temos a Google Chart API wrapper:

[sourcecode lang="php"]
<?php

error_reporting(E_ALL);
require_once ('GChartPhp/gChart.php');

$lobj_qrCode = new gQRCode();
$lobj_qrCode->setQRCode( 'www.pauloacosta.com/blog' );
echo "<img src="".$lobj_qrCode->getUrl()."" />";

?>
[/sourcecode]

Eu prefiro a biblioteca phpQRCode, e você? Conhece outra biblioteca capaz de gerar códigos QR e gratuita?



Referência:




  • MCINTYRE, Peter; Danchilla, Brian; e GOGALA, Mladen. PRO PHP Programming. Apress, 2008.

  • http://www.tcpdf.org/

  • http://phpqrcode.sourceforge.net/index.php

  • http://code.google.com/p/gchartphp/

Código QR
fevereiro 24, 2012
3

Comentários

  1. Tem algo parecido ao phpqrcode, que gere a imagem no disco masque gere código de barras comum?

    ResponderExcluir
  2. O que você considera como código de barras comum?

    Existem diversos tipos: UPC/EAN, Código 39, Código 128, Intercalado 1 de 5, Intercalado 2 de 5 (Febraban), Postnet, PDF147, etc.

    Se o que você deseja é um gerador de código de barras utilizado em boleto bancário (Intercalado 2 de 5), talvez este link possa te ajudar:

    http://codigofonte.uol.com.br/codigo/php/diversos/gerar-codigo-de-barras-para-boletos-bancarios-em-php

    ResponderExcluir
  3. Muito bom o post. Simples porém informativo. Obrigado.

    ResponderExcluir

Postar um comentário

Menu

Pesquisar

Últimos Comentários

Fale Comigo