Geração de QR Code usando Crystal Reports

Este tutorial não é especificamente sobre o Latromi, mas como esta é um situação muito comum e o Latromi possui integração com o SAP Crystal Reports, vou mostrar como criar um RPT (Relatório do Crystal Reports) usando QR Code.

DLL para o Crystal Reports

O Crystal Reports não possui suporte nativo à geração de QR Code, mas possui suporte a DLL’s desenvolvidas em outras plataformas, que podem expandir o conjunto padrão de Funções.

A Latromi desenvolveu a DLL CRUFL_Latromi.dll usando .NET, que é compatível com o Crystal Reports, e contém duas funções para geração de Código de Barras:

  • LatromiBarCodeInt2of5 (data, height, scale)
  • LatromiBarCodeQRCode (data, size, margin)

Para gerar o QR Code, vamos usar a função LatromiBarCodeQRCode.

Arquivo Temporários

Os arquivo temporários gerados pela DLL ficam no diretório: %temp%\LATROMI\CRUFL\

Licença

A utilização dessa DLL está sujeita aos termos de uso das suas dependências:

Instalação

Antes de utilizar, é necessário baixar e instalar a DLL. Siga os passos abaixo:

  1. Baixe o arquivo LatromiCRLib.zip.
  2. Extraia os arquivos em uma pasta.
  3. Execute o arquivo Install.bat como Administrador.
    image

Crystal Reports

Agora vamos utilizar a função de geração de QR Code em um Relatório do Crystal Reports.

Novo Relatório

Para começar, abra a IDE do SAP Crystal Reports e Crie um novo Relatório.

Configure a Fonte de Dados do Relatório. Neste exemplo, estou usando um Comando SQL com uma coluna chamada “site”, que contém a URL do site da Latromi.

SELECT
 'https://latromi.com.br' AS site

Implementando QR Code

A implementação do QR Code consiste em adicionar uma imagem qualquer no Relatório, e trocar o caminho dela pelo caminho da imagem do QR Code usando uma Fórmula. Isso acontece durante a geração do relatório.

O primeiro passo então, é adicionar uma imagem qualquer no Relatório.

  1. Acesse o menu “Inserir → Imagem…”
  2. Selecione uma imagem qualquer e clique em OK. Procure usar uma imagem com as mesmas dimensões do QR Code que você deseja gerar, para manter a proporção dentro do Relatório.

image

Agora clique com o botão direito do mouse sobre a imagem, vá até a opção “Formatar Gráfico…”. Em seguida selecione a aba “Imagem”, e clique no botão de Fórmula no campo “Local do Gráfico”.

image

No editor de Fórmulas, você vai encontrar a função LatromiBarCodeQRCode no explorador de Funções, no caminho “Funções → Funções Adicionais → UFLs do Visual Basic (u2lcom.dll)”.

Agora basta chamar a função, passando os parâmetros:

  • data: Texto que será transformado em QR Code.
  • size: Tamanho do QR Code em pixels.
  • margin: Espessura da margem em pixels

image.

Pronto! Basta executar o relatório para confererir o resultado:

image

1 Curtida

Olá Daniel. É possível executar em um server sem ter o Crystal Reports instalado? Testei e minha aplicação está crashando quando mando executar o crviewer em um .rpt com a CRUFL.
Localmente roda tranquilo.
Obrigado.

Olá @jamildomitneto.
Seja bem vindo a comunidade.

Além dos arquivos para geração do QR Code, é necessário ao menos ter o runtime do Crystal Reports instalado no computador onde o relatório será gerado.

No caso do LATROMI, os relatórios são gerado através de um Web Service, e neste caso, os arquivos e o runtime precisam estar instalados apenas no servidor.

Ola tudo certo? E me diz uma coisa como é possivel fazer a distribuição dessa DLL junto com a aplicação ?

Olá @Angelo_Stevanelli, seja bem vindo a nossa comunidade!

  • Se você está se referindo a distribuição junto aos Pacotes LCP do LATROMI:

    • Não há suporte. Você precisa instalar as DLL’s no servidor manualmente ou usando algum instalador separado.
  • Se você está se referindo a distribuição junto à outro Software:

    • Adicione os arquivos extraídos no instalador, e ao final da instalação chame o arquivo .bat para registrar os arquivos.

      Ou então, replique os comandos do arquivo .bat para outra linguagem que seja suportada pelo seu Instalador.

No Crystal 10.0.5 não é possível fazer isso né?

Seja bem vindo a comunidade @Daniel_Paixao!

Testamos utilizando o Crystal Reports 2008 para desenvolvimento do RPT e o Runtime ≥ 13 para geração dos relatórios.

Não testamos em outras versões.