Códigos QR

É possível criar um código QR rapidamente com uma solicitação GET de URL.

Informações gerais

Os códigos QR são um tipo popular de código de barras em duas dimensões. Eles também são conhecidos como links fixos ou hiperlinks de mundos físicos. Os códigos QR armazenam até 4.296 caracteres alfanuméricos de texto arbitrário. Esse texto pode ser qualquer coisa, como URL, informações de contato, número de telefone e até mesmo um poema. Os códigos QR podem ser lidos por um dispositivo óptico com o software adequado. Esses dispositivos vão de leitores de código QR dedicados a smartphones.

Sintaxe

URL raiz:https://chart.googleapis.com/chart?

As solicitações de código QR são compatíveis com os seguintes parâmetros de consulta de URL após o ? no URL raiz:

Parâmetro Obrigatório ou opcional Descrição
cht=qr Obrigatório Especifica um código QR.
chs=<width>x<height> Obrigatório Tamanho da imagem.
chl=<data> Obrigatório Os dados a serem codificados. Os dados podem ser dígitos (0 a 9), caracteres alfanuméricos, bytes binários de dados ou Kanji. Não é possível misturar tipos de dados em um código QR. Os dados devem ser codificados para URL UTF-8. Os URLs têm um tamanho máximo de 2.000 bytes. Portanto, se você quiser codificar mais de 2.000 bytes (menos os outros caracteres de URL), será necessário enviar os dados usando POST.
choe=<output_encoding> Opcional Como codificar os dados no código QR. Veja os valores disponíveis:
  • UTF-8 [Padrão]
  • Shift_JIS
  • ISO-8859-1
chld=<error_correction_level>|<margin> Opcional
  • error_correction_level: os códigos QR são compatíveis com quatro níveis de correção de erros para permitir a recuperação de dados ausentes, incorretos ou ocultos. É possível conseguir mais redundância mas armazenar menos dados. Consulte o apêndice para mais detalhes. Veja os valores aceitos:
    • L: [Padrão] permite a recuperação de até 7% de perda de dados
    • M: permite a recuperação de até 15% da perda de dados
    • Q: permite a recuperação de até 25% da perda de dados
    • H: permite a recuperação de até 30% da perda de dados
  • margin: a largura da borda branca ao redor da parte de dados do código. Ele está em linhas, não em pixels. Veja abaixo o que são linhas em um código QR. O valor padrão é 4.

 

Exemplo:

Código QR
cht=qr
chl=Hello+world
choe=UTF-8

Detalhes do código QR [leitura opcional]

Veja um pouco mais sobre como os códigos QR funcionam. Não é necessário saber isso para gerar um código QR.

Os códigos QR são quadrados, com um número igual de linhas e colunas. Há um conjunto fixo de tamanhos de códigos QR: de 21 a 177 linhas/colunas, que aumentam em quatro passos. Cada configuração é chamada de versão. Quanto mais linhas/colunas houver, mais dados o código poderá armazenar. Veja um resumo das versões:

  • A versão 1 tem 21 linhas e 21 colunas e pode codificar até 25 caracteres alfanuméricos
  • A versão 2 tem 25 linhas e 25 colunas e pode codificar até 47 caracteres alfanuméricos
  • A versão 3 tem 29 linhas e 29 colunas e pode codificar até 77 caracteres alfanuméricos
  • ...
  • A versão 40 tem 177 linhas e 177 colunas e pode codificar até 4.296 caracteres alfanuméricos

Não confunda o número de linhas e colunas com o tamanho da imagem do código QR. O tamanho do pixel do código é determinado usando chs, como de costume.

A API determina qual versão usar, com base na quantidade de dados fornecidos.

A versão adequada do código QR será retornada dependendo do número de caracteres fornecidos. Por exemplo, se você fornecer 55 caracteres alfanuméricos, vai receber um código QR da versão 3, embora isso possa mudar se você especificar um nível de correção de erro (EC) explicitamente usando o parâmetro chld.

Antes de gerar o código QR, considere que tipo de dispositivo é usado para ler o código: os melhores leitores de código QR conseguem ler os códigos da versão 40, e os dispositivos móveis só conseguem ler até a versão 4.

A tabela a seguir resume as características de algumas versões:

Versão Linhas x colunas Nível de CE Máximo de caracteres por nível de CE e tipo de caractere
Dígitos: 0 a 9 Alfanuméricos:
0 a 9, A a Z,
espaço, $ % * + - . / :
Binário Kanji
1 21 x 21 L 41 25 17 10
M 34 20 14 8
P 27 16 11 7
H 17 10 7 4
2 25 x 25 L 77 47 32 20
M 63 38 26 16
P 48 29 20 12
H 34 20 14 8
3 29 x 29 L 127 77 53 32
M 101 61 42 26
P 77 47 32 20
H 58 35 24 15
4 33 x 33 L 187 114 78 48
M 149 90 62 38
P 111 67 46 28
H 82 50 34 21
10 57 x 57 L 652 395 271 167
M 513 311 213 131
P 364 221 151 93
H 288 174 119 74
40 177 x 177 L 7,089 4,296 2,953 1,817
M 5,596 3,391 2,331 1,435
P 3,993 2,420 1,663 1.024
H 3.057 1,852 1,273 784

Outras informações e padrões

O padrão de código QR é marca registrada da Denso Wave, Inc.

A ISO vende a especificação em inglês no site da empresa. A versão japonesa é sem custo financeiro.

Os padrões de código QR são aprovados como:

  • Padrão da AIM International (Automatic Identification Manufacturers International) (ISS, na sigla em inglês) em outubro de 1997.
  • Padrão da JEIDA-55 (Associação Japonesa de Desenvolvimento da Indústria Eletrônica) em março de 1998.
  • Padrão da JIS x 0510, pela JIS (Japanese Industrial Standards), em janeiro de 1999.
  • Padrão internacional do ISO (ISO/IEC18004), em junho de 2000.

O software leitor de código QR está disponível em muitas fontes. O Google oferece sem custo financeiro uma biblioteca de leitura de código QR, a Zebra Crossing (ZXing). Consulte http://code.google.com/p/zxing/ para mais detalhes.

Consulte Conteúdo do código de barras para ver um guia básico sobre a codificação padrão de informações em códigos de barras