Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2140 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde a todos, estou com uma dúvida, podem me ajudar? Estou com os fontes do ACBr de 08/07/2015, configurei no ACBrPosPrinter o modo ppEscElgin para imprimir numa impressora Elgin i9 e a impressão saiu parecida ou igual ao modo ppTexto. Por curiosidade troquei o modo para ppEscPosEpson e a impressão saiu perfeita com QrCode e tudo mais. Apenas gostaria de saber se o pessoal está ou não usando o modo ppEscElgin para impressora Elgin i9. Grato a todos.

Postado

Daniel, vc sabe porque mesmo utilizando o ppEscPosEpson, é impresso tudo corretamente na Elgin i9, menos o código de barras,

até o QRCODE está imprimindo, mas o código de barras já tentei de tudo, até criei uma unit separada só pra Elgin (ACBrEscElgin.pas), e 

testei todos os comandos possíveis, mas sem sucesso. Se tiver algum sugestão fico grato. Abraço!

 

Postado

Sem chance, o código utilizado foi este (tentei utilizar também L := 2 ou L := 1):

function TACBrEscElgin.ComandoCodBarras(const ATag: String;
  ACodigo: AnsiString): AnsiString;
var
  ACodBar, Cmd128, cChr: AnsiString;
  L, A, M, nCount, nChr : Integer ;
{
  L, A, M : Integer ;
  CmdBarCode: Char;
  ACodBar, Cmd128: AnsiString;
}
begin

  with fpPosPrinter.ConfigBarras do
  begin
    L := IfThen( LarguraLinha = 0, 3, max(min(LarguraLinha,4),1) );
    A := IfThen( Altura = 0, 50, max(min(Altura,255),1) );
    M := IfThen( MostrarCodigo, 2, 0 );
  end ;

  Cmd128 := #29 + 'h' + Chr( A ) + // Altura
            #29 + 'w' + Chr( L ) + // Largura
            #29 + 'H' + IntToStr( M ) + // HRI (numero impresso abaixo do cod.barras, H0 = INIBE, H2 = MOSTRA)
            #29 + #107 + #73 + #24 + '{C' ;

  For nCount := 0 To 10 do
  begin
     cChr := Copy( ACodigo, (nCount * 2) + 1, 2 );
     nChr := StrToInt( cChr );
     ACodBar := ACodBar + Chr( nChr );
  end ;

  Result := Cmd128 + ACodBar ;

end;

  • Fundadores
Postado

Não compreendi... conforme já foi dito antes... para o modelo ELGIN I9, é necessário usar: ppEscPosEpson

Vários usuários aqui do fórum já usam a ELGIN I9, com sucesso... (com o modelo ppEscPosEpson)... Use a busca do fórum e confira...

Verifique se a impressora está configura para modo EscPos

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado

Bom dia Daniel!

Opa, com certeza, utilizei o ppEscPosEpson, e como não tive sucesso, criei esta outra unit como laboratório.

Com relação a busca no fórum, foi o que eu mais fiz, e nada me apontou algo que possa resolver esta situação.

Não sei se existe alguma influência, mas eu uso ela acessando via mapeamento no windows (\\127.0.0.1\ELGIN).

Achei um programa em Clipper, ao utilizá-lo, tive a surpresa de que funciona perfeitamente, e ele realmente foi 

desenvolvido para uma EPSON TM-T20, e esta mesma programação foi compatível com a Elgin i9, imprimiu tanto

o código de barras como o qrCode.

Seque a impressão pelo ACBR, usando EscPos e configurado como ppEscPosEpson, mas imprimindo na Elgin.

Veja que não imprime o código de barras, e o corte do papel é feito em cima do qrCode.

O mesmo acontece utilizando o programa de exemplo SATTeste, disponível na pasta ACBR\Exemplos\ACBrSAT\Delphi

Realmente, até o momento está inexplicável, e entendo quando vc diz que em outros usuários está funcionando 

perfeitamente, já passei por isto muitas vezes na vida, e sempre surge uma nova e inesperada surpresa.

Se tiver mais alguma sugestão, fico agradecido.

Abraço!

EXTRATO_SAT.png

Postado

Se vc estivesse aqui na capital de SP, poderia marcar um dia pra que eu levasse um equipamento até vc.

Mas ao que vi, vc está em Tatuí, aí já torna-se mais complicado.

Mas de qualquer forma agradeço pela atenção e esforço.

Abraço!

  • Membros Pro
Postado

Boa tarde Emerson, tudo bem?

Estou com uma impressora dessas aqui para testes.

O que eu percebi é que você deve mexer na altura do código de barras, pois se deixar zero, não imprime mesmo.

Vou dar uma olhada no código da EscEpson pra ver se tem alguma coisa divergente para esse modelo de impressora, e aviso.

No entanto, por enquanto a melhor forma de você é fazer como eu disse acima, aumenta a altura do código de barras que ele começa a ser impresso.

Postado

Ronaldo, Ricardo, gostaria de agradece-los pela preocupação e a tentativa em me ajudar.

Finalmente achei onde estava a diferença.

Primeiro fato, realmente configurando como Epson, não funciona de forma alguma.

Segundo, o que estava de errado no meu código éra a relação entre a informação do número de bytes do código de barras, 

e o código de barras em si.

Então o código ficou basicamente assim:

 

function TACBrEscElgin.ComandoCodBarras(const ATag: String;
  ACodigo: AnsiString): AnsiString;
var
  ACodBar, CmdBarCode: AnsiString;
  L, A, M, nCount: Integer ;
begin

  with fpPosPrinter.ConfigBarras do
  begin
    L := IfThen( LarguraLinha = 0, 2, max(min(LarguraLinha,4),1) );
    A := IfThen( Altura = 0, 50, max(min(Altura,255),1) );
    M := IfThen( MostrarCodigo, 2, 0 );
  end ;

  CmdBarCode := 'I' + Chr( ( Length( ACodigo ) div 2 ) + 2 ) + '{C'

  nCount := 1 ;
  while nCount < Length( ACodigo ) do
  begin
     ACodBar := ACodBar + Chr( StrToInt( Copy( ACodigo, nCount, 2 ) ) ) ;
     nCount := nCount + 2 ;
  end ;

  Result := GS + 'h' + Chr( A ) + // Altura
            GS + 'w' + Chr( L ) + // Largura
            GS + 'H' + IntToStr( M ) + // HRI (numero impresso abaixo do cod.barras)
            GS + 'k' + CmdBarCode + ACodBar;

end;

 

Como podem ver, os dígitos são passados de 2 em 2 bytes, e o tamanho, será a metade (parte em negrito)

do tamanho da string original (ACodigo) + 2, esses 2 referentes ao '{C' que complementa o comando.

Assim ficou perfeito para a Elgin.

Eu mudei mais uma coisa, que achei conveniente, pois vi que para todas as outras impressoras, o código de

barras imprime-se em 2 linhas, mas existe espaço suficiente (em 64 colunas) para imprimir em apenas 1 linha, e 

assim o fiz.

Existem muitos clientes reclamando pelo consumo de papel, então estou fazendo o máximo possível para 

diminuir isto, tendo em vista que não se pode abrir mão das informações necessárias.

Fiz o teste tanto do código de barras quando do qrCode, e bateu certinho, fiz a leitura via app em meu smartphone memo.

Em anexo o resultado.

Agora, fica a pergunta, se no meu caso funcionou com este código, mas muitos tiveram sucesso com as definições da Espson,

o que fazer em relação ao projeto ACBR? Envio o meu fonte para análise?

 

De qualquer forma quero mais uma vez deixar os meus sinceros agradecimentos a todos que se pre-dispuseram desde o início.

Abraços.

EXTRATO_SAT_OK.png

  • Membros Pro
Postado

Se está funcionando para todos os demais... porque deveríamos corrigir ?

 

bom dia Daniel, gostaria de só de comunicar que para nós tanto a Elgin quanto a Bematech, não imprimem o QRCode no modo ESCPOS, a impressão só sai correta no modo Forte.

  • Fundadores
Postado

Bematech funciona com ppEscBematech... porém precisa de atualização de firmware... ( basta procurar aqui no fórum, para ver que vários já estão usando)

Elgin I9, funciona  com ppEscPosEpson... conforme descrito nesse mesmo tópico..

Elgin VOX, tem um modelo próprio,  ppEscElgin... porém esse modelo tem um Bug que não é capaz (até o momento) de imprimir o QRCode do SAT, que é maior do que 255 chars

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado

Bom dia, chegou a impressora do cliente, uma epson tm, ele me devolveu a Elgin I9 que tinha emprestado pra ele, lá no cliente estava com o ACBrMonitorPLUS 0.1.8.00 e imprimia código de barras e qrcode, aí coloquei no meu computador com a versão mais nova do ACBrMonitorPLUS 0.1.9.05 e não imprimiu o código de barras, modifiquei a largura do código de barras e saiu normalmente conforme figura.

Sds,

Ricardo.

 

20150923_100341.jpg

shot0015.JPG

selo_equipe_acbr.pngRicardo Miquinioty
Ajude o Projeto ACBr crescer - Assine o SAC

  • Fundadores
Postado

Ricardo,

Antes o ACBrSATExtratoEscPos, fixava a largura em 2... por isso não requeria a configuração... porém, tive reports de que alguns outros modelos não gostavam dessa configuração.... Então agora, ele espera que o usuário efetue a configuração e usa o que estiver configurado...

Provavelmente o valor (0), nesse modelo,  está usando internamente uma largura maior do que 2...

 

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • 3 anos depois...
  • Este tópico foi criado há 2140 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.