Árvore de páginas

Í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



Devido a condições de segurança, no DTS4THF, a decodificação de QR Code utiliza uma ação POST.

LINHA DE COMANDO

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

Aviso

Para a execução deste comando, é necessário que tenha o Java instalado (versão mínima 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).


ComandoDescrição
java QrCodeRun <ARGUMENTOS>

Efetua a geração do arquivo QR Code de acordo com os argumentos informados

<ARGUMENTOS>Descrição
1º (Obrigatório)Texto a ser convertido.
2º (Obrigatório)Diretório e nome do arquivo a ser gerado com a extensão do mesmo.
3º (Opcional)Tamanho da borda (em pixels), caso não seja informado, assumirá o valor padrão 2.
4º (Opcional)Largura do arquivo a ser gerado (em pixels). Para ser informado, é obrigatório que seja enviado o 3º argumento. Caso não seja parametrizado, assumirá o valor padrão 95.
5º (Opcional)Altura do arquivo a ser gerado (em pixels). Para ser informado, é obrigatório que seja enviado o 3º e 4º argumento. Caso não seja parametrizado, assumirá o valor padrão 95.

Atenção

Os argumentos e relacionados a largura e altura, não estão disponíveis para svg.



Exemplo
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.


ComandoDescrição
java QrCodeRun <ARGUMENTOS>

Efetua a decodificação da imagem em QR Code para um arquivo de texto.

<ARGUMENTOS>Descrição
1º (Obrigatório)

Arquivo de imagem em QR Code.

Deve-se inserir o endereço completo do diretório (inclusive o nome do arquivo com seu formato).

Nota

Caso o arquivo e/ou diretório não esteja disponível, será executado o processo de codificação (geração do QR Code).

2° (Obrigatório)Arquivo destino onde será gravado o texto decodificado. 



Exemplo
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 pela classe utilitária do PROGRESS (com.totvs.framework.utp.qrcode.cls).

Nota

Para ouso deste utilitário, é necessário a instalação mínima do Progress 11.7.5.

Essa classe, internamente, utilizará o serviço REST já descrito acima.



PropriedadesDescrição
TEXT

Texto que será convertido para QRCode

FILENAMEDiretório e nome do arquivo a ser gerado com a extensão do mesmo.
BORDERTamanho da borda (em pixels), caso não seja informado, assumirá o valor padrão 2.
WIDTHLargura do arquivo a ser gerado (em pixels). Para ser informado, é obrigatório que seja enviado o 3º argumento. Caso não seja parametrizado, assumirá o valor padrão 95.
HEIGHTAltura do arquivo a ser gerado (em pixels). Para ser informado, é obrigatório que seja enviado o 3º e 4º argumento. Caso não seja parametrizado, assumirá o valor padrão 95.
SERVERURLProtocolo, servidor e porta utilizada para a request responsável por gerar/ler o QRCode (por exemplo: http://server:8180). Caso não seja informada, utilizará as informações padrões que foram parametrizadas no Datasul.
MétodosDescrição
generateFile()

Método responsável em gerar o arquivo do QRCode. Não possuí parâmetros. Retorna TRUE em caso de sucesso e FALSE em caso de erro.

decodeFile()Método responsável em retornar o texto do arquivo do QRCode. Não possuí parâmetros. Retorna TRUE em caso de sucesso e FALSE em caso de erro.
screenDecodeQRCode()Método responsável por abrir um aplicativo para capturar a imagem do QRCode em tela.





EXEMPLOS

Exemplo - Geração do arquivo
USING com.totvs.framework.utp.qrcode FROM PROPATH.
 
DEFINE VARIABLE oQRCode AS com.totvs.framework.utp.qrcode NO-UNDO.
 
oQRCode = NEW QRCode().
 
/* Geração do QRCode */
oQRCode:TEXT = "Teste QRCode".
oQRCode:FILENAME = "c:\temp\qrcode.jpg".
 
IF oQRCode:generateFile() THEN
    MESSAGE "ARQUIVO GERADO: " oQRCode:FILENAME VIEW-AS ALERT-BOX.
ELSE
    MESSAGE "ERRO:" oQRCode:TEXT VIEW-AS ALERT-BOX.
Exemplo - Leitura do arquivo
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 */
ASSIGN oQRCode:TEXT = "".
oQRCode:FILENAME = "c:\temp\qrcode.jpg".
 
IF oQRCode:decodeFile() THEN
    MESSAGE oQRCode:TEXT VIEW-AS ALERT-BOX.
ELSE
    MESSAGE "ERRO:" oQRCode:TEXT VIEW-AS ALERT-BOX.
Exemplo - Leitura do arquivo em tela
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