Class: QRCode

@nginstack/engine/lib/barcode/QRCode~ QRCode


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