Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Alimentacion de Papel en Epson tmu 200 (https://www.clubdelphi.com/foros/showthread.php?t=4829)

frankmch 30-10-2003 00:34:57

Alimentacion de Papel en Epson tmu 200
 
Saludos a todos los colegas del foro....

En esta ocasion tengo un problema que aun no he podido solventar, espero laguien me de una sugerencia.

Necesito realizar una rutina en delphi que me permita hacer retroceder el rollo de papel en una impresora Epson tmu 200, asi como hacer la alimentacion del mismo desde la aplicacion, este segundo topico no es tan critico ya que la impresora posee ese control con un boton de feed, pero necesito retroceder el papel para poder cuadrarlo con el menbrete de la compañia al momento de imprimir...


cualquier sugerencia o comentario sera agradecido...

gracias de antemano

jachguate 30-10-2003 20:16:20

mmm.... hasta donde recuerdo las TMU's no soportan retroceso de carro...

Y hombre... me has asustado al decir que necesitas que "Alimente" el papel también, pues eso está un poco mas complicado... jejeje :D :D

Hasta luego.

;)

marcoszorrilla 30-10-2003 20:21:57

Hace años me ocurrio algo parecido con una Philips y la solución fue avanzar x lineas y saltarme la primera página y empezar por la segunda en el lugar deseado, ya que la impresora tiene un visor y no admitía ponerla más atrás ni siquiera a mano puesto que no imprimía.

A ver si te vale la idea.

Un Saludo.

frankmch 31-10-2003 01:50:05

Las Tmu 200 aceptan retroceso y avance de papael desde software, yo tampoco lo creia hasta que lo vi implementado con un programa hecho en Clipper...

lamentablemente no poseo los fuentes de dicho programa.

jachguate 31-10-2003 05:27:19

Tenes toda la razón... es parte del estándar:
  • ESC J n Realiza un avance de línea en unidades mínimas
  • ESC K n Realiza un retroceso de líneas en unidades mínimas
  • ESC d n Avanza el papel el número de líneas indicado por n
  • ESC e n Retrocede el papel el número de líneas indicado por
    n

Hasta luego

;)

frankmch 04-11-2003 01:06:41

gracias por la informacion, me es bastante util.

Podrias facilitarme la direccion donde puedo conseguir la documentacion del estandar de estas imoresoras, ya que me interesaria conocer a fondo el uso de las mismas.

tambien agradeceria me esclarecieras un poco el uso de los comandos ESC/POS, no tengo muy claro como implementarlos en mi programa.

gracias

jachguate 04-11-2003 06:16:54

La información sobre el estándar es escasa... sin embargo, si buscas justamente por esc/pos en google o altavista, seguro encontras algo útil.

Cual es específicamente tu problema para implementar los comandos en tu programa?

Hasta luego.

;)

frankmch 04-11-2003 14:16:13

Lo Que no tengo claro es acerca de como enviarle estos comandos a la impresora.
lo hago mediante que objeto?

Podrias darme un ejemplo del envio de estos parametros a la impresora (ESC/POS)

Gracias

jachguate 05-11-2003 07:13:12

Lo normal es escribirlos directamente en el puerto paralelo/serial, al estilo del viejo pascal.

algo como:
Código:

Var
  lst : TextFile;

Begin
  AssignFile(lst, 'lpt1'); // o com1, lpt2, etc.
  Rewrite(lst);
  write(lst, LaSecuenciaDeEscapeQueTeInterese);
  Writeln(lst, 'Hola, esto es una prueba!');
  Close(lst);
End;

Hasta luego.

;)

Mnemosine 07-07-2005 00:19:36

Cortar papel en Epson TM-U200B
 
hola a todos, espero alguienme pueda auxiliar necesito enviar el corte de papel desde mi aplicacion en Delphi 7, alguien podria explicarme como hacerlo.


Saludos

dionisiopz 27-07-2006 23:28:02

Así de simple
 
:)
Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
var Impresora : TextFile;
Begin
     assignFile(Impresora, 'LPT1'); //Asigna el puerto a la variable "Impresora"
     //'LPT1' indica el puerto al que se conecta la impresora, 
     //ej.: 'COM1', 'COM2'

     rewrite(Impresora);  //apertura del archivo, creacion
 
     //Los siguientes son comandos ESC. ESC o escape es el caracter #27
     //Comando para cambiar tipo de letra: ESC ! n
     Write(Impresora, #27);//ESC, Write(Impresora, ESC);
     Write(Impresora, '!');// ! , Write(Impresora, !);
     Write(Impresora, #1); //Write(Impresora, n); #n
     {n=0 : 10cpp
       n=1 : 12cpp
       n=2 : proporcional
       n=4 :comprimido
       n=8 : negrita
       n=16 :doble altura
       n=32:doble anchura
       n=64 : cursiva
       n=128 : subrayado}
     Writeln(Impresora, 'TIENDA DE ROPA LAS VEGAS');//Texto a imprimir
     Writeln(Impresora, '123456789012345678901234567890');
     Writeln(Impresora, '111111111111111111111111111111');
     Writeln(Impresora, 'abcdefghijklmnopqrstuvxyzABCDE...');
     Writeln(Impresora, '______________________________');
     Writeln(Impresora, '------------------------------');
     Writeln(Impresora, '?? !"#?%&''()*+,-./0123456789:');
     Writeln(Impresora, ';<=>?@ACD..xyz{|}~¦ÇüéâäàåçêëèïîìÄ');
     Writeln(Impresora, 'ÖÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»¦');
     Writeln(Impresora, '¦ÂÀ©¦¦++¢¥++--+-+ãÃ++--¦-+¤ðÐÊËÈiÍÎ');
     Writeln(Impresora, 'Ï++¦_¦Ì¯ÓßÔÒõÕµþÞÚÛÙýݯ´­±=¾¶§÷¸°¨·');
     Writeln(Impresora, '¹³²¦ ');
     Writeln(Impresora, 'ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ'); //Linea Doble
     Writeln(Impresora, 'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ'); //Linea sencilla.

     //Para avance de unidades mínimas comando: ESC J n
     //Ejemplo:
     Write(Impresora, #27);//ESC
     Write(Impresora, 'J');// J
     Write(Impresora, #200);// n=número de unidades mínimas

     //Para avance de líneas comando: ESC d n
     //Ejemplo:
     Write(Impresora, #27);// ESC
     Write(Impresora, 'd');// d
     Write(Impresora, #10);// n= número de líneas

     //Para corte del papel comandos:
     // ESC i
     // ESC m
     Write(Impresora, #27);
     Write(Impresora, 'm');// m= corte parcial, en teoria i= corte total

     CloseFile(Impresora); //cerrar el archivo
end;

chip01 23-11-2011 19:23:22

impresora de red
 
Hola como estan?

El codigo me sirvio bien, pero yo coloco en vez de assignFile(Impresora, 'COM2'); pongo assignFile(Impresora, '\\192.168.1.1\impresora');
para que funcione con una impersora compartida, o sino si quiero seleccionarla coloco un combobox y luego este codigo

procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
begin
for i := 0 to Printer.Printers.Count - 1 do
combobox1.Items.Add(Printer.Printers[i]);
end;
Y en el uses coloco PRINTERS


La franja horaria es GMT +2. Ahora son las 03:43:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi