Ver Mensaje Individual
  #2  
Antiguo 11-01-2018
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Reputación: 20
darkerbyte Va por buen camino
Mas datos

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 lo obtienes declarando la unidad printers en el USES
//PrinterIndex es el numero de la impresora instalada en windows, puedes tener una sección donde el usuario pueda configurar su
//impresora para tickets de manera que no tenga que ser la impresora por default de windows.
Printer.PrinterIndex:= nimpresora; 
Printer.Copies:=1;
//Luego simplemente manda a llamar al método imprimir:
   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.
Responder Con Cita