QRCOD NA Q3X NITERE

 Tópico anterior Próximo tópico Novo tópico

QRCOD NA Q3X NITERE

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#490253 - 30/08/2019 10:04:08

MFLAVIO
CAMPINAS
Cadast. em:Maio/2009


Bom dia pessoal,
estou com dificuldades para imprimir o QRCOD na Impressora Q3x da Nitere

depois de muito, pesquisar descobri que essa bendita Impressora usa um padrão chamado CustomPOS e não Esc/POS, e tipo o BemaPOS da Bematech

depois de muito correr atrás de alguma tipo de ajuda, um tecnico da Nitere me passou o seguinte email

"Para Imprimir o Qrcod segue os comandos abaixo
1B 61 31 - Centralizar

1D 28 6B 03 00 31 41 00 - Seleciona QR Code Normal.

1D 28 6B 03 00 31 42 04 - Seleciona o tamanho 04.

1D 28 6B 03 00 31 43 03 - Seleciona a versão do QR Code.

1D 28 6B 03 00 31 45 00 - Seleciona o nível de correção do código de erros.

1D 28 6B 67 00 31 50 31 30 31 32 33 34 35 36 37 38 39 30 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 21 22 A3 24 25 26 2F 28 29 3D 3F E9 2A E7 B0 A7 3B 3A 5F 2D 7C 5C 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 - Conteúdo do QR Code
O Valor 67 00 refere-se ao tamanho do buffer de mensagem + 3 bytes = neste caso são 100 caracteres + 3 = 103 que em hexa significa 67

1D 28 6B 03 00 31 51 31 - imprime o QR Code acima.

0A 0A 0A - salta três linhas. (opcional)

1B 69 - corta o papel. (opcional)

1B 40 - limpa as configurações.(opcional)

Sem os comentários acima, o arquivo em Hexa fica assim:

1B 61 31 1D 28 6B 03 00 31 41 00 1D 28 6B 03 00 31 42 04 1D 28 6B 03 00 31 43 03 1D 28 6B 03 00 31 45 00 1D 28 6B 67 00 31 50 31 30 31 32 33 34 35 36 37 38 39 30 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 21 22 A3 24 25 26 2F 28 29 3D 3F E9 2A E7 B0 A7 3B 3A 5F 2D 7C 5C 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 3637 38 39 30 31 32 33 34 35 36 37 38 39 1D 28 6B 03 00 31 51 31 0A 0A 0A 1B 69 1B 40

Sem mais, tenha um bom dia"

depois desse email fiquei foi mais perdido kkkk

mais tentei, imprimir com o seguinte código
Private Function PrintQRCode(ByVal Codigo As String) As String
        Dim Cmd As String
        Dim iHigh, iLow As Integer
        Dim Modelo, Modulo, Correcao As Integer
        Static bTamanho As Byte

        iHigh = (Codigo.Length + 3) / 256
        iLow = (Codigo.Length + 3) Mod 256
        bTamanho = LeArquivoINI(nome_arquivo_ini, "posesc", "qrcodtamanho", 4)

        Modelo = 50 '49 - Modelo 1, 50 - Modelo 2
        Modulo = bTamanho  ' 5 'Tamanho do Módulo do QRCode (altera o tamanho do código), varia de 1 a 16
        Correcao = 0 'Nível de correção do QRCode: 48 - Nível L, 49 - Nível M, 50 - Nível Q, 51 - Nível H

        Cmd = Chr(1D) + Chr(28) + Chr("6B") + Chr(3) + Chr(0) + Chr(31) + Chr(41) + Chr(0) 'SELECIONA QR COD NOMRAL
        Cmd = Cmd + Chr(1D) + Chr(28) + Chr("6B") + Chr(3) + Chr(0) + Chr(31) + Chr(42) + Chr(Modulo) 'TAMANHO
        Cmd = Cmd + Chr(1D) + Chr(28) + Chr("6B") + Chr(3) + Chr(0) + Chr(31) + Chr(43) + Chr(3)
        Cmd = Cmd + Chr(1D) + Chr(28) + Chr("6B") + Chr(3) + Chr(0) + Chr(31) + Chr(45) + Chr(Correcao)

        Cmd = Cmd + Chr(1D) + Chr(28) + Chr("6B")
        Cmd = Cmd + Chr(iLow) + Chr(iHigh)
        Cmd = Cmd + Chr(49) + Chr(80) + Chr(48)
        Cmd = Cmd + Codigo

        Cmd = Cmd + Chr(1D) + Chr(28) + Chr("6B") + Chr(3) + Chr(0) + Chr(31) + Chr(51) + Chr(31)
        'Cmd = Cmd + Chr(12)

        Return Cmd

    End Function  


mais sempre que chega no "6B" da erro Not Integer
aceita o 1D mais o 6B não

alguma dica?

Deus e o maior dos Programadores, ele criou tudo em liguagem visual
                                           .... e viu Deus que era bom


#490254 - 30/08/2019 10:45:59

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
O sufixo "D" denota um valor em "Double", por isso você não tem erro e provavelmente por isso está dando errado. Já tentou passer o comando como string literal ao invés de "chr"?

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#490256 - 30/08/2019 11:38:12

FUTURA
.
Cadast. em:Maio/2004


Por isso que gero o qrcode no sistema, e mando por imagem para a impressora, assim não preciso ficar configurando esc/pos de acordo com fabricante.



#490264 - 30/08/2019 14:56:36

MFLAVIO
CAMPINAS
Cadast. em:Maio/2009


 Anexos estao visíveis somente para usuários registrados

Citação:
:
O sufixo "D" denota um valor em "Double", por isso você não tem erro e provavelmente por isso está dando errado. Já tentou passer o comando como string literal ao invés de "chr"?

ja sim olha como sai a impressão




Deus e o maior dos Programadores, ele criou tudo em liguagem visual
                                           .... e viu Deus que era bom


#490265 - 30/08/2019 15:54:31

OCELOT
SOROCABA
Cadast. em:Março/2012


O que parece é que estes números estão em hexadecimal, ou você converte eles pra decimal primeiro ou usa com o prefixe &H
Cmd = Chr(&H1D) + Chr(&H28) + Chr(&H6B) + Chr(&H3) + Chr(&H0) + Chr(&H31) + Chr(&H41) + Chr(&H0) 'SELECIONA QR COD NOMRAL

Do 0 ao 9 na verdade não faz diferença, mas já que tudo o resto usa não tem porque não usar também



#490582 - 02/10/2019 15:08:07

MFLAVIO
CAMPINAS
Cadast. em:Maio/2009


Bom voltei novamente
para essa bendita impressora

e continuo não conseguindo imprimir os QRcod, Suporte não da Solução

estou usando seguinte bloco para tentar imprimir
  Private Function PrintQRCode(ByVal Codigo As String) As String

        'teste direto
        Cmd = Chr(&H1B) + Chr(&H61) + Chr(&H31) 'CENTRALIZA

        Cmd = Cmd + Chr(&H1D) + Chr(&H28) + Chr(&H6B) + Chr(&H3) + Chr(&H0) + Chr(&H31) + Chr(&H41) + Chr(&H0) 'SELECIONA QRCOD
        Cmd = Cmd + Chr(&H1D) + Chr(&H28) + Chr(&H6B) + Chr(&H3) + Chr(&H0) + Chr(&H31) + Chr(&H42) + Chr(&H4) 'TAMANHO QRCOD
        Cmd = Cmd + Chr(&H1D) + Chr(&H28) + Chr(&H6B) + Chr(&H3) + Chr(&H0) + Chr(&H31) + Chr(&H43) + Chr(&H3) 'SELECIONA VERSÃO
        Cmd = Cmd + Chr(&H1D) + Chr(&H28) + Chr(&H6B) + Chr(&H3) + Chr(&H0) + Chr(&H31) + Chr(&H45) + Chr(&H0) 'NIVEL DE COREÇÃO
        Cmd = Cmd + Chr(&H1D) + Chr(&H28) + Chr(&H6B) + Chr(&H67) + Chr(&H0) + Chr(&H31) + Chr(&H50) + Chr(&H31) 'CONTEUDO1
        Cmd = Cmd + Chr(&H30) + Chr(&H31) + Chr(&H32) + Chr(&H33) + Chr(&H34) + Chr(&H35) + Chr(&H36) + Chr(&H37) 'CONTEUDO2
        Cmd = Cmd + Chr(&H38) + Chr(&H39) + Chr(&H30) + Chr(&H61) + Chr(&H62) + Chr(&H63) + Chr(&H64) + Chr(&H65) 'CONTEUDO3
        Cmd = Cmd + Chr(&H66) + Chr(&H67) + Chr(&H68) + Chr(&H69) + Chr(&H6A) + Chr(&H6B) + Chr(&H6C) + Chr(&H6D) 'CONTEUDO4
        Cmd = Cmd + Chr(&H6E) + Chr(&H6F) + Chr(&H70) + Chr(&H71) + Chr(&H72) + Chr(&H73) + Chr(&H74) + Chr(&H75) 'CONTEUDO5
        Cmd = Cmd + Chr(&H76) + Chr(&H77) + Chr(&H78) + Chr(&H79) + Chr(&H7A) + Chr(&H21) + Chr(&H22) + Chr(&HA3) 'CONTEUDO6
        Cmd = Cmd + Chr(&H24) + Chr(&H25) + Chr(&H26) + Chr(&H2F) + Chr(&H28) + Chr(&H29) + Chr(&H3D) + Chr(&H3F) 'CONTEUDO7
        Cmd = Cmd + Chr(&HE9) + Chr(&H2A) + Chr(&HE7) + Chr(&HB0) + Chr(&HA7) + Chr(&H3B) + Chr(&H3A) + Chr(&H5F) 'CONTEUDO8
        Cmd = Cmd + Chr(&H2D) + Chr(&H7C) + Chr(&H5C) + Chr(&H39) + Chr(&H30) + Chr(&H31) + Chr(&H32) + Chr(&H33) 'CONTEUDO9
        Cmd = Cmd + Chr(&H34) + Chr(&H35) + Chr(&H36) + Chr(&H37) + Chr(&H38) + Chr(&H39) + Chr(&H30) + Chr(&H31) 'CONTEUDO10
        Cmd = Cmd + Chr(&H32) + Chr(&H33) + Chr(&H34) + Chr(&H35) + Chr(&H36) + Chr(&H37) + Chr(&H38) + Chr(&H39) 'CONTEUDO11
        Cmd = Cmd + Chr(&H30) + Chr(&H31) + Chr(&H32) + Chr(&H33) + Chr(&H34) + Chr(&H35) + Chr(&H36) + Chr(&H37) 'CONTEUDO12
        Cmd = Cmd + Chr(&H38) + Chr(&H39)  'CONTEUDO13

        Cmd = Cmd + Chr(&H1D) + Chr(&H28) + Chr(&H6B) + Chr(&H3) + Chr(&H0) + Chr(&H31) + Chr(&H51) + Chr(&H31) 'IMPRIME
        Cmd = Cmd + Chr(&HA) + Chr(&HA) 'PULA 2 LINHAS
        Cmd = Cmd + Chr(&H1B) + Chr(&H40) 'LIMPA

        Return Cmd

    End Function


e não imprime nada
se alguem tiver alguma dica dessa Impressora ja estou desesperado kkkkk

Deus e o maior dos Programadores, ele criou tudo em liguagem visual
                                           .... e viu Deus que era bom


#490583 - 02/10/2019 15:41:51

FUTURA
.
Cadast. em:Maio/2004


Vc ta usando vb.net ou vb6 ?, não vira gerar a imagem e enviar ?, eu faço isso, tanto com a barra, como o qr-code, assim, fica padrão pra qq impressora térmica..



 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário