Um Código de Resposta Rápida ou QR Code é um código de barras bidimensional usado por sua legibilidade rápida e capacidade de armazenamento comparativamente grande. Consiste em quadrados pretos dispostos em uma grade quadrada em um fundo branco.

Python tem uma biblioteca “ qrcode ” para gerar imagens de código QR. Ele pode ser instalado usando pip.

pip install qrcode

Abordagem:

  • Módulo de importação
  • Crie Qrcode com qrcode.make()  e retorna um objeto PilImage.
  • Salvar na imagem

Sintaxe:

qrcode.make ('Dados a serem codificados')

Exemplo 1:



import qrcode 
data = 'QR Code using make() fuction'
img = qrcode.make(data) 
img.save('MyQRCode1.png')

Resultado:

Exemplo 2:

Também podemos usar a classe QRCode para criar um código QR e alterar seus detalhes. Leva os seguintes parâmetros:

  • Versão: Este parâmetro é um número inteiro de 1 a 40 que controla o tamanho do QR Code (o menor, versão 1, é uma matriz 21 × 21).
  • error_correction:   Este parâmetro controla a correção de erros usada para o QR Code. Existem as seguintes quatro constantes disponíveis para isso:
    • qrcode.constants.ERROR_CORRECT_L : Cerca de 7% ou menos erros podem ser corrigidos.
    • qrcode.constants.ERROR_CORRECT_M (padrão) : Cerca de 15% ou menos erros podem ser corrigidos.
    • qrcode.constants.ERROR_CORRECT_Q : Cerca de 25% ou menos erros podem ser corrigidos.
    • qrcode.constants.ERROR_CORRECT_H : Cerca de 30% ou menos erros podem ser corrigidos.
  • box_size: Este parâmetro controla quantos pixels cada “caixa” do código QR tem.
  • border: O parâmetro border controla quantas caixas de espessura a borda deve ter (o padrão é 4, que é o mínimo na especificação).
  • add_data(): este método é usado para adicionar dados ao objeto QRCode. Leva os dados a serem codificados como um parâmetro.
  • make(): Este método com (fit = True) garante que toda a dimensão do QR Code seja utilizada, mesmo que nossos dados de entrada possam caber em menos caixas.
  • make_image(): Este método é usado para converter o objeto QRCode em um arquivo de imagem. Leva os fill_color e back_color parâmetros opcionais para definir a cor de primeiro plano e plano de fundo.

Abaixo está a implementação:

import qrcode 
data = "GeeksforGeeks"
qr = qrcode.QRCode(version = 1, 
                   box_size = 10, 
                   border = 5) 
qr.add_data(data) 
  
qr.make(fit = True) 
img = qr.make_image(fill_color = 'red', 
                    back_color = 'white') 
  
img.save('MyQRCode2.png')

Resultado :