Imprimir direto na Zebra TLP 2844
Moderador: Moderadores
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
Imprimir direto na Zebra TLP 2844
Olá amigos !
Recorro aos colaboradores deste forum para tentar superar uma dificuldade que estou encontrando :
Preciso imprimir etiquetas, não nescessariamente codigo de barras, textos mesmo, em impressora Zebra TLP 2844.
Pergunto :
Posso fazer isso direto pelo Harbour , sem depender de "PRESILO" ou outros ?
Como seria o Layout para definir a posição dos caracteres ?
Alguém teria um exemplo de código ?
Fico agradecido pela ajuda desde já.
Rosalvo.
Recorro aos colaboradores deste forum para tentar superar uma dificuldade que estou encontrando :
Preciso imprimir etiquetas, não nescessariamente codigo de barras, textos mesmo, em impressora Zebra TLP 2844.
Pergunto :
Posso fazer isso direto pelo Harbour , sem depender de "PRESILO" ou outros ?
Como seria o Layout para definir a posição dos caracteres ?
Alguém teria um exemplo de código ?
Fico agradecido pela ajuda desde já.
Rosalvo.
-
jamazevedo
- Usuário Nível 3

- Mensagens: 122
- Registrado em: 29 Dez 2005 16:50
- Localização: Manaus - AM
Imprimir direto na Zebra TLP 2844
Não é bicho de 7 cabeças:
O arquivo "etiqueta.prn" depois de gerado fica assim:
Os comando: Q, q, S, D, etc você tem que ler o manual da impressora para entender o significado.
Código: Selecionar todos
funcion main()
local cEtiqueta := ""
local cArquivo := "etiqueta.prn"
local nHandle
cEtiqueta := cEtiqueta + "Q104,24" + CHR( 13 ) + CHR( 10 )
cEtiqueta := cEtiqueta + "q831" + CHR( 13 ) + CHR( 10 )
cEtiqueta := cEtiqueta + "rN" + CHR( 13 ) + CHR( 10 )
cEtiqueta := cEtiqueta + "S4" + CHR( 13 ) + CHR( 10 )
cEtiqueta := cEtiqueta + "D10" + CHR( 13 ) + CHR( 10 )
cEtiqueta := cEtiqueta + "ZT" + CHR( 13 ) + CHR( 10 )
cEtiqueta := cEtiqueta + "JB" + CHR( 13 ) + CHR( 10 )
cEtiqueta := cEtiqueta + "OD" + CHR( 13 ) + CHR( 10 )
cEtiqueta := cEtiqueta + "R56,0" + CHR( 13 ) + CHR( 10 )
cEtiqueta := cEtiqueta + "N" + CHR( 13 ) + CHR( 10 )
cEtiqueta := cEtiqueta + "P1" + CHR( 13 ) + CHR( 10 )
nHandle := FCREATE( ( cArquivo ) , 0 )
FWRITE( nHandle , cEtiqueta )
FCLOSE( nHandle )
/// No Linux imprimo, assim diretamente, através do comando LPR
run ( "lpr -pNOME_DA_IMPRESSORA etiqueta.prn" )
/// Em Windows ou Harbour se não estou enganado será assim:
/// run ( "type etiquta.prn >prn" )
return nil
É só enviá-lo para impressora diretamente.Q104,24
q831
rN
S4
D7
ZT
JB
OD
R56,0
N
B120,0,0,2,2,5,50,B,"02048001"
B480,0,0,2,2,5,50,B,"02048002"
P1
Os comando: Q, q, S, D, etc você tem que ler o manual da impressora para entender o significado.
______________________________________________________
Usando: Linux Ubuntu 18.04, Harbour 3.2.0dev r1811161533
______________________________________________________
José Airton de Menezes Azevedo
Manaus - AM
Usando: Linux Ubuntu 18.04, Harbour 3.2.0dev r1811161533
______________________________________________________
José Airton de Menezes Azevedo
Manaus - AM
- rosalvo rosa
- Usuário Nível 3

- Mensagens: 156
- Registrado em: 10 Jan 2006 19:21
- Localização: Curitiba - PR
Re: Imprimir direto na Zebra TLP 2844
Obrigado José Airton!
Seu exemplo foi muito bom.
Vou tentar conseguir um manual da impressora.
O comando para imprimir, como vou comandar via USB, eu verifiquei aqui no forum, eu devo usar o PRINTFILERAW().
Um abraço.
Rosalvo.
Seu exemplo foi muito bom.
Vou tentar conseguir um manual da impressora.
O comando para imprimir, como vou comandar via USB, eu verifiquei aqui no forum, eu devo usar o PRINTFILERAW().
Um abraço.
Rosalvo.
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Imprimir direto na Zebra TLP 2844
boa noite!jamazevedo escreveu:B120,0,0,2,2,5,50,B,"02048001"
B480,0,0,2,2,5,50,B,"02048002"
sei q o tópico é muito antigo, mas, preciso da ajuda, e, preferi não abrir outro desnessariamente.
Vejo q no resultado tem as linhas acima, mas, nas linhas de programação elas não existem.
O meu código já funciona na conversão para o harbour.
mas, ao tentar fazer uma migração para HMG 3.4.4 usando o FORM_WIN as minhas linhas abaixo:
Código: Selecionar todos
@ prow()+1,0 say 'A0,10,0,2,1,1,N,"&mDS_PRODL1"'
@ prow()+1,0 say 'A280,10,0,2,1,1,N,"&mDS_PRODL1"'
@ prow()+1,0 say 'A562,10,0,2,1,1,N,"&mDS_PRODL1"'
@ prow()+1,0 say 'A0,31,0,2,1,1,N,"&mDS_PRODL2"'
@ prow()+1,0 say 'A280,31,0,2,1,1,N,"&mDS_PRODL2"'
@ prow()+1,0 say 'A562,31,0,2,1,1,N,"&mDS_PRODL2"'
@ prow()+1,0 say 'A0,51,0,2,1,1,N,"&mDS_PRODL3"'
@ prow()+1,0 say 'A280,51,0,2,1,1,N,"&mDS_PRODL3"'
@ prow()+1,0 say 'A562,51,0,2,1,1,N,"&mDS_PRODL3"'
@ prow()+1,0 say 'B1,66,0,E30,2,2,50,B,"&mCD_PRODUT"'
@ prow()+1,0 say 'B280,66,0,E30,2,2,50,B,"&mCD_PRODUT"'
@ prow()+1,0 say 'B562,66,0,E30,2,2,50,B,"&mCD_PRODUT"'
@ prow()+1,0 say 'A0,131,0,2,1,1,N,"&mVR_PREVEN"'
@ prow()+1,0 say 'A280,131,0,2,1,1,N,"&mVR_PREVEN"'
@ prow()+1,0 say 'A562,131,0,2,1,1,N,"&mVR_PREVEN"'
@ prow()+1,0 say 'P' + mQT_LINHAS
Já a última linha de código acima (mqt_linhas) apresentou o erro:
Error BASE/1081 Argument Error: +
Tudo bem que entendo que está se somando erroneamente:
P (C) + mQT_LINHAS (N) - realmente há incompatibilidade de String + numérico. Mas, por que na conversão de CLIPPER para HARBOUR seco funciona e de HARBOUR para HMG (modo gráfico) apresentou esse erro?
E, apresentou o erro das MACRO também?
grato
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Imprimir direto na Zebra TLP 2844
microvolution,
Sugestão besta, mas por favor, tente assim:
Sugestão besta, mas por favor, tente assim:
Código: Selecionar todos
@ prow()+1,0 say 'P' + str(mQT_LINHAS)Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Imprimir direto na Zebra TLP 2844
Olá Heero bom dia!
agora vou experimentar na impressora pra ver o que realmente acontece.
mas, a questão da macrosubstituição ainda gera erro.
grato.
obrigado pela dica. parou de gerar o erro.Heero escreveu:@ prow()+1,0 say 'P' + str(mQT_LINHAS)
agora vou experimentar na impressora pra ver o que realmente acontece.
mas, a questão da macrosubstituição ainda gera erro.
grato.
Imprimir direto na Zebra TLP 2844
microvolution,
O erro é apresentado na tela? Se sim pode postar aqui?
O erro é apresentado na tela? Se sim pode postar aqui?
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Imprimir direto na Zebra TLP 2844
sim.Heero escreveu:O erro é apresentado na tela?
veja(m):
c:\hmg\etiqueta.prg(471) Error E0042 Macro of declared symbol 'A0,10,0,2,1,1,N ,"&mDS_PRODL1"'
observação muito importante:
1 - no clipper já funcionava assim:
2 - na migração de clipper para harbour pura já funcionava assim:
3 - agora quando resolvi migrar de harbour (modo console) para HMG 3.4.4 (modo 100% gráfico) é que apareceu esse erro.
grato!
Imprimir direto na Zebra TLP 2844
Você está declarando essas variáveis que tá usando como macro? Se sim tente não declara-las.
Fonte: viewtopic.php?f=4&t=12310
Fonte: viewtopic.php?f=4&t=12310
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Imprimir direto na Zebra TLP 2844
muito esquisito, mas, sua dica q eu vi no post q vc reportou funcionou.Heero escreveu:Se sim tente não declara-las.
vai entender né?
talvez um dos nobres colaboradoes como o JQuintas possa trazer uma explicação sobre essa declaração que não é aceita pelo harbour.
E foi muito bem dito, conforme o meu passo a passo:
1 - quando em clipper eu não as declarava como LOCAL, PRIVATE ou PUBLIC em lugar algum;
2 - quando migrei de clipper para harbour (modo console) também não as declarei;
3 - quando agora estou migrando todos os módulos externos do meu sistema para modo 100% gráfico, usando a HMG, ou GTWVW ou GTWVG, mas, neste caso específico estou usando a HMG 3.4.4 (não usando as outras que citei), resolvi declarar essas variáveis como LOCAL dentro da função de impressão das etiquetas.
4 - só pra desencargo de consciência, vou testar como PRIVATE dentro da função e como PUBLIC no início da FUNCTION MAIN pra ver no que vai dar e aí posto aqui pra todos saberem.
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Imprimir direto na Zebra TLP 2844
5 - aceitou o comando PRIVATE;
6 - aceitou o comando PUBLIC;
7 - aceitou sem declarar nada.
Conclusão a grosso modo. O harbour não aceita a utilização de macro com declaração de apenas LOCAL.
Se, o JQuintas - nosso amigo e demais tiverem mais alguma opinião, sejam bem vindos.
6 - aceitou o comando PUBLIC;
7 - aceitou sem declarar nada.
Conclusão a grosso modo. O harbour não aceita a utilização de macro com declaração de apenas LOCAL.
Se, o JQuintas - nosso amigo e demais tiverem mais alguma opinião, sejam bem vindos.
Imprimir direto na Zebra TLP 2844
Problema resolvido né? rs
Ricardo Rodrigues
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
Harbour 3.2 + BCC + Minigui
Cursando Análise e Desenvolvimento de Sistemas
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Imprimir direto na Zebra TLP 2844
aparentemente sim.Heero escreveu:Problema resolvido né? rs
agora só estou esperando chegar a impressora pra fazer o teste real nela.
imprimindo em PDF não dá o resultado que a gente quer ou imagina que sairá na impressora.
-
microvolution
- Usuário Nível 5

- Mensagens: 1231
- Registrado em: 02 Set 2011 22:17
- Contato:
Imprimir direto na Zebra TLP 2844
Agora, aproveitando, nunca precisei via programação (já funciona há 20 anos assim), diminuir a velocidade ou imprimir mais escuro.
A impressora TLP2844 do cliente estragou, mandou pro conserto e quando voltou as etiquetas estão saindo um pouco claras.
Existe uma forma da gente aumentar o NEGRITO (escurecer a impressão)?
grato.
A impressora TLP2844 do cliente estragou, mandou pro conserto e quando voltou as etiquetas estão saindo um pouco claras.
Existe uma forma da gente aumentar o NEGRITO (escurecer a impressão)?
grato.
