Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - Imprimir código QRCODE em impressora térmica

time.pngTempo aproximado para leitura: 00:04:00 min

Dúvida
Preciso imprimir código QRCODE em impressora térmica.


Ambiente
Protheus – ADVPL – A partir da versão 11.80

Solução
As funções de impressão térmica (MSCB) não possuem um parâmetro para impressão de códigos 2D (QRCode e DataMatrix), todavia tivemos um situação onde foi realizado um tratamento para auxiliar o cliente quanto a isso, porém está foi somente uma forma de tratamento que deve ser testado e avaliado se cabe a regra e necessidade que está sendo implementada. 
A impressora que utilizamos no teste é uma ZEBRA modelo S600. Para gerar o QRCODE utilizamos a função FwQrCode.

FWQRCODE
Por padrão o QRCode gerado é gravado como imagem na pasta TEMP do próprio Windows, em debug da função poderá ser visualizado no objeto uma propriedade onde está instanciado o diretório onde é gravada a imagem. 
Em nosso caso para realizar a conversão é necessário que a imagem esteja em qualidade 16 bits monocromático pois é uma exigência da própria impressora, utilizamos o Paint do Windows para realizar essa modificação salvando a mesma na qualidade descrita e já redimensionando o tamanho. 
Iremos utilizar essa imagem que geramos após os processos anteriores na impressão, primeiramente devemos realizar a conversão para o formato em que a impressora irá reconhecer, em nosso caso com a extensão *.GRF. 
Para conversão deve-se utilizar um Studio disponibilizado pela própria fabricante da impressora ou algum programa específico que tenha essa função. 
Após obter a imagem com a extensão correta a mesma deverá ser salva no diretório system do RootPath nomeada com a extensão referente. 

Utilizamos o fonte abaixo para efetuar a impressão:

#Include "TOTVS.ch"
#Include "TBICONN.ch"
#Include "TBICODE.ch"

User Function ImpQRCod()
Local cPorta := "LPT1"
Local cModelo := "ZEBRA"

    MSCBPrinter(cModelo, cPorta, NIL, NIL, .F., NIL, NIL, NIL, , NIL, .F.) // CONFIGURAÇÃO DA IMPRESSORA
    MSCBChkStatus(.F.) // VERIFICA STATUS DA IMPRESSORA
    MSCBLoadGRF("NOME.GRF") // CARREGA IMAGEM NA MEMÓRIA DA IMPRESSORA

    MSCBBegin(1, 6) // INICIA A IMPRESSÃO
        MSCBGrafic(10, 8, "NOME") // IMPRESSÃO DE ARQUIVO NA MEMÓRIA
    MSCBEnd() // FINALIZA IMPRESSÃO

    MSCBClosePrinter() // FINALIZA CONEXÃO COM A IMPRESSORA

Return (NIL)

  • Na conversão deve-se atentar ao tamanho da imagem com o tamanho da etiqueta.
  • Existe a função MSCBWrite  que também pode ser utilizada no processo de impressão onde existe a possibilidade de modificar algumas informações da imagem via linguagem da impressora.
  • Reforçamos que o procedimento sugerido é um paliativo, por padrão as funções de impressão térmica (MSCB) não suportam impressão de códigos 2D.
Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _