Jump to content

dev botao

Setar Modelo Impressora (fora do arquivo INI)


LuizLima
Go to solution Solved by Daniel Simoes,
  • Este tópico foi criado há 1802 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Caros, bom dia

Tenho um cliente com duas impressoras ligadas na mesma máquina, uma Zebra e uma Argox.

Existe a possibilidade de mudar o modelo da impressora via comandos?

Outra pergunta: Como configuro o tamanho da etiqueta? Por exemplo: 3,5cm x 3,0cm

Tentei o comando SetModelo mas não deu certo, vejam a tela do LOG por favor.

Alguma sugestão?

image.thumb.png.5d9011c0df26eb838b95f6cf988db048.png

Edited by LuizLima
Link to comment
Share on other sites

  • Moderadores
2 horas atrás, LuizLima disse:

Existe a possibilidade de mudar o modelo da impressora via comandos?

Boa tarde

Não existe esse comando... A alteração do modelo pode exigir alteração naas demais configurações, por isso não é parametrizável via comando, mas se desejar pode editar diretamente o arquivo de configuração  ACBrMonitor.ini e recarregar as configurações através do método https://acbr.sourceforge.io/ACBrMonitor/ACBrlerini.html

Para editar este campo no ACBrMonitor.ini, precisa alterar o valor na Seção:

[ETQ]
Modelo=1

2 horas atrás, LuizLima disse:

Outra pergunta: Como configuro o tamanho da etiqueta? Por exemplo: 3,5cm x 3,0cm

Impressoras de Etiquetas térmicas não trabalham com tamanho de etiqueta, o tamanho é lido pelo sensor da impressora, então só precisa passar a orientação de onde imprimir para cada método enviado ex: 

https://acbr.sourceforge.io/ACBrMonitor/ETQImprimirLinha.html

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link to comment
Share on other sites

José,

Os valores abaixo são em Milimetros (se eu informar no campo Unidade etqMilimetros)?

Se eu for imprimir 3 etiquetas na horizontal, como devo configurar então?

Parâmetros:

nVertical - Valor para posição Vertical

nHorizontal - Valor para posição Horizontal

nLargura - Valor para Largura da linha

nAltura - Valor para altura da linha

 

Veja em anexo uma imagem com o modelo da etiqueta por favor:

 

 

Exemplos:

ETQ.ImprimirLinha( 13, 32, 56, 17)

etiqueta_3_colunas.jpg

Link to comment
Share on other sites

  • Moderadores

Pode configurar a unidade de medida, por padrão é em milímetros.

Neste modelo passe os parâmetros com a orientação para as três etiquetas, ou seja cada uma delas com posições diferentes (Precisa ir corrigindo as medidas)

por ex:

ETQ.Ativar()

ETQ.IniciarEtiqueta()

ETQ.ImprimirTexto( "0", "2", "2", "1", "8", "3", "CHOC BRANCO")         //etiqueta coluna 1

ETQ.ImprimirTexto( "0", "2", "2", "1", "8", "32", "CHOC BRANCO")          //etiqueta coluna 2

ETQ.ImprimirTexto( "0", "2", "2", "1", "8", "61", "CHOC BRANCO")          //etiqueta coluna 3

ETQ.FinalizarEtiqueta()

ETQ.Imprimir( "1", "0" )

ETQ.Desativar()

 

  • Thanks 1
Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link to comment
Share on other sites

José, muito obrigado

Posso enviar todos comandos de uma vez para o monitor ou preciso rodar um comando por vez?

Outra questão é:

Preciso rodar as configurações antes? 

Estaria correto fazer dessa forma abaixo?

ETQ.SetPorta("c:\temp\teste_etiq.txt");
ETQ.SetTemperatura("8");
ETQ.SetVelocidade("-1");
ETQ.SetBackFeed("0");
ETQ.SetLimparMemoria("false");
ETQ.Ativar();
ETQ.IniciarEtiqueta();
ETQ.ImprimirTexto( "0", "2", "2", "2", "3", "3", "BISCOITO MARILAN RECH 335G", "0", "1" );
ETQ.ImprimirTexto( "0", "2", "2", "1", "8", "3", "CHOC BRANCO");
ETQ.ImprimirBarras( "0", "0", "2" , "2", "13", "5", "7896003701685", "10", "1");
ETQ.ImprimirCaixa( "13", "32", "56", "17", "1", "1");
ETQ.ImprimirTexto( "0", "3", "3", "2", "18", "35", "R$");
ETQ.ImprimirTexto( "0", "3", "4", "4", "15", "50", "20,59");
ETQ.FinalizarEtiqueta();
ETQ.Imprimir( "1", "0" );
ETQ.Desativar();
 

Link to comment
Share on other sites

Está correto enviar esses comandos abaixo antes do Ativar?

ETQ.SetPorta("c:\temp\teste_etiq.txt");
ETQ.SetTemperatura("8");
ETQ.SetVelocidade("-1");
ETQ.SetBackFeed("0");
ETQ.SetLimparMemoria("false");

Estou usando uma estratégia para testar: Uso a ZPL como modelo e gravo em arquivo texto.

Com isso posso testar no http://labelary.com/viewer.html

Mas até agora não consegui sucesso em nenhuma geração do arquivo TXT.

Abs

Link to comment
Share on other sites

  • Fundadores
  • Solution

Os componentes do ACBr tentam justamente gerar esse arquivo de comandos... mas não há como enviar os comandos já montados, para o componente repassar para a Impressora...

O Correto é você Ativar o componente, antes de tudo... pois os comandos de configuração, podem tentar a comunicação com a impressora.

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.

Link to comment
Share on other sites

Rodei os comandos nessa ordem, mas não acata a minha porta.

ETQ.Ativar()
ETQ.SetPorta("c:\temp\teste_zpl.txt")
ETQ.SetTemperatura("8")
ETQ.SetVelocidade("-1")
ETQ.SetBackFeed("0")
ETQ.SetLimparMemoria("false")
ETQ.IniciarEtiqueta()
ETQ.ImprimirTexto( "0", "2", "2", "2", "3", "3", "BISCOITO MARILAN RECH 335G", "0", "1" )
ETQ.ImprimirTexto( "0", "2", "2", "1", "8", "3", "CHOC BRANCO")
ETQ.ImprimirBarras( "0", "0", "2" , "2", "13", "5", "7896003701685", "10", "1")
ETQ.ImprimirCaixa( "13", "32", "56", "17", "1", "1")
ETQ.ImprimirTexto( "0", "3", "3", "2", "18", "35", "R$")
ETQ.ImprimirTexto( "0", "3", "4", "4", "15", "50", "20,59")
ETQ.FinalizarEtiqueta()
ETQ.Imprimir( "1", "0" )
ETQ.Desativar()

Link to comment
Share on other sites

O comando um por vez vai ficar muito lento, meu cliente não vai aceitar de forma alguma:

Rodei os comandos nessa ordem, mas gera meu arquivo vazio.

ETQ.Ativar()
ETQ.IniciarEtiqueta()
ETQ.ImprimirTexto( "0", "2", "2", "2", "3", "3", "BISCOITO MARILAN RECH 335G", "0", "1" )
ETQ.ImprimirTexto( "0", "2", "2", "1", "8", "3", "CHOC BRANCO")  
ETQ.FinalizarEtiqueta()
ETQ.Imprimir( "1", "0" )
ETQ.Desativar()
 

Veja o arquivo INI e log das etiquetas:

image.png.240686d2ff3880757eff0ff02f1cc133.png

 

 

 

 

image.png

etq.txt LOG.TXT

Link to comment
Share on other sites

  • Fundadores
5 minutos atrás, LuizLima disse:

O comando um por vez vai ficar muito lento, meu cliente não vai aceitar de forma alguma:

é como o ACBrMonitorPLUS funciona...

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.

Link to comment
Share on other sites

  • Fundadores

Não irá causar lentidão enviar linha a linha... usamos assim na DJSystem, a anos e anos...

Depende muito, é claro, de como você escreve a rotina de comunicação...

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.

Link to comment
Share on other sites

Daniel,

Não entendi muito bem a frase "Depende muito, é claro, de como você escreve a rotina de comunicação..."

Trabalho com VB.net e estou utilizando TCP/IP, atualmente uso o SAT pelo Monitor e é bem rápido.

Segue anexo meu código das funções de envio ao Monitor, poderia dar uma olhada por favor?

OBS: Achei sensacional os comando do ETQ, pela primeira vez encontrei um wrapper decente para etiquetas.

Abs

 

ACBR_CLASSES.txt

Link to comment
Share on other sites

  • Fundadores

Esse Sleep não é legal... causa uma lentidão desnecessária a cada leitura

Threading.Thread.Sleep(1500)

o correto seria você ficar em um Loop, lendo dados, até chegar o ETX ou atingir N segundos de espera... (N é o tempo de Timeout),

Já viu os exemplos disponíveis ?

http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrMonitorPLUS/Lazarus/Exemplos/

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.

Link to comment
Share on other sites

  • Fundadores
45 minutos atrás, LuizLima disse:

As vezes o loop pode causar sobrecarga no canal, mas você tem razão mesmo.

Realmente... o ideal é ter um Sleep(10), dentro do Loop, para evitar picos de cpu

  • Like 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.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...