Condensar o comprimir fuente de impresora en C#

26/06/2008 - 14:33 por alfonso_C# | Informe spam
Hola me gustaria saber que secuencia de escape puedo mandar con C# a
una impresora para que condense la fuente y un ejemplo pequeño de como
incluirlo en la cadena que mando a la impresora por favor. Gracias por
adelantado (^_^)

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
26/06/2008 - 15:23 | Informe spam
"alfonso_C#" wrote in message
news:
Hola me gustaria saber que secuencia de escape puedo mandar con C# a
una impresora para que condense la fuente y un ejemplo pequeño de como
incluirlo en la cadena que mando a la impresora por favor. Gracias por
adelantado (^_^)



Depende de cada modelo de impresora. Por ejemplo, he visto varias Epson
que usan [ESC]![5] (donde [ESC] representa el carácter 27 y [5] el que vale
5 en binario).
Para incluirlo en la cadena, no hay más que concatenarlo: cadena =
"\x1b!\x05" + "Texto comprimido" + "\x1b!\x01";

Por supuesto que esto solo funciona si lo envías a la impresora
directamente. Si pasas a través del driver de impresora de Windows,
intentará dibujar esos carateres, con resultados imprevisibles.
Respuesta Responder a este mensaje
#2 alfonso_C#
26/06/2008 - 19:02 | Informe spam
On 26 jun, 09:23, "Alberto Poblacion" <earthling-
wrote:
"alfonso_C#" wrote in message

news:

> Hola me gustaria saber que secuencia de escape puedo mandar con C# a
> una impresora para que condense la fuente y un ejemplo pequeño de como
> incluirlo en la cadena que mando a la impresora por favor. Gracias por
> adelantado (^_^)

   Depende de cada modelo de impresora. Por ejemplo, he visto varias Epson
que usan [ESC]![5] (donde [ESC] representa el carácter 27 y [5] el que vale
5 en binario).
   Para incluirlo en la cadena, no hay más que concatenarlo: cadena > "\x1b!\x05" + "Texto comprimido" + "\x1b!\x01";

   Por supuesto que esto solo funciona si lo envías a la impresora
directamente. Si pasas a través del driver de impresora de Windows,
intentará dibujar esos carateres, con resultados imprevisibles.



Eso podria funcionar universalmente con la mayoria de impresoras de
impacto ?
Respuesta Responder a este mensaje
#3 Alberto Poblacion
26/06/2008 - 19:46 | Informe spam
"alfonso_C#" wrote in message
news:
Eso podria funcionar universalmente con la mayoria de impresoras de
impacto ?



No, por desgracia la secuencia necesaria varía de una marca a otra e
incluso a veces de un modelo a otro dentro de la misma marca.
Respuesta Responder a este mensaje
#4 RFOG
26/06/2008 - 20:15 | Informe spam
Alberto,

Todas las impresoras matriciales (al menos las de mi época) soportaban el
modo emulado de EPSON LQ2550 o IBM Propinter XL24 o algo así, y esos juegos
sí que son estándard, simplemente hay que poner la impresora en uno de esos
dos modos mediante el menú de configuración de la propia impresora.

Por otro lado, si la das de alta como "Solo texto" y le envías las cadenas
en un lienzo de impresión normal, debería funcionar, eso sí, sin poder sacar
gráficos ni nada a no ser que se los envíes con los códigos de escape, en
lugar de abrir el puerto serie/paralelo/usb en modo raw mediante
CreateFile...



"Alberto Poblacion"
escribió en el mensaje de noticias
news:
"alfonso_C#" wrote in message
news:
Eso podria funcionar universalmente con la mayoria de impresoras de
impacto ?



No, por desgracia la secuencia necesaria varía de una marca a otra e
incluso a veces de un modelo a otro dentro de la misma marca.




Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
Pisarás el umbral del bienestar, cuando empieces a sentirte satisfecho con
apenas nada.
Respuesta Responder a este mensaje
#5 alfonso_C#
26/06/2008 - 20:44 | Informe spam
On 26 jun, 14:15, "RFOG" wrote:
Alberto,

Todas las impresoras matriciales (al menos las de mi época) soportaban el
modo emulado de EPSON LQ2550 o IBM Propinter XL24 o algo así, y esos juegos
sí que son estándard, simplemente hay que poner la impresora en uno de esos
dos modos mediante el menú de configuración de la propia impresora.

Por otro lado, si la das de alta como "Solo texto" y le envías las cadenas
en un lienzo de impresión normal, debería funcionar, eso sí, sin poder sacar
gráficos ni nada a no ser que se los envíes con los códigos de escape, en
lugar de abrir el puerto serie/paralelo/usb en modo raw mediante
CreateFile...

"Alberto Poblacion"
escribió en el mensaje de noticiasnews:

> "alfonso_C#" wrote in message
>news:
>> Eso podria funcionar universalmente con la mayoria de impresoras de
>> impacto ?

>   No, por desgracia la secuencia necesaria varía de una marca a otra e
> incluso a veces de un modelo a otro dentro de la misma marca.

Microsoft Visual C++ MVP
==> Mi blog sobre programación:http://geeks.ms/blogs/rfog
Momentos Leves:http://momentosleves.blogspot.com/
Cosas mías:http://rfog.blogsome.com/
Libros, ciencia ficción y  programación
> Pisarás el umbral del bienestar, cuando empieces a sentirte satisfecho con
apenas nada.
  -- Proverbio árabe.



Gracias. (^_^)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida