Impressao Printer.Canvas em matricial no WinXP
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
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
Curtidas 0
Respostas
Edilcimar
20/04/2007
Tem algum erro na sua programação, tenho programa que utiliza isto e roda tanto no 98 quanto no xp
GOSTEI 0
Renatotm
20/04/2007
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
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
GOSTEI 0
Edilcimar
20/04/2007
Printer.BeginDoc;
Printer.Canvas.Font.Name := ´Courier´;
Printer.Canvas.Font.Size := 10;
Printer.Canvas.Textout(1143, 120, Printer.Canvas.Font.Name);
Printer.EndDoc;
Printer.Canvas.Font.Name := ´Courier´;
Printer.Canvas.Font.Size := 10;
Printer.Canvas.Textout(1143, 120, Printer.Canvas.Font.Name);
Printer.EndDoc;
GOSTEI 0
Renatotm
20/04/2007
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.
GOSTEI 0
Edilcimar
20/04/2007
teste a troca de fonte, pois pode ser que vc não tenha a referida, teste com a arial que todo cp tem
GOSTEI 0