Generando tickets ... Pero????

kerocky en ono.com kerocky en ono.com
Jue Ago 4 08:50:51 CEST 2005


Gracias Pepe, tengo la tabla esc/pos de epson, el problema es q no se interpretar

los codigos en python.

Por ejemplo (este seria uno de los codigos)
ESC ! n
[Name] Select print mode (s)
[Format] ASCII ESC ! n
			Hex 1B 21 n
			Decimal 27 33 n
[Range] 0 ≤ n ≤ 255
[Default] n = 0
[Description] Selects the character font and styles (emphasize, double-height,
double-width, and
underline) together.
Note:
With
Bit Off/On Hex Decimal Function
	0 Off 00 0 Character font A selected.
	  On 01 1 Character font B selected.
	1, 2 Off 00 0 Reserved.
	3 Off 00 0 Emphasized mode not selected.
	  On 08 8 Emphasized mode selected.
	4 Off 00 0 Double-height mode not selected.
	  On 10 16 Double-height mode selected.
	5 Off 00 0 Double-width mode not selected.
	  On 20 32 Double-width mode selected.	
	6 Off 00 0 Reserved.
	7 Off 00 0 Underline mode not selected.
	  On 80 128 Underline mode selected.

y este es un ejemplo que muestra epson en basic:

PRINT #1, CHR$(&H1B);"@"; 'Initializes the printer (ESC @)
PRINT #1, CHR$(&H1B);"a";CHR$(1);'Specifies a centered printing position
(ESC a)
PRINT #1, CHR$(&H1B);"!";CHR$(0); 'Specifies font A (ESC !)
PRINT #1, "January 14, 2002 15:00";
PRINT #1, CHR$(&H1B);"d";CHR$(3); 'Prints and 3 line feeding (ESC d)
PRINT #1, CHR$(&H1B);"a";CHR$(0); 'Selects the left print position (ESC a)
PRINT #1, CHR$(&H1B);"!";CHR$(1); 'Selects font B
PRINT #1, "TM-U210B $20.00";CHR$(&HA);

el problema es q no se como enviar esto a la impresora con python. es decir
no se como interpretar los caracteres.

Alguna idea.

P.D.: Perdón por el anterior post, me equivoqué al enviarlo, está incompleto.


*************************************

Message: 8
Date: Thu, 04 Aug 2005 01:38:19 +0200
From: Pepe Aracil <pepe en diselpro.com>
Subject: Re: [Python-es] Generando tickets ... Pero????
To: La lista de python en castellano <python-es en aditel.org>
Message-ID: <42F1556B.20407 en diselpro.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Hola.

Lo primero que intentaria es averiguar como enviar datos "en crudo" al 
puerto paralelo en win32 (Yo uso linux). Es decir si quiero que la 
impresora me imprima una A, le envio un 65 a la cola de impresión y a la

impresora le llega un 65 y no una "A" pintada como bitmap.
Lo segundo es hacerme con el juego de codigos de escape esc/pos de la 
impresora que nombras.
Y lo tercero seria empezar a experimentar con los codigos esc/pos para 
ver los resultados. Como cambio de fuente, selección de tinta, longitud 
del salto, guillotina de corte, etc.

Si el spooler se puede abrir como un fichero (que no se como funciona en

win32), prueba ejecutar:

f=open("lpt1","w")
f.write(chr(65))
f.close()

----

si la impresora te imprime una "A" estaras por el buen camino y solo 
tendras que enviarle los codigos esc/pos necesarios para formatear tu 
ticket.


Salud.




Berna López wrote:

>Hola a todos, he conseguido imprimir sobre una impresora de tickets, pero
no
>consigo aclararme
>Como tratar los códigos esc/pos de la impresora (Epson tm-u210pd de tickets)
>
>Con el siguiente modulo, los tickets salen bien, pero la fuente que utiliza
>no es la que tiene
>La impresora predeterminada, y necesito conseguir cambiar la fuente.
>
> 
>
>>>>)printer=win32print.GetDefaultPrinter()
>>>>phandle=win32print.OpenPrinter(printer)
>>>>dc=win32ui.CreateDC()
>>>>dc.CreatePrinterDC()
>>>>Directorio_Aplicacion = os.path.abspath(os.curdir)
>>>>f=open(Directorio_Aplicacion+"\\ticket.txt","r")
>>>>memory=f.readlines()
>>>>f.close()
>>>>dc.StartDoc("tumismo.txt")
>>>>dc.StartPage()
>>>>for i in range(0,len(memory)):
>>>> 
>>>>
>... dc.TextOut(0,0+10*i,memory[i],)
>... 
> 
>
>>>>dc.EndPage()
>>>>dc.EndDoc()
>>>> 
>>>>
>
>¿Alquien puede ayudarme, hay algún comando que me permita ese cambio, en
>estos momentos
>Esta utilizando una de las 2 fuentes q tiene la impresora, pero no la que
yo
>necesito?
>
>
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo/python-es
> 
>


------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es