O
Código QR (do inglês Quick Response, ou "resposta rápida" em português) é um código de barras que pode ser normalmente escaneado usando a os smartphones atuais equipados com câmera. Esse código quando escaneado é convertido em texto, como por exemplo um endereço URL, um número de telefone para comunicação via WhatsApp, uma localização georreferenciada com coordenadas geográficas, um e-mail, dentre outras opções.
Inicialmente, ele era empregado para catalogar peças na produção de veículos, hoje o
QR Code costuma ser usado também no gerenciamento de inventário e controle de estoque em indústrias e comércio. Desde 2003, foram desenvolvidas aplicações que ajudam usuários a inserir dados em telefone celulares (smartphones) usando a câmera do aparelho.
Os códigos QR são comuns atualmente também em revistas e propagandas, para registrar endereços e URLs, bem como informações pessoais detalhadas. Em cartões de visita, por exemplo, o código QR facilita muito a inserção desses dados em agendas de telefones celulares.
Capacidade de armazenamento do QR Code
O código QR indica o tipo de conteúdo que foi armazenado, como por exemplo, se foi apenas um número, ou se foi armazenada uma frase. Para isso, o padrão do QR Code utilizado estabelece diferentes modos de entradas no armazenamento.
Possíveis caracteres conforme modo utilizado:
- Somente numérico (3⅓ bits/char): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- Alfanumérico (5½ bits/char): 0-9, A-Z (maiúsculas apenas), espaço, $, %, *, +, -, ., /, :
- Binário (8 bits/char): padrão ISO 8859-1
- Kanji/kana (13 bits/char): padrão Shift JIS X 0208
Capacidade de armazenamento da versão 1, sendo uma imagem com 21×21 módulos:
- Numérica - máx. 41 caracteres no nível L, 17 no nível H
- Alfanumérica - máx. 25 caracteres no nível L (suficiente para URL curta), 10 no nível H
- Binário (8 bits) - máx. 17 bytes no nível L, 7 no nível H
Capacidade máxima da versão 40 do nível L, sendo uma imagem com 177×177 módulos):
- Numérica - máx. 7089 caracteres
- Alfanumérica - máx. 4296 caracteres
- Binário (8 bits) - máx. 2953 bytes
Caso queira saber as capacidades de armazenamento em todos os níveis, segue o site para a consulta:
PyQRCode
O módulo
PyQRCode é um gerador de códigos QR, fácil de ser utilizado, além de ser escrito em
Python. O módulo automatiza a maior parte do processo de construção de QR Codes. Ao contrário de outros geradores existentes, todas as configurações podem ser controladas manualmente. Desta forma, o usuário final fica livre para definir todas as propriedades do seu código QR.
Os QR Codes podem ser salvos nos formatos SVG e PNG (usando o módulo pypng), além de texto simples. Além disso, eles também podem ser exibidos diretamente na maioria dos emuladores de terminal do
Linux. O módulo PyQRCode busca seguir o padrão do QR Code da forma mais fiel possível. As principais configurações e as codificações usadas no PyQRCode vêm definidas por padrão.
Requisitos para a utilização
O módulo PyQRCode requer somente o Python 2.6, Python 2.7 ou Python 3. Você pode querer instalar o pypng para gerar arquivos PNG de seus QR Codes, mas essa instalação é opcional. Note que o pypng é apenas um gerador de PNG Python, que não requer outras bibliotecas.
Instalação
A instalação é simples, sendo realizada através do
pip usando o seguinte com os comandos:
pip install PyQRCode
pip install pypng
Gerar códigos QR Codes
A utilização do módulo PyQRCode é muito simples. Nesse primeiro exemplo, iremos gerar um QR Code com a URL do site Viva o Linux.
import PyQRCode
import png
qrcode = PyQRCode.create("https://www.vivaolinux.com.br")
# Salvar o QR Code
qrcode.png("Viva_o_Linux_QRCode.png", scale=6)
O arquivo "Viva_o_Linux_QRCode.png" foi gerado:
Podemos alterar a cor do QR Code, além da cor do pano de fundo do QR Code.
Para isso utilizamos as configurações:
- module_color=(R, G, B, Transparência) :: Define a cor do traçado do QR Code; Os valores são de 0 até 255, sendo por exemplo, um QR Code vermelho definido como module_color=(255, 0, 0, 255).
- background=(R, G, B, Transparência) :: Define a cor do pano de fundo do QR Code; Os valores são de 0 até 255, sendo por exemplo, um pano de fundo azul definido como background=(0, 0, 255, 255) .
No código abaixo, iremos gerar um QR Code com o traçado vermelho, além de outro, com o traçado vermelho e o fundo azul:
import PyQRCode
import png
qrcode = PyQRCode.create("https://www.vivaolinux.com.br")
# Salvar o QR Code com traçado vermelho
qrcode.png("Viva_o_Linux_QRCode_Vermelho.png", scale=6, module_color=(255, 0, 0, 255))
# Salvar o QR Code com traçado vermelho e fundo azul
qrcode.png("Viva_o_Linux_QRCode_Vermelho_Azul.png", scale=6, module_color=(255, 0, 0, 255), background=(0, 0, 255, 255))
Os arquivos "Viva_o_Linux_QRCode_Vermelho.png" e "Viva_o_Linux_QRCode_Vermelho_Azul.png" foram gerados:
Conclusão
Espero que esse artigo tenha ajudado os desenvolvedores com o conhecimento do QR Code, além de ter apresentado de uma forma simples como gerá-los.
Quem buscar mais informações, pode acessar o site oficial do QR Code e do módulo PyQRCode: