Página 1 de 1
Imprimir logotipo Argox PPLB
Enviado: 13 Set 2012 16:01
por clipsis
Olá, bom dia a todos!
Procurei aqui no forum, sobre o assunto, encontrei alguns sobre etiqueta na impressora Argox. Porém nenhuma sobre imprimir imagem na linguagem PPLB.
Alguém faz ou já fez isso ?
Qual maneira mais correta de envio de uma imagem (logotipo)? (linguagem PPLB)
Em qual formato deve ser essa imagem?
Existe alguma limitação quanto a tamanho do arquivo?
Fico no aguardo
Abraços
Imprimir logotipo Argox PPLB
Enviado: 13 Set 2012 23:29
por Jairo Maia
Olá clipsis,
clipsis escreveu:Alguém faz ou já fez isso ?
Eu não. Mas estudei essa questão há alguns anos atrás.
Tenho com certeza os manuais de programação para essa impressora, tanto em PPLA como em PPLB (não estão a mão neste momento), se você se interessar, posso anexar aqui. Sei que neles tem inclusive as informações para impressão de imagem gráfica.
clipsis escreveu:Existe alguma limitação quanto a tamanho do arquivo?
Pois é. Como você está postando no fórum de Clipper, creio que o limite para carregar um arquivo será de 64K, que é o limite do Clipper.
Apenas não sei se há algo novo, pois me lembro desse assunto quando em 2003 ou 2004 eu estava tentando aprender Delphi, linguagem com a qual não me adaptei, e esses manuais são dessa época, porém, se interessar envio.
Imprimir logotipo Argox PPLB
Enviado: 14 Set 2012 10:37
por Imatech
Imprimir logotipo Argox PPLB
Enviado: 15 Set 2012 00:25
por fladimir
Complementando, caso vc queira trabalhar em PPLA (impressão direta via porta sem passar pelo driver do Windows) e sua impressora for PPLB vc usa um utilitário q encontra fácil na internet (eu já usei) e transforma ela de PPLB para PPLA.
[]´s
Imprimir logotipo Argox PPLB
Enviado: 17 Set 2012 10:53
por clipsis
Olá e bom dia a todos !
Oi,Imatech . Obrigado pela atenção, mas esses manual eu já havia encontrado. Eles apresentam os comandos para linguagem PPLB. Entendi e já implementei.
O que não estou conseguindo fazer é exatamente enviar a imagem para impressora e depois imprimi-la
No exemplo:
Código: Selecionar todos
1 - GK "PCXA" //apaga a imagem da memoria
2 - GM PCXA"" 3858 // cria uma novo espaco para imagem
3 - ...[PCX file for PCXA graphics]... //aqui é a imagem propriamente dita
4 - N
5 - A30,30,0,4,1,1,R,"PCXA..."
6 - GG30,100,"PCXA" // aqui se imprime a imagem
O item 3 é que é o problema, como enviar a imagem (o arquivo) para impressora.
Como consigo fazer isso em Clipper ou até em Harbour se for possível.
Fladimir, sei também dessa possibilidade, mas todas as etiquetas do programa estão em PPLB, e já tentaram fazer essa mudanças de linguagem na impressora (PPLB -> PPLA) e acabaram perdendo a impressora, houve algum problema no processo que acabou por inutilizar a impressora.
Se alguém pude me ajudar agradeço, mesmo se tiver que converter o progama para Harbour.
Abraços
Imprimir logotipo Argox PPLB
Enviado: 18 Jul 2013 17:10
por leandrolinauer
Boa tarde.
Estou implantando a impressão na datamax allegro flex e precisava de uma ajuda de como enviar o arquivo ou memoria criada com o conteudo da etiqueta para a impressora na porta USB, não estou usando a lpt1.
Grato
Imprimir logotipo Argox PPLB
Enviado: 18 Jul 2013 19:05
por fladimir
Eu faço assim, deixo a impressora como PADRÃO no Windows (poderia fazer procurar na lista de impressora etc e tal, mas na época fiz assim e foi embora, mais pra frente se precisar mudar mudamos, mas o colega já pega a dica) e depois jogo nela.... veja abaixo
Código: Selecionar todos
cArquivo := "Argox.TXT"
SET PRINTER TO &(cArquivo) // redireciono para 1 arquivo
// ... comandos de acordo com o layout
// ... no final eu faço assim:
cImpressora := GetDefaultPrinter() // Pego a Impressora Padrão, como expliquei acima já deixo a Argox como padrão
PrintFileRaw(cImpressora, cArquivo) // Jogo o arquivo nela, ela pode estar LPT1, USB q vai embora...
[]´s
Imprimir logotipo Argox PPLB
Enviado: 19 Jul 2013 15:49
por leandrolinauer
Boa tarde fladimir.
Eu não havia testado a função PrintFileRaw(), vou tentar com ela para ver se da certo, mas vou continuar com a opção de mostrar todas as impressoras na tela, e o usuário vai selecionar a DATAMAX e mandar, caso ele selecione errado, só vai imprimir o conteudo na impressora errada, mas blz, melhor que falar para o usuário mudar a impressora padrão dele para outra na hora de enviar etiqueta.
Mais pra frente vou fazer um cadastramento de impressoras no sistema, puxando automaticamente do computador e nomeando qual é qual e para que servem, assim poderei bloquear impressões errada,evitando enviar dados inválidos para a datamax, mas por enquanto vou apenas bloquear pelo nome.
Grato
Testarei e posto a solução inteira.

Imprimir logotipo Argox PPLB
Enviado: 19 Jul 2013 16:15
por fladimir
Isso mesmo... blz Leandro, ficamos no aguardo então pra saber se ficou ok...
[]´s
Imprimir logotipo Argox PPLB
Enviado: 20 Jul 2013 22:23
por lucimauro
Faço como o flademir falou acima,e funciona muito tempo com o printfilerow.
Agora com relacao a imprimir a imagem,ja li mais tambem nao consegui imprimir,sei que se carrega a imagem na memoria da maquina com o utilitario da argox depois faz so ler o endereco do arquivo no memoria da impressao acho que é assim.!
Imprimir logotipo Argox PPLB
Enviado: 21 Jul 2013 13:13
por fladimir
Sobre imprimir a Imagem na Argox nunca tentei, mas pelo que li no manual tem q carregar na memória o arquivo da imagem e depois redirecionar via comando... isso na PPLA, como o Clipsis disse acima aki é sobre PPLB talvez seja diferente, eu já postei no fórum como mudar a Argox de PPLB para PPLA caso alguém queira.
Aqui tem um tópico aki do fórum q reabri, para quem usa PPLA e quiser testar a impressão direta de imagem.
[]´s
Imprimir logotipo Argox PPLB
Enviado: 03 Ago 2013 11:11
por leandrolinauer
Bom dia a todos.
Como eu havia falado assim que tivesse tudo funcionando postaria a solução aqui.
Código: Selecionar todos
Static Function oEtiqGondola() //gondolas
Local i_Imp:=""
Private xEt:=0
cEtiqFile:=wD_Retorno+"GONDOLA.TXT" //wD_Retorno+
MyPrinters()
i_Imp:=If(("DATAMAX" $ Upper(cPrinter)),"DATAMAX","LASER")
If LastKey()#27 .And. NewAnsWer("Confirma a impressão das etiquetas na "+cPrinter+"?")
If i_Imp == "DATAMAX" //$ Upper(cPrinter))
oEtiqGDatamax()
Else
oEtiqGLaser()
EndIf
If xEt=0
ShowMessage(,,"Não há produtos com código de barras para impressão de etiquetas de gôndolas.",0)
EndIf
EndIf
Return .T.
Static Procedure oEtiqGDatamax()
oSTX:= chr(2)
oCR := chr(13)
oHandle:= FCreate(cEtiqFile)
While !Eof()
While !Eof().And.TICADO#">" //vai at‚ o final para localizar mais etiquetas
DbSkip(1)
End
FWrite(oHandle, oSTX + "e" + oCR ) //habilita o sensor gap
FWrite(oHandle, oSTX + "m" + oCR ) //unidade em milimitro
FWrite(oHandle, oSTX + "M0300" + oCR ) //fixa o comprimento em 30mm
FWrite(oHandle, oSTX + "L" + oCR ) //entra em modo formato etiqueta
FWrite(oHandle, "H20" + oCR ) //fixa temperatura vai de: H10 a H20 recomendavel H16
FWrite(oHandle, "D11" + oCR ) //PADRAO PARA PIXEL
If !Eof() //nao for fim do arquivo entra
If !Empty(COD_BARRA)
xEt++
wDescPP:=AllTrim(NewAlinha(DESCRICAO,22)) //primeira parte da descricao
wDescPR:=AllTrim( Resto(DESCRICAO,22)) //restante da descricao
FWrite(oHandle, "190000100050330" + AllTrim(Left(wE_EMail,35))+" "+TransForm(wE_Fone,"@R (999)9999-9999") + oCR ) // ultima linha
FWrite(oHandle, "190000200300490" + COD_FORN + " " +TransForm(SETOR1,"@R 9-999")+ " " + COD_MERC + oCR )
FWrite(oHandle, "190000500700760" + UNIDADE + oCR )
If Len(Alltrim(COD_BARRA))=8//ean8
FWrite(oHandle, "1G0008000300050" + Left(COD_BARRA,7) + oCR )
Else //ean13
FWrite(oHandle, "1F0008000300050" + Left(COD_BARRA,12) + oCR )
EndIf
FWrite(oHandle, "190000601300050" + wDescPR + oCR ) //
FWrite(oHandle, "190000601900050" + wDescPP + oCR ) //
FWrite(oHandle, "E" + oCR ) //envia para a impressora
EndIf
DbSkip(1)
EndIf
End
FWrite(oHandle, oSTX + "G" + oCR ) //imprime etiqueta armazenada
FClose(oHandle) //fecha o arquivo
If xEt > 0 //se tiver etiqueta manda imprimir
oPrinter:=Win_prn()
oPrinter:New(cPrinter) //pega a escolhida
oPrinter:Create()
oPrinter:StartDoc()
Win_PrintFileRaw(cPrinter,cEtiqFile,"")
oPrinter:EndDoc()
oPrinter:Destroy()
EndIf
FErase(cEtiqFile)
Return
Bom, fiz desta forma acima e consegui funcionar perfeitamente, se alguem tiver alguma forma de melhorar, posta a solução, grato a todos, quanto a imagem não coloquei nada e não fiz teste tbem mas pretendo fazer mais pra frente.
Um abraço a todos.
Grato pela ajuda recebida.
:xau