Impressão matricial usando TPrinter

22/12/2005

1

Pessoal mais um grande problema, agradeço muuuito se alguém puder me dar uma luz...

Quando uso impressão com TPrinter, em uma rotina de impressão de
boletos. Ele só imprime até o terceiro boleto em qualquer impressora.
Verifiquei que, se eu gerar um arquio bmp com o Canvas, todos os
boletos saem corretamente. Tentei imprimir pelo Paint (O arquivo gerado)sai corretamente. Desta forma soube que não era problema nem da rotina de impressão, na qual gera o arquivo corretamente, nem do driver ou do Sistema operacional, pois imprime corretamenete.
Tentei gerar o arquivo e imprimir o bmp por dentro do delphi, mas o
resultado é exatamente o mesmo. Só imprime 3 boletos. Estes 3 boletos são exatamente o tamanho de uma página A4. Não sei se estes fatos tem
relação.
Alem destes, fiz muitos testes aqui. E no geral, não consigo imprimir no
Delphi usando TPrinter(Com geradores de relatório como por exemplo
o QuickReport, funciona perfeitamente) mais de 3 boletos se eu não
der um ´NewPage´. O Caso é que, se eu der um NewPage, ele vai pular o tamanho de uma página, consequentemente, pular 3 boletos e imprimir errado. O incrível é que nem uma impressão simples como a no código abaixo fuinciona

var
ct : integer;
begin
printer.BeginDoc;
for ct := 0 to 1000 do
printer.Canvas.TextOut(50, 50*ct, IntToStr(ct));
printer.EndDoc ;

este código só imprime até um determinado número dependendo da
resolução da impressora, mas sempre no tamanho de 1 página a4.

O mais incrível, é que a mesma rotina funcionava a alguns dias
atras.

E outra coisa que me deixa muito intrigada é que de uma maquina para uma determinada impressora imprime tudo , mas de outra máquina pra mesma impressora naum imprime.

Desde já agradeço.


Responder