Fórum Impressao Printer.Canvas em matricial no WinXP #340709

20/04/2007

0

Amigos,

Estou com um grande problema e preciso da ajuda de vocês.
Estou fazendo manutenção em uma rotina de impressão que utiliza Printer.Canvas para impressão em matricial.
Ocorre que este sistema rodava em máquinas com win98 e agora foram substituídas por máquinas com WinXP. Nas máquinas com 98 funciona perfeitamente, onde informo tipo de fonte = Courier e tamanho = 10, porém, no WinXP estas informações não são respeitadas, ou seja, independente da fonte e tamanho que informo, a impressão sai sempre em um mesmo padrão.
Já tentei outras fontes, verifiquei se as fontes realmente existiam na máquina, mudei driver de impressão e nada funciona.
Alguém teria alguma idéia de como fazer o WinXP respeitar a fonte selecionada no Printer.Canvas.Font.Name e utilizá-la na impressão como ocorria no Win98?
Será que terei que refazer minha rotina de impressão?

Grato,

Renato


Renatotm

Renatotm

Responder

Posts

20/04/2007

Edilcimar

Tem algum erro na sua programação, tenho programa que utiliza isto e roda tanto no 98 quanto no xp


Responder

Gostei + 0

20/04/2007

Renatotm

Eu também achei que era problema na rotina, mas pra você ter uma idéia, fiz o seguinte teste:

Printer.BeginDoc;
Printer.Canvas.Pen.Width := 1;
Printer.Canvas.Font.Name := ´Courier´;
Printer.Canvas.Font.Size := 10;
Printer.Canvas.Textout(1143, 120, Printer.Canvas.Font.Name);
Printer.EndDoc;

E para minha surpresa não imprime nada na matricial, já na laser sai perfeito.
No Win98 minha rotina de impressão respeitava a fonte que eu selecionava e no XP a mesma rotina não respeita.
Existe alguma outra configuração que eu deva fazer para o WinXP?

Grato


Responder

Gostei + 0

21/04/2007

Edilcimar

Printer.BeginDoc;
Printer.Canvas.Font.Name := ´Courier´;
Printer.Canvas.Font.Size := 10;
Printer.Canvas.Textout(1143, 120, Printer.Canvas.Font.Name);
Printer.EndDoc;


Responder

Gostei + 0

23/04/2007

Renatotm

Printer.BeginDoc; Printer.Canvas.Font.Name := ´Courier´; Printer.Canvas.Font.Size := 10; Printer.Canvas.Textout(1143, 120, Printer.Canvas.Font.Name); Printer.EndDoc;


Bom dia Edilcimar,

Primeiramente obrigado pela ajuda!
Eu testei esse exemplo que você passou e mesmo assim não imprime nada.
A impressora somente dá um salto de página, a impressão que dá é que ela não consegue reconhecer as fontes.
Será que tenho que usar um driver diferente para impressora?
Estou usando o driver do fabricante FX 2170.

Grato.


Responder

Gostei + 0

23/04/2007

Edilcimar

teste a troca de fonte, pois pode ser que vc não tenha a referida, teste com a arial que todo cp tem


Responder

Gostei + 0

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

Aceitar