PDA

Ver la Versión Completa : Comandos para Epson TM-U220B


MAGRANA
09-01-2004, 13:54:38
Hola, necesito imprimir unos ticket mediante una Epson TM-U220B. Se que se utilizan los camandos de API Escape, he conseguido algunos de ellos, pero no consigo imprimir nada más que guarrería. ¿Qué debo de hacer para que salgan los caracteres que yo quiero imprimir? ¿Cómo se activa el corte de la cuchilla? ¿Qué comando tengo que emplear para que habra un caján portamonedas?

Espero que me podais ayudar. Gracias.

__cadetill
09-01-2004, 15:50:03
Un ejemplo de impresión con ficheros de texto


procedure TForm1.ImprimirClick(Sender: TObject);
var F : TextFile;
i, j : integer;
temp : string;
begin
AssignFile(F, 'c:\lolo.txt');
Rewrite(F);

// Ponemos título de las columnas
temp := 'Columna1 Columna2 Columna3 Columna4 Columna5';
Writeln(F, temp);
for i := 0 to ListView1.Items.Count - 1 do
begin
temp := ListView1.Items[i].Caption;
for j := 0 to ListView1.Items[i].SubItems.Count - 1 do
temp := temp + ' ' + ListView1.Items[i].SubItems[j];
Writeln(F, temp);
end;

CloseFile(F);
end;

(esto imprime el contenido de un TListView)

Otro ejemplo con Canvas

procedure TForm1.ImprimirCanvasClick(Sender: TObject);
var y, i, j : integer;
temp : string;
begin
Printer.BeginDoc;
With Printer.canvas do
Begin
Printer.Title := 'El titulo del documento que quiero';
Font.Name := 'MS Sans Serif';
Font.Color := ClBlack;
Pen.Color := ClBlack;
Font.Size := 12;
Font.Name := 'Times New Roman';
Font.Size := 12;

// imprimimos ListView
temp := 'Titulo que sale escrito en el papel';
y := 100;
TextOut(10, y, temp);
for i := 0 to ListView1.Items.Count - 1 do
begin
inc(y, 20);
temp := ListView1.Items[i].Caption;
for j := 0 to ListView1.Items[i].SubItems.Count - 1 do
temp := temp + ' ' + ListView1.Items[i].SubItems[j];
TextOut(10, y, temp);
end;
end;
Printer.EndDoc;
end;


Para abrir el cajón portamonedas, sólo has de enviarle los siguientes códigos


procedure AbrirCajon;
var f : TextFile;
begin
AssignFile(f,'lpt1');
try
Rewrite(f);
Writeln(f,#27+'p0'+#100+#0);
finally
CloseFile(f);
end;
end;


Para el tema de la guillotina..... ni idea :(

guillotmarc
09-01-2004, 17:05:24
Prueba a descargarte de la web de Epson, el manual con los códigos de escape para las impresoras TM

https://www.epson-pos.com/cgi-bin/sdssm/main/td_login.jsp?sel_lang=es

Saludos.

MAGRANA
12-01-2004, 09:56:45
:) Muchas Gracias Cadetill, tu respuesta me ha ayudado mucho y ya consigo controlar la impresora.

Por si te hace falta a ti o a alguien, he conseguido los comandos Escape para controlar las impresoras Epson TM de la serie U200.

Para activar el corte es:(Por si algún día lo necesitas).
Write (f, #29+'V'+#66+#20);

Un saludo.