Problemas com Printer.canvas

Delphi

01/06/2004

Estou utilizando o printer.canvas para imprimir etiquetas, configura para uma determinada impressora, ajusto as colunas e tudo mais, quando vou testar em outra impressora sai tudo fora da posição, parece que a posição que vai imprimir é diferente em cada impressora. É assim mesmo ou tem como resolver?

Desde ja agradeço.

Lucas.


Lucas_rp

Lucas_rp

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

01/06/2004

Lucas,

É assim mesmo e tem como resolver... a variação é em função das diferentes resoluções das impressoras e tbm em relação ao tamanho da fonte... vc não pode fixar números X e Y para incrementar a coluna e a linha de impressão, vc deve fazer o incremento baseado na resolução da impressora...
A forma mais prática de se fazer isso é ler duas propriedades de Canvas... veja este exemplo :
var TextX, TextY, Coluna, Linha : Integer;
begin
  TextX:= Printer.Canvas.TextWidth(´ ´);
  TextY:= Printer.Canvas.TextHeight(´ ´);
  Coluna:= 0;
  Linha:= 0;
  Printer.Canvas.TextOut(Coluna,Linha,´Imprimindo com Canvas...´);
  Inc(Coluna, TextX);
  Inc(Linha, TextY);
  Printer.Canvas.TextOut(Coluna,Linha,´Imprimindo com Canvas...´);
end;

Espero ter ajudado...
T+


GOSTEI 0
Lucas_rp

Lucas_rp

01/06/2004

Valeu a Dica, deu certo.

Lucas.


GOSTEI 0
POSTAR