Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

ÍNDICE

Índice

01. VISÃO GERAL

Disponibilizar uma ferramenta para a geração de imagens em QR Code de um modo simples e eficaz.

02. EXEMPLO DE UTILIZAÇÃO

Estão disponíveis três modos para efetuar a geração da imagem em QR Code: serviçoslinha de comando ou classe utilitária.

SERVIÇOS

A execução do serviço não requer a autenticação via login no produto Datasul e também o programa ou função no qual o mesmo é invocado não precisa ter o Java instalado.

Geração do QR Code

Para a geração do QR Code com a utilização de serviços, estão disponíveis quatro endpoints, no qual retornam formas diferentes do resultado para que seja utilizado de acordo com cada necessidade.

Ação (GET)Descrição
http://<SERVIDOR>:<PORTA>/qrcode/generate/

Efetua a geração do QR Code e retorna a requisição no formato "image/png" para que seja renderizada a imagem em seu retorno.

@QueryParamDescrição
text (Obrigatório)Texto a ser convertido
border (Opcional)Tamanho da borda (em pixels), caso não seja informado, assumirá o valor padrão 2.
width (Opcional)Largura do arquivo a ser gerado (em pixels), caso não seja informado, assumirá o valor padrão 95.
height (Opcional)Altura do arquivo a ser gerado (em pixels), caso não seja informado, assumirá o valor padrão 95.
http://<SERVIDOR>:<PORTA>/qrcode/download/

Efetua a geração do QR Code e retorna a requisição para efetuar o download da imagem (o nome do arquivo baixado será qrcode.png).

@QueryParamDescrição
text (Obrigatório)Texto a ser convertido
fileName (Opcional)Nome do arquivo a ser gerado com a extensão do mesmo. Caso não seja informado, será atribuído o nome qrCode.png.
border (Opcional)Tamanho da borda (em pixels), caso não seja informado, assumirá o valor padrão 2.
width (Opcional)Largura do arquivo a ser gerado (em pixels), caso não seja informado, assumirá o valor padrão 95.
height (Opcional)Altura do arquivo a ser gerado (em pixels), caso não seja informado, assumirá o valor padrão 95.

Decodificação do QR Code

A partir da release 12.1.31, foi implementada a funcionalidade que decodifica uma imagem em QR Code e retorna o seu valor.

Ação (GET)Descrição
http://<SERVIDOR>:<PORTA>/qrcode/decodefile/

Retorna o texto que representa o QR Code. O formato de retorno está em Json, com o atributo textQRCode.

Form-data (Body)Descrição
file (Obrigatório)Arquivo de imagem QR Code a ser decodificado

Image Modified

Aviso

Devido a condições de segurança, no DTS4THF, a decodificação de QR Code utiliza uma ação POST. Já abrimos uma issue para ajustar esta condição para o JBoss.

LINHA DE COMANDO

Também está disponível a geração do arquivo QR Code por execução de uma linha de comando.

Aviso
titleAviso

Para a execução deste comando, é necessário que tenha o Java instalado (versão minima requerida 1.7) e executar o arquivo .jar disponível nesta sessão em anexo.

Os arquivos .jar (verificar anexos), devem ser incluídos na variável de ambiente CLASSPATH, para que seja possível executar o comando diretamente pelo nome da classe e setar suas respectivas dependências.

Geração do QR Code

Para gerar o arquivo no formato de QR Code diretamente pelo arquivo .jar, basta executar o comando abaixo, indicando como parâmetros o texto a ser convertido e o diretório (juntamente com o nome do arquivo).

...

Bloco de código
titleExemplo
java QrCodeRun <TEXTO_PARA_CONVERTER> <DIRETORIO_ARQUIVO> [BORDA] [LARGURA] [ALTURA]

Exemplo:
C:\>java QrCodeRun "https://dfe-portal.svrs.rs.gov.br/" "c:/qrcode/qrcode-teste.jpg"

Decodificação do QR Code

Também disponível a partir da release 12.1.31, há a possibilidade de efetuar a decodificação de uma imagem em QR Code por linha de comando.

...

Bloco de código
titleExemplo
java QrCodeRun <DIRETORIO_ARQUIVO_QRCODE> <DIRETORIO_ARQUIVO_TEXTO_DECODIFICADO>

Exemplo:
C:\>java QrCodeRun "c:/qrcode/qrcode-teste.jpg" "c:/qrcode/qrcode-teste.txt"

CLASSE UTILITÁRIA PROGRESS

Também está disponível a geração e leitura do arquivo QR Code através de uma classe utilitária do PROGRESS (com.totvs.framework.utp.qrcode.cls).

...

Bloco de código
languageruby
titleExemplo - Leitura do arquivo em tela
linenumberstrue
collapsetrue
USING com.totvs.framework.utp.qrcode FROM PROPATH.
 
DEFINE VARIABLE oQRCode AS com.totvs.framework.utp.qrcode NO-UNDO.
 
oQRCode = NEW QRCode().
 
/* Leitura de arquivo QRCode em tela */
IF oQRCode:screenDecodeQRCode() THEN
    MESSAGE oQRCode:TEXT VIEW-AS ALERT-BOX.
ELSE
    MESSAGE "ERRO:" oQRCode:TEXT VIEW-AS ALERT-BOX.

03. ANEXOS

...