Hola.
Supongo que lo que quieres es imprimir en una impresora termica de TICKETS.
Hay varias maneras de hacerlo.
1. Con un reporteador (yo he usado Quickreport)
2. Usa un TRichedit, vacía el texto a imprimir en el richedit y luego usa unas lineas como estas:
Código Delphi
[-]
Printer.PrinterIndex:= nimpresora;
Printer.Copies:=1;
try redit.Print('Ticket');
except error:=True;
end;
Para estos dos primeros casos, dependiendo de tu impresora (todas las Epson y Star, por ejemplo) tienen en sus opciones de configuración donde puedes programar el corte de papel, puede ser al finalizar el documento, en cada pagina nueva, etc.
3. Usa un método como este:
Código Delphi
[-]
procedure Timpresion.ImprimirWin(contenido : Tstrings; impresora:TPrinter);
var
i,h : integer;
begin
with impresora do
begin
beginDoc;
h:= Canvas.TextHeight(Contenido.Strings[0]);
for i := 0 to Contenido.Count-1 do
Canvas.TextOut(0,i*h,Contenido.Strings[i]);
endDoc;
end;
end;
4. Utiliza una impresión RAW puedes buscar en el foro, los compañeros han subido varios ejemplos
Para los puntos 3 y 4 puedes ocupar los comandos de la impresora ESC/POS para que controles manualmente el corte de papel, cajon de dinero, etc.
Te comento que todos los métodos funcionan bien, pero los que mejores resultados me han dado es el 2 y el 4. Aunque en mis programas incluyo los 4 métodos porque a veces son impresoras matriciales, no se tiene controlador, y en mi caso los clientes luego tienen cada impresora mas vieja que hay que echar a andar. Si te vas a concretar en un modelo específico de impresora la cosa esta todavía mas fácil.