Fórum Dúvidas sobre impressão em Matricial / Comandos ESC #320259

28/04/2006

0

Pessoal, estou tentando pela primeira vez imprimir nota fiscal pelo Delphi com impressora Matricial (Epson LX-300) em ´Modo texto´. O problema é que na hora de imprimir os campos saem fora de posição. Estou desconfiado que a nota que estou usando como modelo foi impressa errada. Então pensei em usar comandos ESC para aumentar ou diminuir o espaçamento entre as linhas para que os campos saiam corretamente, mas não sei como enviar esses comandos. Alguém teria um exemplo?

Aproveito também para fazer uma outra pergunta: queria fazer com que a impressora, antes de imprimir a nota, se certificasse de que o papel está na posição correta. Para isso eu queria enviar algum comando que fizesse com que a impressora colocasse o papel em posição de ´Paper park´ e depois um outro comando para ela puxar o papel na primeira linha. Mas como fazer para fazer ela puxar o papel para trás. Pra frente eu consegui, mas para trás já catei em tudo que é lugar, mas não encontrei... Alguém sabe como? Já vi um programa fazendo isso, mas não estou conseguindo mesmo...


Djorius

Djorius

Responder

Posts

29/04/2006

Aerreira

Para epson:

Impressão padrão 1/6 (seis linhas por polegada)
chr(27)+chr(50)

Impressão em 1/8 (oito linha por polegada)
chr(27)+chr( 48 )

Impressão em 1/12 (doze linhas por polegada)
chr(27)+chr(51)+chr(15)

Mas eu lhe recomendo usar o RDPrint (www.deltress.com.br)


Responder

Gostei + 0

29/04/2006

Renato.pavan

Pessoal, estou tentando pela primeira vez imprimir nota fiscal pelo Delphi com impressora Matricial (Epson LX-300) em ´Modo texto´. O problema é que na hora de imprimir os campos saem fora de posição. Estou desconfiado que a nota que estou usando como modelo foi impressa errada. Então pensei em usar comandos ESC para aumentar ou diminuir o espaçamento entre as linhas para que os campos saiam corretamente, mas não sei como enviar esses comandos. Alguém teria um exemplo? Aproveito também para fazer uma outra pergunta: queria fazer com que a impressora, antes de imprimir a nota, se certificasse de que o papel está na posição correta. Para isso eu queria enviar algum comando que fizesse com que a impressora colocasse o papel em posição de ´Paper park´ e depois um outro comando para ela puxar o papel na primeira linha. Mas como fazer para fazer ela puxar o papel para trás. Pra frente eu consegui, mas para trás já catei em tudo que é lugar, mas não encontrei... Alguém sabe como? Já vi um programa fazendo isso, mas não estou conseguindo mesmo...


Colega,

Outra boa solução seria vc usar o componente VDOPrint, é muito bom e Open Source.
[url=http://vdo.sourceforge.net/cms/index.php]Baixe Aqui[/url]

[]´s

Renato


Responder

Gostei + 0

29/04/2006

Aerreira

Achei o VDOPrint muito confuso, acabei não conseguindo fazer ele funcionar... Sabe se funciona no Delphi5 e/ou Delphi2006 ?


Responder

Gostei + 0

29/04/2006

Aerreira

Acho que eu tava meio maluco quando olhei o VDO print pela ultima vez.. Acabei de instalar no Delphi5, funcionou beleza.. E vejo que tem versão para o Delphi2006... Acho que vou analisar ele melhor...

Sabem se tem algum problema no VDOprint para imprimir em matriciais em impressoras remotas (em outra estação da rede) ?


Responder

Gostei + 0

30/04/2006

Vinicius2k

Sabem se tem algum problema no VDOprint para imprimir em matriciais em impressoras remotas (em outra estação da rede) ?


Nenhum problema! Você pode usar [b:b8ece4f3f8]\\estacao\impressora[/b:b8ece4f3f8] ou mapear a porta local... A escolha é sua. As únicas regras a serem seguidas são:
- A impressora precisa estar compartilhada na estação.
- A impressora deve estar instalada no Windows da estação aonde sua aplicação roda.


Responder

Gostei + 0

30/04/2006

Aerreira

Beleza pura Vinicius, meus parabéns pelo excelente trabalho!!!

Pelo que já vi, não há nenhuma limitação quanto a impressoras USB que não se podia imprimir pelas aplicações DOS, certo?


Responder

Gostei + 0

30/04/2006

Vinicius2k

Beleza pura Vinicius, meus parabéns pelo excelente trabalho!!!

Obrigado! ;)

Pelo que já vi, não há nenhuma limitação quanto a impressoras USB que não se podia imprimir pelas aplicações DOS, certo?

Correto. Apesar de não existirem matriciais USB, o VDOPrint pode ser utilizado com impressoras na USB, InkJet ou Laser.


Responder

Gostei + 0

30/04/2006

Aerreira

Correto. Apesar de não existirem matriciais USB, o VDOPrint pode ser utilizado com impressoras na USB, InkJet ou Laser.


Muito bom...

Fiz alguns testes com o VDOPrint e, comparando com o RDPrint, achei que no VDO temos mais controle sobre o posicionamento dos caracteres impressos, coisa que no RD às vezes fica meio ruim de alinhar. O RD tem muito mais controles sobre a formatação, aceita outros tipos de impressora (personalizada), e tem um visual de Preview mais caprichado. Mas ainda assim, e também (ou principalmente) pelo fato de ser OpenSource, meu voto vai para o VDO.


Responder

Gostei + 0

03/05/2006

Djorius

galera, consegui mandar os comandos para espaçamento de linha. mas agora tem outra coisa. estou com o manual da impressora aqui na frente e não estou conseguindo enviar o seguinte comando: (vou escrever como está no manual)

===================================
ASCII    |  Dec. | Hex. | Description
===================================
ESC j n  |    74  |  4A   | Perform n/216-inch Line Feed
                                    n=0-255
===================================


Para enviar esse comando eu vou fazer:

WriteLn(Arquivo, :?: );

valeu.


Responder

Gostei + 0

03/05/2006

Aerreira

ESC = chr(27)
J (jota maiúsculo) = 74 decimal, 4A hexa = chr(74)

Use:
chr(27)+chr(74)+´216´ para andar 1 polegada
chr(27)+chr(74)+´108´ para andar 1/2 polegada
chr(27)+chr(74)+´54´ para andar 1/4 de polegada
chr(27)+chr(74)+´36´ para andar 1/6 de polegada (igual ao espaçamento padrão)
chr(27)+chr(74)+´1´ para andar 1/216 ávos de polegada


Responder

Gostei + 0

06/05/2006

Eniorm

Apesar de não existirem matriciais USB


eu achava que a Epson LX300+ tinha suporte a USB :lol:


Responder

Gostei + 0

06/05/2006

Vinicius2k

Da LX300+ eu, realmente não sei... já trabalhei com algumas, mas nunca reparei se tinha a porta USB.
Só que ´peguei pesado´ em falar que não existem... existem sim, só são raras (por serem novas). Esta semana um cliente adquiriu uma FX-2190 c/ USB. Excelente impressora!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar