Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

Boa Tarde,

 

Problema não imprime o número de cópias desejado no modelo ZPL

 

Tenho uma impressora Zebra S4M 203 dpi ZPL e ao tentar imprimir pelo Demo ACBR ele não imprime o número de cópias setado.

 

Procedimento realizado:

 

Instalei a impressora (porta USB)

Compartilhei a mesma

Configurei o Modelo para ZPL II do Acbr

Configurei a porta com o caminho do Compartilhamento da Impressora

Setei o número de Cópias para mais de 1

 

Tipo de Papel Tag (configurado)

 

Resultado:

Imprime perfeitamente, porém apenas uma cópia.

 

Posso colocar a quantidade de cópias que for que sai apenas 1. seja da Etiqueta Simples ou da Etiqueta 3 Colunas.

 

Testes já realizados

Fiz uma cópia do Demo Acbr e configurei a etiqueta com as dimensões da minha Tag para evitar que estourasse as dimensões.

Já Calibrei a impressora, as tags estão saíndo perfeitamente. Se clico várias vezes no botão imprimir sai corretamente.

Varri todas as configurações da Impressora

 

Queria evitar de ter que fazer um laço na minha rotina, forçando a impressão.

 

Obrigado pela atenção.

 

Att.

Alexandro

 

 

 

 

 

Editado por Alexandro
Postado

Comparei o fonte

ACBrETQPpla procedure imprimir possuí uma variavel tratando o Número de Cópias (NCop)

 

Já no

ACBrETQZplll procedure imprimir não possuí nada tratando o Número de Cópias.

 

Quem puder me ajudar fico grato.

 

Att.

Alexandro

Postado

Realmente não está implementado a opção número de cópias no ACBr ZPL II.

 

Página 149 do arquivo em anexo mostra a implementação

 

^PQn (n = numero de cópias)

 

Example • This example shows the control over print operations:
^PQ50,10,1,Y: This example prints a total of 50 labels with one replicate of each serial
number. It prints the total quantity in groups of 10, but does not pause after every group.

^PQ50,10,1,N: This example prints a total of 50 labels with one replicate of each serial
number. It prints the total quantity in groups of 10, pausing after every group.

 

Vou testar alterar o fonte adicionando os comandos acima.

 

se obter sucesso posto a alteração

ZPL II Programming Guide(REV_A).rar

  • Fundadores
Postado

Oi Alexandro,

 

Desculpe-me por só agora entrar em contato....

Parece que você está fazendo um ótimo trabalho de analise e correção... por isso deixo você tentar mais um pouco ;)

 

Se precisar de alguma ajuda estarei mais atento nos próximos dias

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.

  • Fundadores
Postado

Não resisti...

 

Experimente aplicar a seguinte modificação em ACBrETQZplII.pas

procedure TACBrETQZplII.Imprimir(Copias: Integer = 1; AvancoEtq: Integer = 0);
begin
  {Inserindo comando iniciais na posicao Zero}
  ListaCmd.Insert(0, '^XA');

  if Copias > 1 then
    ListaCmd.Add('^PQ'+IntToStr(min(Copias,999)) );

  ListaCmd.Add('^XZ');

  fpDevice.EnviaString(ListaCmd.Text);
  ListaCmd.Clear;
end;

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

Olá Daniel,

Desculpe a demora pedi a impressora emprestada do meu cliente para realizar os testes e ele acabou demorando para me entregar.

 

Obrigado pelos votos, o ACBR abriu um leque muito grande na automação comercial e fica difícil para quem faz o fonte testar em todos os equipamentos do mercado.

 

O que for aparecendo pra mim será uma grande satisfação fazer esta colaboração.

 

Bom vamos mexer o doce...rsrsrs

 

Aqui funcionou perfeitamente esta implementação

    ListaCmd.Add('^PQ'+IntToStr(Copias) );
 
Percebi que na sua implementação está tratando a quantidade de cópias suportada, porém não consegui utilizá-la pq não achei onde estava declarada a função min(000,000)
 
    ListaCmd.Add('^PQ'+IntToStr(min(Copias,999)) );
 
Por enquanto o código abaixo está funcional, porém sem tratamento
  {Inserindo comando iniciais na posicao Zero}
  ListaCmd.Insert(0, '^XA');
 
  if Copias > 1 then
    ListaCmd.Add('^PQ'+IntToStr(Copias) );
 
  ListaCmd.Add('^XZ');
 
  fpDevice.EnviaString(ListaCmd.Text);
  ListaCmd.Clear;
 
 
Obrigado.
 
Att.
Alexandro
  • Este tópico foi criado há 4157 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.