Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Tenho um cliente que precisa que saia um código de barras EAN128 e uo QRCore na mesma etiqueta..
A primeira etiqueta sai certa, a partir da segunda a largura do código de barras sai enorme... 
Estou usando uma impressora Zebra imprimindo com ZPLII...
Testei com o exemplo do ACBR e acontece a mesma coisa.. imprimo uma etiqueta, sai ok, imprimo um QRCode , e a proxima etiqueta sai com o codigo de barras errado
 

Seguem fotos de exemplo

 

 

b7d24b46-93a5-495c-9abd-62ffaaddeb79.jpg

248f91d4-f9ac-4d0c-954b-b82d8e14cb91.jpg

89227767-bb64-461d-a8af-a3eb4ecf83ef.jpg

AGGILLE-LOGO-500x180_fw.jpg.07c79ceacf0537ee105c0bbf0139435f.jpg

Aggille Sistemas de Gestão
Leandro do Couto
(51) 99105.1600
Novo Hamburgo / RS
[email protected]
www.aggille.com.br

Postado

Lendo o manual, tem o comando BY que define a largura da barra fina e a relação entre elas..
provavelmente o que acontece é que depois de imprimor o qrcode ele mantêm a largura do QR para o codigo de barras
Vou testar aqui ocomando BY antes de imprimir o código de barras e já posto o resultado

AGGILLE-LOGO-500x180_fw.jpg.07c79ceacf0537ee105c0bbf0139435f.jpg

Aggille Sistemas de Gestão
Leandro do Couto
(51) 99105.1600
Novo Hamburgo / RS
[email protected]
www.aggille.com.br

Postado

resolvi o problema.. 
O padrão ZPLII tem um comando específico pra ajustar a altura e a largura das barras, que deve ser emitido antes de imprimir o código de barras ( ^BY )
Então , na unit ACBrETQZplII criei um método ComandoTamanhoBarras( aBarraFina, aBarraLarga , aAlturaBarra:Integer ) que gera esse comando 
( parâmetro aBarraLarga não tem funcionalidade, pois o padrão zplII calcula a barra larga proporcionalmente ao tamanho da barra fina )

function TACBrETQZplII.ComandoTamanhoBarras(aBarraFina, aBarraLarga , aAlturaBarra:Integer): String;
begin
  result := '^BY' + intToStr( aBarraFina )+ ',,'+ intToStr( aAlturaBarra );
end;

E o método ComandoImprimirBarras ficou assim:

Result := ComandoCoordenadas(aVertical, aHorizontal) +
    ComandoTamanhoBarras(aBarraFina, aBarraLarga , aAlturaBarras ) +
    ComandoBarras(aTipoBarras, aOrientacao, aAlturaBarras, aExibeCodigo) +
    ComandoCampo(aTexto);

 Dessa forma funcionou perfeitamente

Segue em anexo a unit alterada, porém ela contém os métodos de gravação RFID que implementei em outra thread... 
Mas implementando as alterações acima funciona corretamente.

ACBrETQZplII.pas

  • Obrigado 2

AGGILLE-LOGO-500x180_fw.jpg.07c79ceacf0537ee105c0bbf0139435f.jpg

Aggille Sistemas de Gestão
Leandro do Couto
(51) 99105.1600
Novo Hamburgo / RS
[email protected]
www.aggille.com.br

  • 2 semanas depois ...
  • Consultores
Postado
Em 19/11/2020 at 10:01, Aggille Sistemas de Gestão disse:

resolvi o problema.. 
O padrão ZPLII tem um comando específico pra ajustar a altura e a largura das barras, que deve ser emitido antes de imprimir o código de barras ( ^BY )
Então , na unit ACBrETQZplII criei um método ComandoTamanhoBarras( aBarraFina, aBarraLarga , aAlturaBarra:Integer ) que gera esse comando 
( parâmetro aBarraLarga não tem funcionalidade, pois o padrão zplII calcula a barra larga proporcionalmente ao tamanho da barra fina )

function TACBrETQZplII.ComandoTamanhoBarras(aBarraFina, aBarraLarga , aAlturaBarra:Integer): String;
begin
  result := '^BY' + intToStr( aBarraFina )+ ',,'+ intToStr( aAlturaBarra );
end;

E o método ComandoImprimirBarras ficou assim:

Result := ComandoCoordenadas(aVertical, aHorizontal) +
    ComandoTamanhoBarras(aBarraFina, aBarraLarga , aAlturaBarras ) +
    ComandoBarras(aTipoBarras, aOrientacao, aAlturaBarras, aExibeCodigo) +
    ComandoCampo(aTexto);

 Dessa forma funcionou perfeitamente

Segue em anexo a unit alterada, porém ela contém os métodos de gravação RFID que implementei em outra thread... 
Mas implementando as alterações acima funciona corretamente.

ACBrETQZplII.pas 18 kB · 2 downloads

Muito obrigado pela contribuição.
Fiz a implementação baseada nela.

Subi as alterações para o SVN na Revisão  21041.
Pelo que vi está tudo certo.
Queira por favor atualizar, testar e reportar qualquer problema.

Mais uma vez obrigado.

  • Curtir 1
  • Obrigado 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Este tópico foi criado há 1453 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.