La Web del Programador: Comunidad de Programadores
 
    Pregunta:  38870 - SECUENCIAS DE ESCAPE EN DOS
Autor:  Enrique Gonzalez
Estoy realizando pruebas con una impresora EPSON, modelo TM-U200. Dicha impresora es para uso en puntos de ventas y posee la caractristica de cortar automaticamente el papel. En la pagina web de la empresa EPSON, especifica claramente que existen comandos (secuencias de escape) para realizar esta funcion, concretamente ESC i. Consultando varias paginas web, me encontre con la siguiente solucion:

- Recurrir a un programa hexadecimal como Hexed o Hexcalibur, para crear la secuencia de escape y luegon con un editor de texto cualquiera, se copia la secuencia utilizando la facilidad copiar y pegar.

El problema es que no se definir la secuencia en el editor hexadecimal. Me gustaria saber si existe otra forma de representar o pasarle una secuencia de escape a la impresora desde un entorno DOS.

Gracias de antemano.

  Respuesta:  Pedro Amaro
No me queda muy claro si pretendes cortar el papel de la impresora desde un fichero bat o desde un programa que corre bajo msdos, si lo segundo yo te puedo indicar como hacerlo por ejemplo en qbasic pero supongo que es similar en otros lenguajes.

'Doy por echo que la impresora esta en LPT1 si no es as
Open "LPT1:" for output as #1
Print #1, "Esta es la primera linea que se imprime"
Print #1, "Esta es la ultima linea que se imprime"
Print #1,chr$(27);"i"
close #1

Con esto el programa imprimira las dos lineas de texto y luego corta el papel.

Si lo que pretendes en hacerlo desde un fichero bat, aquĆ­ va un truco.
Con un programa en qbasic generamos un fichero con la secuencia de escape necesaria y luego desde el fichero bat copiamos ese fichero con la secuencia a la impresora.

---- Programa en qbasic para generar la secuencia -------
Open "CORTA.PRN" for output as #1
Print #1,chr$(27);"i"
close #1

---- Fichero BAT que provoca el corte de papel
Echo. Vamos a cortar papel !!!!
copy CORTA.PRN LPT1

Pruebalos y ya me contaras.