Delphi - Delphi con impresoras Fiscales

   
Vista:

Delphi con impresoras Fiscales

Publicado por nicolas (2 intervenciones) el 19/11/2013 20:41:43
Buenas Tardes. Necesitaria un pequeño empujon con respecto a las impresoras fiscales en delphi ya que me estan pidiendo que realice una aplicacion que imprima tickets y facturas. Tengo para realizar pruebas con una impresora EPSON TMU 220Af. Me gustaria ver un pequeño ejemplo de como
imprimir un ticket. Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Delphi con impresoras Fiscales

Publicado por E.T. (1108 intervenciones) el 20/11/2013 00:47:58
Pues puedes usar dos formas de imprimir, si tu impresora es LPT usas este metodo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure ImprimeTicket;
var
  iImpresora : TextFile;
  sPuertoImpre: string;
begin
  sPuertoImpre := 'LPT1'; //No recuerdo si es LPT1 o LPT1: hay que probar //Puerto: LPT1, LPT2, COM1, COM2, etc; depende de tu sistema operativo
  Assignfile(iImpresora,sPuertoImpre);
  Rewrite(iImpresora);
  Writeln(iImpresora,'Hola mundo');
  Writeln(iImpresora,'Texto para el ticket');
  Writeln(iImpresora,'');
  Writeln(iImpresora,'');
  Writeln(iImpresora,'');
  CloseFile(iImpresora);
end;

Ahora, si tu impesora es usb, que creo no es el caso, puedes mapear tu impresora a un puerto LPT virtual, hay infinidad de tutoriales que encuentras en google para eso, pero si no quieres mapear puertos, puedes usar este otro método que es similar al anterior

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//Este metodo se recomienda para impresoras termicas y de alta velocidad de impresion, olvidalo si es impresora de impacto porque tarda en imprimir
//Hay que agregar al uses la unidad "printers"
procedure ImprimeTicket;
var
  x, y: integer;
begin
  Printer.PrinterIndex := Printer.Printers.IndexOf('Tu impresora de windows');// es obvio que aqui va el nombre de la impresora tal cual la tienes en tu lista de impresoras instaladas
  Printer.BeginDoc;
  //puedes seleccionar fuentes distintas asi
  //Printer.Canvas.Font.Name := 'Arial';
  x := 15;
  y := 30;
  Printer.Canvas.TextOut(X, Y, 'Hola mundo');
  y := y + Printer.Canvas.TextHeight('I') + 5; // con esta linea recorres la posicion "y" justo la altura del texto mas 5 pixeles
  Printer.Canvas.TextOut(X, Y, 'Texto para el ticket');
  y := y + Printer.Canvas.TextHeight('I') + 5;
  Printer.Canvas.TextOut(X, Y, '');
  y := y + Printer.Canvas.TextHeight('I') + 5;
  Printer.Canvas.TextOut(X, Y, '');
  y := y + Printer.Canvas.TextHeight('I') + 5;
  Printer.Canvas.TextOut(X, Y, '');
  Printer.EndDoc;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Delphi con impresoras Fiscales

Publicado por Nicolas (2 intervenciones) el 20/11/2013 00:58:26
Hola E.T. desde ya te agradezco por haberme contestado. Te comento que la impresora es "Fiscal" y tengo entendido que hay que instalar unas OCX del fabricante de la impresora pero no se como comenzar con las instrucciones para abrir un comprobante fiscal, cerrar un coomprobante fiscal, etc. Un abrazo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Delphi con impresoras Fiscales

Publicado por E.T. (1108 intervenciones) el 20/11/2013 01:35:02
Primero prueba que tu impresora funcione, y que el codigo que puse tambien funcione bien, si funciona pues habria que ver si tiene comandos especiales para la impresion de documentos fiscales, algo similar a los comandos Esc-Pos normales de epson
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar