Bom dia Tiago Ravache
Obrigado por responder
Ontem, madrugada afora, eu achei uma função que imprimi o Timage, mas fiquei um pouco decepcionado;
Hoje, testei as funçoes que voce me indicou nos links e ficou bem mais controlável (muito boa)
procedure DrawImage(Canvas: TCanvas; DestRect: TRect; ABitmap: TBitmap);
procedure PrintImage(Image: TImage; ZoomPercent: Integer);
Mas a minha decepção continua, pois como estou escrevendo no Timage, não encontrei nenhuma possibilidade que permita quebrar a página ou indicar ao Timage.Heigth que atingiu um certo tamanho, além do que, eu preciso saber qual o tamanho do Heigth antes de começar a escrever no Timage, de outra forma ele não se altera.
Também já pensei em deixar essa questão de lado e partir pro repaginamento apenas no momento da impressão. Mas como sou brasileiro, e se tem geradores de relatório que permitem controlar o paginamento na tela, então nós somos capazes, talvez adiar, mas desistir nunca.
Estive pensando também que uma boa saída talvez para impressão, seria a impressão pixel a pixel, infelizmente eu tentei criar essa possibilidade mas meus poucos conhecimento de programação mais avançada não me permitiram criá-lo.
Antes de mais nada, vamos deixar claro, qual é a minha necessidade.
a) Criar uma forma de imprimir para impressoras Térmicas utilizando os recursos das mesmas, evitando a generic Text (Resolvido - AcbrPosPrinter);
b) Criar um visualizador daquilo que seria impresso através do PosPrinter (Resolvido - Usando Form+TImage com impressão canvas lendo StringList);
c) Já saudável os fatos acima, me ocorreu a possibilidade de ter um Gerador de Relatório baseado nos fatos acima, onde até já criei funções que permitem facilitar "o escrever o relatório usando canvas";
d) Diante dessas circunstâncias é que me pego na luta em entender como funciona um gerador de relatório;
Os amigos vão ler essa mensagem e dizer "O Marcelo burro, está querendo reinventar a roda", digo sim, e por que não. Afinal, os concorrentes de Gerador de Relatório estão ai a todo vapor, se ninguem tentasse reinventar a roda, não teríamos concorrentes.
Detalhes que faltam
a) Saber se o Timage seria o componente ideal ou se tem algum outro que permita a quebra de pagina; Qual a possibilidade de escrever a impressão usando TPrinter.Canvas e ao invés de enviar para impressora, poder salvar como arquivo, para que possa talvez ser carregado no visualizador no momento da escolha do usuário (Imprimir ou Visualizar);
c) Como imprimir o Timage de forma que o mesmo quebre páginas conforme o tamanho e formato A4 por exemplo.
Desculpe me estender
Se alguem tiver o prazer de compartilhar seus conhecimentos nós ficamos lisonjeados
Muito obrigado