Í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ços, linha 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.
| ||||||||||||
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).
|
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.
|
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).
Comando | Descrição | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
java QrCodeRun <ARGUMENTOS> | Efetua a geração do arquivo QR Code de acordo com os argumentos informados
Atenção Os argumentos 4º e 5º relacionados a largura e altura, não estão disponíveis para svg. |
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.
Comando | Descrição | ||||||
---|---|---|---|---|---|---|---|
java QrCodeRun <ARGUMENTOS> | Efetua a decodificação da imagem em QR Code para um arquivo de texto.
|
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.
Propriedades | Descrição |
---|---|
TEXT | Texto que será convertido para QRCode |
FILENAME | Diretório e nome do arquivo a ser gerado com a extensão do mesmo. |
BORDER | Tamanho da borda (em pixels), caso não seja informado, assumirá o valor padrão 2. |
WIDTH | 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. |
HEIGHT | 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. |
SERVERURL | Protocolo, 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étodos | Descriçã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. |