new QRCode()
Gerador de QR Codes.
Um QR Code funciona como um código de barras em duas dimensões. É composto por uma matriz de módulos (os "quadrados pretos"), em que cada módulo pode ser preenchido por uma cor escura ou deixado vazio. Esses módulos são exibidos sobre uma cor de fundo mais clara, e geralmente possuem uma margem de segurança para facilitar a leitura.
Os métodos desta classe permitem gerar QR Codes a partir de um conteúdo textual em uma
string ou em bytes (ArrayBuffer
ou Uint8Array
). Sequências de bytes são diretamente
convertidas para QR Code. Strings são primeiro convertidas para bytes no padrão UTF-8 para
então gerar o QR Code.
O padrão UTF-8 difere da especificação oficial, que define o ISO 8859-1 para a codificação em bytes. Na prática, no entanto, o padrão UTF-8 passou a ser largamente utilizado, e por conta disso os leitores de QR Code passaram a implementar heurísticas para identificar o padrão de codificação no momento da leitura. Caso o usuário deseje utilizar o padrão ISO 8859-1, recomenda-se passar o conteúdo já codificado em bytes nesse padrão.
Os métodos da classe também podem receber um objeto com opções para alterar detalhes da geração da imagem, como cor de preenchimento do módulo, cor de fundo, espessura da margem, tamanho da imagem, etc.
Não devem ser construídas instâncias de QRCode, e sim utilizar os métodos de classe.
Examples
const QRCode = require('@nginstack/engine/lib/barcode/QRCode.js'); const qrcode = QRCode.toDataURL(new Uint8Array([61, 62, 63]));
const qrcode = QRCode.toUint8Array('abc', { scale: 8, margin: 2 });
QRCode.toFile(content, path, { width: 128, lightColor: '#9FFAF9', darkColor: '#010000AA' });
const qrcode = QRCode.toDataURL(buffer, { lightColor: '#00000000' }); // Transparent background
Members
-
<static> ECC_HIGH :string
-
Constante do nível de correção de erro "HIGH".
Type:
- string
-
<static> ECC_LOW :string
-
Constante do nível de correção de erro "LOW".
Type:
- string
-
<static> ECC_MEDIUM :string
-
Constante do nível de correção de erro "MEDIUM".
Type:
- string
-
<static> ECC_QUARTILE :string
-
Constante do nível de correção de erro "QUARTILE".
Type:
- string
Methods
-
<static> toDataURL(content [, options])
-
Obtém uma imagem PNG do QRCode no formato Data URL.
Parameters:
Name Type Argument Description content
string | ArrayBuffer | Uint8Array Conteúdo textual a ser convertido para QR Code. Pode ser uma string ou estar codificado em bytes. Strings são convertidas para bytes no padrão UTF-8 antes de gerar o QR Code.
options
QRCodeOptions <optional>
Opções de geração da imagem (escala, margem, cores, tamanho, etc).
Returns:
Imagem PNG do QR Code no formato Data URL.
- Type
- Uint8Array
-
<static> toFile(content, path [, options])
-
Cria um arquivo de imagem PNG do QRCode.
Parameters:
Name Type Argument Description content
string | ArrayBuffer | Uint8Array Conteúdo textual a ser convertido para QR Code. Pode ser uma string ou estar codificado em bytes. Strings são convertidas para bytes no padrão UTF-8 antes de gerar o QR Code.
path
string Caminho do arquivo a ser criado.
options
QRCodeOptions <optional>
Opções de geração da imagem (escala, margem, cores, tamanho, etc).
-
<static> toUint8Array(content [, options])
-
Obtém uma imagem PNG do QRCode no formato binário.
Parameters:
Name Type Argument Description content
string | ArrayBuffer | Uint8Array Conteúdo textual a ser convertido para QR Code. Pode ser uma string ou estar codificado em bytes. Strings são convertidas para bytes no padrão UTF-8 antes de gerar o QR Code.
options
QRCodeOptions <optional>
Opções de geração da imagem (escala, margem, cores, tamanho, etc).
Returns:
Imagem PNG do QR Code no formato binário.
- Type
- Uint8Array