HI,
Precisei fazer com que um recibo de pagamento para impressora não fiscal fosse impresso em um modelo térmico, uma daruma dr700.
Para o modelo matricial tava usando a dll, mas não consegui usar a desse modelo. Como tava com o tempo curto, resolvi montar da maneira antiga, mandando pra impressora.
Antes tentei usar o forte reports, mas não ficou muito legal, ficou faltando imprimir alguns caracteres na margem direita.
Pesquisando uma alternativa encontrei um monte de exemplos usando a unit TPrinters.
Quando tava implementando, me deparei com um problema, ao fazer o texto continuar na próxima linha, não estava separando de forma correta. Ex: Colégio, fica o "C" numa linha e "olégio" na seguinte.
Consegui resolver esse problema usando os exemplos desses dois sites
WrapText
http://www.delphibasics.co.uk/RTL.asp?Name=WrapText&ExpandCode2=Yes
Delphi: Write multi-line text on a TCanvas
http://shrimpworks.za.net/2006/05/24/delphi-write-multi-line-text-on-a-tcanvas/
Ficou assim para imprimir um texto:
lines.Text := WrapText('Texto a ser impresso em mais de uma linha. Fazendo isso a separação das palavras acontece de forma correta. Espero ter ajudado.', 47);
for I := 0 to lines.Count - 1 do begin
Canvas.TextOut(Coluna, Linha, lines[I]);
Linha := Linha + PuloLinha;
end;
Fiquem na Paz!!!
Nenhum comentário:
Postar um comentário