Fórum Impressão de Cheques(Urgente) #164138

02/06/2003

0

Alguém pode me ajudar, tenho um sistema de impressão de cheques e utilizo a instrução CANVAS para imprimir os campos no cheque, até aí tudo bem mas o problema é imprimir o valor do cheque pois este sai muito embaixo, tipo na instrução eu uso ´canvas.textout(600,0,w_val)´
Utilizo uma epson LX 300 e não estou conseguindo... Se eu tento regular manualmente na impressora, ele imprime ou cortado ou o valor só que ilegível... Se alguém puder me ajudar agradeço desde já.
Tiago.


Mrtiago

Mrtiago

Responder

Posts

02/06/2003

Rodrigo Coutinho

quando vc usa o canvas vc que assume o tamanho sobre a fonte e isso é ruim mande a impressão p/ a porta da impresso e deixe que a matricial faça o resto

Var Imp: textfile;
Begin
AssignFile(imp, ´Lpt1´);
Reset(imp);
whiteln(imp, txt);
CloseFile(Imp);
End;

[], Rodrigo Coutinho


Responder

Gostei + 0

02/06/2003

Marconi

Quando utilizar o Canvas.TextOut é muito importante verificar qual o tamanho da folha que esta como padrão na Impressora.
Tente trocar entre A4 e Carta (Letter) vai dar diferença por causa da magem superior.


Marconi


Responder

Gostei + 0

05/06/2003

Mrtiago

Tá, mas como vou mandar mais de um campo, como vou posicionar no cheque os campos que quero imprimir???

Obrigado.


Responder

Gostei + 0

05/06/2003

Marconi

Quando voce esta utilizando o modo texto atraves do Writeln, como sugeriu o Rodrigo, voce pode fazer o seguinte:

Writeln(imp,chr(27)+´@´); // reseta a impressora // 10 ccp é o default
writeln(imp,chr(15)); // se quiser caracteres comprimidos 16.67 ccp
writeln(imp,chr(18)); // para caracteres 10 ccp (caracteres por polegada)

Com os comandos acima a impressora não pula linhas, mas voce pode compor textos e comandos, por exemplo:

Writeln(imp,chr(27)+´@´+StringOfChar(´ ´,30)+floatToStrF(valor,ffNumber,10,2));

Na linha acima eu resetei a impressora, o contador de linhas passou então para 0 (zero), 66 linhas por página, e 10 ccp no modo draft. Então joguei 30 espaços em branco e o valor (real) no formato ffNumber com 2 casas após a virgula. Aqui o formato poderia ser ffCurrency que colocaria o Simbolo ´R$´ antes do número.

A cada Writeln com texto a impressora deve passar para próxima linha. Se não acontecer voce pode acrescentar no fim de cada texto um chr(13), o que obriga ela a mudar de linha. O comando chr(12) obriga ela a ir para a próxima página.

Tanto o espaçamento entre linhas, como o total de linhas de cada página, voce pode trocar com comandos ESC-P da Epson. Voce deve encontra-los no manual da Impressora.

Os manuais são graciosos na própria página da www.epson.com.

Se não encontrar um manual de ESC-P, eu te mando um.

Marconi


Responder

Gostei + 0

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

Aceitar