Configurar tipos de fuentes y estilos en impresoras matriciales Epson
En cualquier sistema empresarial actual aún es normal que se necesite imprimir comprobantes pre-impresos con impresoras de tipo matriz de punto, cuya calidad de impresión puede ser personalizada ajustando los tipos de fuentes y los estilos de impresión.
Como en muchos casos las impresoras utilizadas para este tipo de aplicaciones son de la marca Epson, principalmente LX-300/300+/300+II, en este artículo se documenta el procedimiento a seguir para configurar los estilos y fuentes de impresión desde la consola de comandos Linux, y desde un servidor de aplicaciones OAS (Oracle Application Server).
En entornos de tipo Unix-like, las secuencias de caracteres de control deben ser enviadas a las impresoras en formato hexadecimal. Básicamente se envía una cadena de caracteres a la entrada estándar del comando lp con el comando echo, el parámetro -d del comando lp permite definir cual será la impresora en la que se enviará la impresión. A continuación se verán algunos ejemplos:
Para entrar en contexto, el escenario que me tocó es el siguiente:
La solución recomendada para estos casos es agregar las secuencias de caracteres de control a un archivo utilizado para configurar la salida de impresión en el servidor de reportes. Estos archivos llevan la extensión .prt y existen varios de ellos dependiendo de la configuración de salida que se necesite. Para que los reportes utilicen la definición de un archivo .prt, se tiene que asignar el nombre del archivo en el parámetro de sistema DESFORMAT durante el periodo de diseño del reporte en Oracle Report Builder, o bien incluirlo en tiempo de ejecución en la lista de parámetros del procedimiento que llama al reporte en un formulario diseñado con Oracle Forms Builder.
Ahora, ¿donde se encuentran los archivos de definición .prt? Pues eso depende de la instalación del servidor de reportes, lo que si es seguro es que los archivos tienen que encontrarse dentro de los directorios especificados en el PATH del servidor para que cuando se ejecute el reporte lo encuentre sin problemas y pueda aplicar el formato de impresión. En el caso del IAS 9i (Internet Application Server de Oracle) los archivos se encuentran en el directorio /ias/6iserver/report60/admin/printer/, y en el OAS 10g (Oracle Application Server) se encuentran en el directorio /oracle/app/oracle/product/midtier/reports/printers/.
A continuación se presenta el contenido de ejemplo de un archivo .prt:
Para el caso en que el servidor OAS y el runtime de ejecución de los reportes estuviese instalado en un sistema operativo Windows, la disposición de las directivas del archivo .prt difieren un poco con las utilizadas en Linux. El contenido del archivo anterior de ejemplo quedaría como sigue:
URL: Impresión matricial con comandos ESC/P desde Oracle Reports
Como en muchos casos las impresoras utilizadas para este tipo de aplicaciones son de la marca Epson, principalmente LX-300/300+/300+II, en este artículo se documenta el procedimiento a seguir para configurar los estilos y fuentes de impresión desde la consola de comandos Linux, y desde un servidor de aplicaciones OAS (Oracle Application Server).
Desde la consola
Para realizar este tipo de configuraciones sin la intervención del usuario, las mismas pueden ser enviadas remotamente a las impresoras desde la consola de comandos del sistema operativo. Estos comandos son secuencias de caracteres de control que las impresoras reconocen y diferencian del contenido de impresión, para posteriormente interpretarlos y modificar su configuración a medida que los va recibiendo.En entornos de tipo Unix-like, las secuencias de caracteres de control deben ser enviadas a las impresoras en formato hexadecimal. Básicamente se envía una cadena de caracteres a la entrada estándar del comando lp con el comando echo, el parámetro -d del comando lp permite definir cual será la impresora en la que se enviará la impresión. A continuación se verán algunos ejemplos:
- Para configurar el estilo de impresión de texto a Negrita tenemos que enviar el siguiente comando a una impresora matricial registrada en el sistema operativo:
testsrv:~ # echo -en '\x1B\x45' | lp -d lpgabriel
El primer código hexadecimal \x1B es un comando de escape que le indica a la impresora que se prepare para recibir una configuración específica, que en este caso es el comando hexadecimal siguiente \x45 que aplica el estilo de letra negrita.OBS: Con la tubería (pipe, |) el comando echo pasa a la impresora los comandos de configuración en formato hexadecimal. Los argumentos e y n (-en) del comando echo activan la interpretación de las barras invertidas y remueven el salto de nueva línea (del comando echo) respectivamente.
- También podemos indicarle a la impresora para que realice un salto de línea de la siguiente manera:
testsrv:~ # echo -en '\x1B\x0A' | lp -d lpgabriel
- Si queremos cambiar el tipo letra que por defecto suele ser Draft o Draft Condensed a Roman o Saint Serif, primero debemos habilitar el uso de fuentes NLQ (Near Letter Quality) con el siguiente comando:
testsrv:~ # echo -en '\x1B\x78\x01' | lp -d lpgabriel
Luego indicarle el tipo de fuente NLQ a usar, para Roman se usa el siguiente comando:testsrv:~ # echo -en '\x1B\x6B\x00' | lp -d lpgabriel
Y para Saint Serif el siguiente:testsrv:~ # echo -en '\x1B\x6B\x01' | lp -d lpgabriel
- Si queremos volver a configurar la impresora para Draft y Draft Condensed tenemos que desactivar el uso de fuentes NLQ de la siguiente forma:
testsrv:~ # echo -en '\x1B\x78\x00' | lp -d lpgabriel
Mediante Oracle Report Builder y Oracle Application Server (OAS)
Como suelo trabajar con Report Builder de Oracle, se presentó la necesidad de imprimir comprobantes pre-impresos con una fuente distinta y mucho más oscura, para lo cual la fuente Roman con el estilo Negrita era la opción recomendada.Para entrar en contexto, el escenario que me tocó es el siguiente:
- Un servidor de reportes Oracle Report Server, que es un módulo del OAS (Oracle Application Server) instalado en un servidor Linux.
- Las impresoras físicas de matriz de punto conectadas a computadoras de escritorio (Windows o Linux) y compartidas en red.
- Las impresoras remotas montadas en el servidor OAS mediante Samba (smb), y configuradas como impresoras de texto plano.
La solución recomendada para estos casos es agregar las secuencias de caracteres de control a un archivo utilizado para configurar la salida de impresión en el servidor de reportes. Estos archivos llevan la extensión .prt y existen varios de ellos dependiendo de la configuración de salida que se necesite. Para que los reportes utilicen la definición de un archivo .prt, se tiene que asignar el nombre del archivo en el parámetro de sistema DESFORMAT durante el periodo de diseño del reporte en Oracle Report Builder, o bien incluirlo en tiempo de ejecución en la lista de parámetros del procedimiento que llama al reporte en un formulario diseñado con Oracle Forms Builder.
Ahora, ¿donde se encuentran los archivos de definición .prt? Pues eso depende de la instalación del servidor de reportes, lo que si es seguro es que los archivos tienen que encontrarse dentro de los directorios especificados en el PATH del servidor para que cuando se ejecute el reporte lo encuentre sin problemas y pueda aplicar el formato de impresión. En el caso del IAS 9i (Internet Application Server de Oracle) los archivos se encuentran en el directorio /ias/6iserver/report60/admin/printer/, y en el OAS 10g (Oracle Application Server) se encuentran en el directorio /oracle/app/oracle/product/midtier/reports/printers/.
A continuación se presenta el contenido de ejemplo de un archivo .prt:
printer "comprobantes"Con las directivas height y width se indica al servicio de impresión del OAS (porque el OAS tiene sus propias definiciones de impresoras .ppd similares a cups) la cantidad de líneas y columnas respectivamente que tendrá cada página. Luego, seguido de la directiva before report van todos los comandos hexadecimales que permiten configurar la impresora matricial Epson antes de imprimir el contenido del reporte. A continuación se aclara cada conjunto de comandos del ejemplo:
height 24
width 80
before report esc hex(30) esc hex(35) esc hex(21)hex(03) esc hex(43)hex(18) esc hex(50) esc hex(45) esc hex(78)hex(01) esc hex(6B)hex(00)
after page
return ""
linefeed control(J)
- esc hex(30): Le indica a la impresora que utilice un interlineado de 8 líneas por pulgada (1/8), ya que por defecto estas impresoras vienen configuradas en 1/6, o lo que sería lo mismo, 6 líneas por pulgada.
- esc hex(35): Cancela el estilo cursiva si es que estuviese activado.
- esc hex(21)hex(03): Aplica un estilo general de impresión donde el valor 03 corresponde a la suma de los códigos indicadores 1 y 2 que definen una configuración de 12 cpi e impresión proporcional de letras respectivamente. En realidad bien podría haber sido el valor en hexadecimal 02, ya que en vez de 12 cpi que tiene el indicador 1 se podría usar el indicador cero (0) de 10 cpi para sumarlo al indicador 2 de impresión proporcional de letras, ya que más adelante se configura nuevamente la impresora a 10 cpi (esc hex(50)).
- esc hex(43)hex(18): Fija la longitud de la página en 24 líneas (18 hex == 24 dec).
- esc hex(50): Configura a la impresora en 10 cpi (characters per inch).
- esc hex(45): Esta secuencia de control configura la impresora para que el estilo de la fuente sea negrita.
- esc hex(78)hex(01): Configura la impresora para que use letras de tipo NLQ (Near Letter Quality) en reemplazo de letras de tipo borrador como Draft y Draft Condensed.
- esc hex(6B)hex(00): Esta secuencia sirve para seleccionar la letra Roman del tipo NLQ (Near Letter Quality).
Para el caso en que el servidor OAS y el runtime de ejecución de los reportes estuviese instalado en un sistema operativo Windows, la disposición de las directivas del archivo .prt difieren un poco con las utilizadas en Linux. El contenido del archivo anterior de ejemplo quedaría como sigue:
printer "comprobantes"
height 24
width 80
before report
esc hex(30)
esc hex(35)
esc hex(21)hex(03)
esc hex(43)hex(18)
esc hex(50)
esc hex(45)
esc hex(78)hex(01)
esc hex(6B)hex(00)
after page
return ""
linefeed control(J)
Documentos útiles
Los comandos para configurar las impresoras matriciales Epson mencionados en este artículo y varios otros más se encuentran documentos en los siguientes enlaces, de los cuales ya se ha hablado en otra entrada que pueden encontrar entre los enlaces del resumen de guías.- Lista de comandos ESC/POS de Epson.
- Lista de comandos ESC/POS. (Scan del manual de una impresora Epson LX-300)
Actualización 16/04/2015
He publicado un *nuevo artículo sobre impresiones matriciales desde Oracle Reports* que tiene mucha relación con lo tratado en este artículo. Pueden visitarlo desde el siguiente enlace:URL: Impresión matricial con comandos ESC/P desde Oracle Reports
Hola Gabriel, primero que todo gracias por el artículo. Estamos haciendo una migración de Forms/Reports 6i a Forms/Reports 11g. Nos encontramos con la situación que los tiquetes en impresoras POS que antes se imprimían bien, ahora son ilegibles. El problema es que no es en modo caracter, sino en modo bitmap. ¿Te has encontrado ante esta situación? De ser así, ¿Sabes cómo resolverlo?
ResponderEliminargracias
Hola, la verdad que a mi aún no se me presentó algo parecido, ya sea porque nunca he probado enviar impresiones en modo bitmap, (siempre he utilizado la opción MODE=Default), o bien porque sigo utilizan el Forms y Reports 10g.
EliminarLas impresoras que usan son de la marca Epson? modelo TMU tal vez? es raro que no te funcione, son como las impresoras Epson LX-300, y que por cierto, ya has probado enviar la impresión a una LX-300?
Saludos.
Amigo gabril tengo una Impresora Epson TM-U220A y necesisto imprimir un Ticket de esta Manera: pero quiero Fuente: Draft o sualquiera que yo le ordene, aqui te envio mi codigo gracias:
ResponderEliminarSub Imprimir()
Dim X As Long
If MsgBox("Desea imprimir Ticket?", 324, VbTitulo) = vbYes Then
Documento = Me.TxtSigla.Text & Format(Me.TxtSerie.Text, "000") & "-" & Format(TxtNumero.Text, "00000000")
With Me
Printer.Font.Size = 8
Printer.Font.Bold = True
Printer.Font.Name = "A11"
Printer.Print Tab(0); VbEmpresa
Printer.Print Tab(20); Documento
Printer.Print Tab(10); Format(Date, "dddd, d mmm, aaaa")
Printer.Font.Bold = False
Printer.Print Tab(5); ""
Printer.Print Tab(5); ""
Printer.Print Tab(0); "Cliente : " & Me.LabelNombres.Caption
Printer.Print Tab(0); "RUC : " & Me.TxtRuc.Text
Printer.Print Tab(5); ""
Printer.Print Tab(0); "-------------------------------------------------------------------"
Printer.Print Tab(0); "Cant."; Tab(8); "Detalle"; Tab(30); "Pre.U."; Tab(42); "Importe"
Printer.Print Tab(0); "-------------------------------------------------------------------"
Printer.Print Tab(5); ""
For X = 1 To Me.FlexFac.Rows - 1
Printer.Print Tab(0); .FlexFac.TextMatrix(X, 3); Tab(5); .FlexFac.TextMatrix(X, 2); Tab(35 - Len(Format(.FlexFac.TextMatrix(X, 4), "###,##0.00"))); Format(.FlexFac.TextMatrix(X, 4), "###,##0.00"); Tab(50 - Len(Format(.FlexFac.TextMatrix(X, 6), "###,##0.00"))); Format(.FlexFac.TextMatrix(X, 6), "###,##0.00")
Next
Printer.Print Tab(0); "-------------------------------------------------------------------"
Printer.Print Tab(20); "SubTotal : "; Tab(50 - Len(Format(.LabelST.Caption, "###,##0.00"))); Format(.LabelST.Caption, "###,##0.00")
Printer.Print Tab(20); "Descuento : "; Tab(50 - Len(Format(.LabelDescuento.Caption, "###,##0.00"))); Format(.LabelDescuento.Caption, "###,##0.00")
Printer.Print Tab(20); "Flete : "; Tab(50 - Len(Format(.LabelFlete.Caption, "###,##0.00"))); Format(.LabelFlete.Caption, "###,##0.00")
Printer.Print Tab(20); "Igv (18%) : "; Tab(50 - Len(Format(.LabelIGV.Caption, "###,##0.00"))); Format(.LabelIGV.Caption, "###,##0.00")
Printer.Print Tab(20); "Total : "; Tab(50 - Len(Format(.LabelTotal.Caption, "###,##0.00"))); Format(.LabelTotal.Caption, "###,##0.00")
Printer.Print Tab(5); ""
Printer.Print Tab(0); "Gracias por su Compra!!!"
Printer.Print Tab(5); ""
Printer.Font.Size = 6
Printer.Print Tab(5); "Usuario : " & FormMenu.LabelUser.Caption
Printer.Print Tab(5); "Impreso : " & Date & " " & Time
Printer.EndDoc
End With
End If
'Printer.Print Tab(69); "SUBTOTAL :"; Tab(99 - Len(Format(mon1, "###,###,##0"))); Format(mon1, "###,###,##0")
End Sub
Hola, no estoy muy al tanto de como será para hacerlo con VB, lo que supongo que hay que hacer es tratar de enviar los comandos esc/p requeridos antes de iniciar la impresión del ticket.
EliminarEn el artículo yo envío las secuencias de configuración desde la propia consola de Linux, lo mismo supongo que se podrá hacer desde el CMD de Windows y por supuesto enviarlos desde tu programa, quizás en formato hexadecimal o ascii, pero siempre cuidando que sea texto sin formato, sin retornos de carro, etc.
se que esta respues viene despues de 6 años pero quizas alguien lo busqye ... estos son los tipos de letras ...
EliminarPrint #1, Chr$(27); "!"; Chr$(0); 'Specifies font A (ESC !)
Print #1, "Fecha: " & Format(Date, "dd-MMMM-YYYY") & " Hora: " & Format(Time, "HH:MM:SS")
Print #1, Chr$(27); "d"; Chr$(3); 'Prints and 3 line feeding (ESC d)
Print #1, Chr$(27); "a"; Chr$(0); 'Selects the left print position (ESC a)
Print #1, Chr$(27); "F"; Chr$(1); 'Selects font B
Print #1, "TM-U210B $20.00"; Chr$(10);
Print #1, Chr$(27); "!"; Chr$(15); 'Comprimido
Print #1, "TM-U210B $20.00"; Chr$(10);
Print #1, Chr$(27) & "!"; Chr$(14); 'Ancho Double
Print #1, "PS-170 $17.00"; Chr$(10);
Gracias por tu aporte Andres, seguro que a alguien le servirá. Yo también volví después de mucho a ver que pasaba por mi blog.
EliminarAmigo Grabiel te agradesco mucho pero te cuento que solucione mi problema y quiero compartirlo con ustedes, yo trabajo con Visual Basic 6.0, Sql server 2008 y Crystal Report 2008, tanto me di cuenta que Cree mi Ticket en Crystal Report y solo le di la fuente "FONTA11" instalada de la maquina Tickitera a todo el ticket y cuando imprimi salio justo como yo queria.. de antemano gracias!!! jose WILLIANS NAVARRO YOVERA - CATACAOS- PIURA PERU- E-MAIL: estrategiasmarwill@hotmail.com
ResponderEliminarHola José, que suerte que lo hayas solucionado.. Saludos y éxitos!
EliminarEstimados, tengo un problema y no se como solicionarlo, tengo una epson fx-890 y cuando imprimo desde word todo sale bine pero cualquier documento tipo PDF que envio, la calidad de impresion es muy mala, es ilegible, no se si les ha pasado y como resolverlo, de antemano gracias por la ayuda
ResponderEliminarHola, como es una impresora matriz de punto no creo que sea adecuado enviarle archivos pdf, porque dudo que interprete correctamente el lenguaje PostScript. Creo que lo más adecuado sería enviarle texto plano, como por ejemplo el contenido de un txt, o estás necesitando imprimir algún borde o detalle como una imagen? Saludos.
EliminarHola amigo Gabril necesito ayuda por favor me podrias decir como covertir un campo Texto a Chekbox en Cristal Report 2008.... Gracias Saludos!!! Jose willians
ResponderEliminarLo lamento, no manejo nada de Cristal Report? Saludos!
Eliminarhola tengo una impresora tm-u325pd y cuando imprimo desde el oas no utiliza el driver de la validadora, porque podria ser? gracias
ResponderEliminarHola Antonio, a que te refieres con el "driver de la validadora"? con la configuración de la impresora realizada desde el sistema operativo?
EliminarAsi es Gabriel, o sea, tengo instalado el driver de la impresora en mi maquina local, lo que necesito es utilizar la validadora de la impresora, pero el oas me arroja la impresión como "Receipt" y yo necesito como "validation". En forma local imprimiendo directamente desde el report me funciona pero al levantar en el sistema que tengo el oas arroja directamente la impresión al lpt1 sin tomar en cuenta el driver de la validadora.
ResponderEliminarYa, tu servidor del OAS en que sistema operativo está instalador? supongo que tu impresora está compartida en Windows y la misma se encuentra montada en el servidor (Linux) como impresora remota Samba ..
EliminarHola, y para que me imprima tildes(áéíóú) y eñes (Ññ) cual es el comando. Muchas gracias.
ResponderEliminarHola Alex, sinceramente no sabría decirte, que impresora matricial tienes?
Eliminarhola, tengo 2 entornos de trabajo windows y linux, servidor de reportes oracle. Mi problema es el siguiente: tengo una impresora epson lq-590 compartida por windwos al cual mando impresiones en papel continuo para cheques(4 por hoja), al mandar el report generado en windows sin problemas, el tema esta al mandar el mismo reporte desde linux a la impresora compartida de windows, las letras salen borrosas y luego del 3er cheque se junta con el 4to, el report se genera en pdf. Tendrias alguna soluciona?
ResponderEliminarmuchas gracias
Hola José Coronel, es probable que tu Oracle Report server en Linux esté enviando la impresión como archivo Postscript, y no como texto plano como debe ser. Para que el Reports te envié como texto plano debes configurar adecuadamente los parámetros de sistema de tu reporte, configuración que por cierto en estos momentos no me acuerdo.
EliminarSaludos!
Buenas, estoy imprimiendo una boleta continua( diseñado un crystal reports), en una epson Lx300++ me imprime muy bien todo.
ResponderEliminarPero el mismo diseño de boleta continua en una epson FX 890 me imprime los caracteres muy pegados uno del otro. He intentado cambiar los cpp, el tipo de letra de la impresora pero nada.
Si alguien sabe como tratar con la epson FX890, quizas haya movido alguna configuracion, mientras cuadradaba el tamaño de hoja o necesito configurar algo mas en la impresora.
De antemano gracias
Hola Anónimo, como estás, será que tu impresora no está configurada con el tipo de letra condensada?
EliminarHola, tengo el mismo problema con una epson fx 890, encontraste la solución?
EliminarHola amigo, existe alguna solucion para poder imprimir bien un pdf en una matricial fx-890
ResponderEliminarHola Henry, yo la verdad que no lo se, no le podes enviar solo texto?
Eliminarhola amigos . tengo un problema con la epson LX300+ no hay forma de poder cambiar la fuente a condensada , he probado lo de los 3 seg el boton pause y apretar font con los diferentes parpadeos y a pagar pero sin resultados. alguien puede orientarme . gracias anticipadas.
ResponderEliminarHola Anónimo, te consulto, la impresión que mandas no te está configurando de vuelta la impresora? Saludos!
EliminarHola, estoy imprimiendo un reporte en formato matricial este es el código del prt :
ResponderEliminarprinter "ReciboMatri"
height 30
width 160
code "bold on" esc "E"
code "bold off" esc "F"
code "underline on" esc "-1"
code "underline off" esc "-0"
code "bold underline on" esc "E" esc "-1"
code "bold underline off" esc "F" esc "-0"
code "900" esc "W1"
code "901" esc "W0"
before report esc "M" esc hex(43)hex(1B) esc " "
between pages control(L)
return control(M)
linefeed control(J)
Lo que pasa es que imprime todo bien pero cuando acaba la impresión de la pagina, salta un intervalo y se posiciona en la segunda hoja, tengo que darle al botón Tear Off/Bin de la impresora matricial Epson FX-890 para que regrese ese salto y poder imprimir correctamente.
Agradeceré su ayuda.
Hola Julio, envías directamente tu impresión a una Impresora de tu Windows no?, si en Windows has configurado tu impresora matricial es probable que la cola de impresión de Windows le agregue un salto de hoja al finalizar la impresión, prueba ir en Impresoras, abre la ventana de propiedades de tu impresora y en la la pestaña Opciones avanzadas le marcás la opción Imprimir directamente en la impresora. Espero que te sea de ayuda, saludos...
EliminarNo creo que sea eso porque ya probé... el problema es en la codificación del prt
EliminarJulio, un comentario acerca sobre tu archivo .prt, al comienzo has definido una altura de 30 y luego con la directiva hex(43)hex(1B) esc le indicas que es solo de 27 (hex(1B) = 27).
EliminarPor otro lado, ¿has probado sin las directivas between pages control(L) y return control(M)?
Prueba con algo similar al ejemplo que puse en el artículo, así bien cortito, y luego ve agregándole más cosas..
Saludos..
Hola Gabriel, encontre la solucion el problema a sido de la impresora... y del servidor donde estaba trabajando.. hice la prueba poniendo mis fuentes y prt en otro servidor y cambiando de impresora matricial y Funciono, el codigo prt esta bien.. Muchas Gracias por la Ayuda.
EliminarGenial Julio, que suerte que haya funcionado..
EliminarHola, Tengo un ambiente linux, agregué la impresora mediante cups (epson fx 890) y estoy trabajando con Weblogic 11, necesito imprimir en formularios pre impresos pero no logro que la impresora obedezca el archivo prt. Qué puedo hacer??
ResponderEliminarAdemás, requiero usar la compresión para que los reportes quepan dentro de la hoja, cuál sería la instrucción que lo activa??
Agradezco su ayuda!
Saludos
Hola Hazel, ahora recién leo tu comentario, prueba configurar tu impresora matricial en cups como tipo Genérico - Raw, así lo uso yo con Weblogic 11g para las impresoras LX300 y para las impresoras térmicas Zebra, y funciona.. De esta forma uno se asegura que los comandos ESC/P u otros lleguen a la impresora correctamente..
EliminarSaludos!!
hola amigo tengo una impresora LX-350 que por error toque la tecla de menú(SET)
ResponderEliminary ahora me imprime símbolos ,números,letras chinas, cuamdo enbio un documento cualquiera
ayuda por favor gracias
Creo que la LX-350 la venimos usando de la misma manera que la LX-300 y nunca nos llegó a pasar algo así, de todos modos en el manual debería estar la configuración para restablecerla.
EliminarHola. Tengo una pregunta que tipo de fuente y que tamano viene configurada la impresora de matriz de punto epson lx350 originalmente de fabrica, ya que por error se coloco otra fuente y otro tamaño y al imprimir el comprobante sale en desorden y el formato sale en otras dimensiones, en cambio en la configuracion predeterminada de la epson si imprimia correctamente. Gracias por la ayuda
ResponderEliminarHola Anónimo, la verdad que lo desconozco, yo "creo" que por defecto debería ser Sans Serif de 10 cpi no condensado, al igual que la LX-300 de toda la vida, eso si, los mismos comandos ESC/P que envío a un LX-300 funcionan en la LX-350. Saludos!
EliminarHola... Tengo un problema fijtate que tengo una impresora zebra a 300 dpis y requiero que me imprima letras chinas,,sabes como le puedo hacer..de antemano muchas gracias.
ResponderEliminarHola Pancho, no tengo ni la más remota idea, lo lamento, las he usado pero no estoy muy familiarizado con su configuración, y tampoco tengo el manual a mano..
EliminarHola, me podrían decir si es posible imprimir con una epson tm-t88IV con las fuentes fonta11 y fonta21 un ticket con algún programa de diseño o algo similar, solo consigo usar la fonta11 usando la opción sustituir fuentes, pero me es imposible usar las dos fuentes en el mismo ticket, estoy muuuy perdido...
ResponderEliminarSaludos y muchas gracias de antemano.
Hola Anónimo, como vas imprimiendo tu ticket? creas un archivo de texto y por último le envías a la impresora o va imprimiendo por cada línea?
EliminarDe cualquier manera el procedimiento sería enviar los comandos esc/pos adecuados para cambiar de fuente antes de imprimir esa sección y luego volver a la fuente anterior mediante otro envío de comandos esc/pos. Podés consultar éste enlace y buscar la sección ESC ! n que permite lo siguiente: Selects the character font and styles (emphasize, double-height, double-width, and underline) together., debería funcionar para tu impresora.
Hola Gabriel.. Me llamo Heber.. Tengo un problema con un reporte de facturacion en la EPSON-LX 350... Cuando mando imprimir la factura no hay problema, puedo imprimir todas las facturas que quiero pero si eventualmente envio otro reporte que no sea una factura entonces la impresora se desconfigura, luego las facturas se imprimen con caracteres grandes y descuadrados.. Para que las facturas vuelvan a salir correctamente tengo que apagar la impresora, esperar unos segundos y volver a encenderla. Todos los reportes usan el mismo .prt (Reports Oracle 6i sobre windows 7)
ResponderEliminarHola Heber, es importante que entiendas que al apagar y volver a prender tu impresora lo que sucede es que restablece su configuración por defecto.
EliminarEn este caso supongo que el archivo .prt del reporte de facturas no está configurando la impresora con el tipo de letra que corresponde cada vez que envías una factura para imprimir, quizás deberías verificar que configuración te envía tu otro reporte y ver que comando esc/pos lo reestablece para incluirlo en tu archivo .prt.
Slds.
Hola Gabriel... Gracias por la respuesta... fue de muchisima ayuda..
ResponderEliminarTengo otra consulta, cual seria el comando ESC para establecer el modo de impresion a 20cpp a un reporte emitido en EPSON-LX 350.
Saludos.
Hola Herber, disculpa la demora, ando como loco con tanto trabajo y cosas que hacer, tengo un artículo borrador pendiente de publicar sobre el tema. Para usar 20cpi deberías enviar a la impresora los siguientes comandos esp/p desde el archivo .prt
Eliminaresc hex(21)hex(05)
o bien también lo siguiente respetando el orden:
esc hex(0F) esc hex(4D)
Slds.
Excelente Gabriel... La impresora funciona exactamente como quiero.... Gracias..!!
ResponderEliminarBuenos Dias, Don Gabriel tengo un inconveniente con una impresora EPSON FX-890, en mi area de trabajo imprimo recibos de caja, de la cual funciona perfectamente desde el PC de escritorio WIN XP, cuando comparto la impresora por RED a un portatil con WIN 7 64 las impresiones aparecen con letra grande y fuente DRAFT, me gustaria configurar la impresora para que desde el portatil imprima con fuente ROMAN y mas pequeña la letra... Teniendo en cuenta que no tengo el conocimiento adecuado en este tipo de impresoras...
ResponderEliminarLe Anticipo Agradecimientos
Hola Gustavo, disculpá que ahora recién te responda, me comentaron que los drivers de las impresoras matriciales Epson para Windows permiten configurar el tipo de letra pero sinceramente nunca he utilizado utilizado esa opción. Deberías fijarte como tenés configurada la impresora en tu Windows 7.
EliminarSaludos!!
HOLA AMIGO...SABES SOY NUEVO EN UTLIZAR ESTA IMPRESORA, PERO TENGO PROBLEMAS EN IMPRIMIR...COMO HAGO PARA QUE LA SALIDA DE FUENTE SALGA EN HSD O DRAFT (FUENTES), LA VERDAD QUE NO SE NADA...DE ESTO...PORQUE CUANDO IMPRIMO SALE PARECIDO A LA FUENTE TIMES ROMAN QUE NO SE LEE, YO KIERO CON PUNTOS NO MAS...SI ME PUEDEN AYUDAR PORFAVOR¡¡¡¡ATTE ANONYMOS
ResponderEliminarHola Anonimo, la verdad no has explicado para que utilizas tu impresora, de que tipo de impresora se trata, con que configuraciones, envías las impresiones desde de? desde un sistema? Saludos!
EliminarHola Buenas Tardes
ResponderEliminarTengo un problema con la impresora Epson LX-350. Al enviar la impresión las dos primeras líneas son 824,4 y debajo @bmi. Y me daña la impresión ya que sobrepasa el margen. Cómo puedo corregirlo?
Gracias por el aporte
Hola. 824,4 y debajo bmi? desde que sistema estás enviando la impresión y que sistema operativo estás usando?
EliminarBUENOS DÍAS GABRIEL.-
ResponderEliminarTengo un impresora LX-350 y le envio la impresion de una factura hecha en ireport y algunos números me salen muy pegados unos de otros, como ejmplo el número 6 suele parcer un 8 y cosas asi...cual sería la solucion que me indicarías a tal situacion?.-
desde ya muchas gracias por tu tiempo.-
La salida que genera tu ireport tiene que ser una salida totalmente en modo texto plano, modo caracter, si le agregas líneas y esas cosas probablemente el driver de la impresora pensará que es un archivo con imágenes y te lo tratará de imprimir aunque la impresora sea matriz de punto.
EliminarSe me presento el mismo error, se genera un archivo pdf para la imprimirlo y sale los números 3, 5, 6, 8, 9 no legible como el colega, pero cuando esta en word si toma el tipo de letra, que puede ser que esta pasando?. Saludos
EliminarHola Yesid, generar un archivo en PDF y enviarlo a una impresora matricial no es en absoluto una buena idea, lo mejor es enviar a la impresora un texto plano sin formato.
EliminarBuenos dias amigos.
ResponderEliminarTengo Linux Ubuntu 12.04 e instale sin problemas una EPSON LX-300+II Pero al intentar imprimir algun documento con la fuente Draft 15 cpi la impresion sale distorcionada. Quisiera saber si alguien sabe como ajustar la configuracion en linux para imprimir con fuente Draft en la impresora EPSON. Gracias de antemano
Hola Manuel, lo más probable es que estás enviando la impresión a la impresora en un modo que no es totalmente texto, te recomiendo configurar tu impresora con el driver de tipo RAW, y le envías la impresión como texto plano puro, sin formato alguno.
EliminarCómo hago para realizar una impresión condensada desde una Epson LX 350?
ResponderEliminarHola, puedes fijarte en este artículo, saludos!!
Eliminarhola tengo una impresora lx-350 y ne he podido cambiar el tipo de letra q debo hacer ????'
ResponderEliminarHola, puedes fijarte en este artículo, saludos!!
EliminarHola, cuando se envía a imprimir desde una Epson LX 350 un archivo PDF, imprime en horizontal, cuando desde cualquier otro archivo ya sea XLS, DOC, etc imprime normal. Gracias desde ya.
ResponderEliminarHola Eduardo, la verdad no lo se, jamás lo he intentado, para imprimir archivos pdf o planillas electrónicas no sería mejor una impresora Láser o a chorro de tinta? Yo las impresoras matriciales solo las suelo usar para imprimir texto, que es para lo que mejor funcionan..
EliminarBuenas, tengo un problema cuando en el texto a imprimir esta el & justo cuando llega allí la impresora se detiene. espero me puedan ayudar. Gracias
ResponderEliminarMmm, enviando la impresión desde Oracle Reports? o enviando un archivo de texto o el mismo texto a la impresora?
Eliminarholas tengo una curiosidad tengo q imprimir un txt en una ticketera tmu 220 ,pero necesito que la fuente sea mas pequeña para que salga todo ok. necesito saber como hago eso, he leido varias cosa pero me confudi.. alguan idea..
ResponderEliminarHola, básicamente deberías usar el comando esc/p esc hex(21)hex(xx), donde xx sería el número hexadecimal que corresponde a la configuración que vaya con tu necesidad. Si te fijas en la página 21 del siguiente manual escpos de la impresora tm-u950 podrás ver las distintas configuraciones que permite esa impresora, habría que ver si son compatibles con la tm-u220.
EliminarPor ejemplo, si quisieras activar el tamaño de letra 7x9 y el doble de altura deberías pasarle el comando esc hex(21)hex(11), donde el valor 11 corresponde a la suma de los valores hexadecimales 01 (Character font 7x9 selected) y 10 (Double-height mode selected).
Saludos.
segun puedo leer (Tiene seria dificultad para dedicarle tiempo a su blog.) y entender, tus conocimientos de impresion en matriciales y solo texto es espectacular...
ResponderEliminarcai en esta pagina por hacer una busqueda en google: "comando impresion fuente cursiva" y la ayuda ha sido extarordinaria sin tener que hacerte una sola pregunta...
este es un excelente blog!!!!
para mas detalle:
necesitaba lograr la impresion de letra cursiva de un viejo programa bajo DOS usado en Venezuela y aqui consegui lo que necesitaba!!!
mucha suerte y felicidades!!!
Gracias Leonardo, me alegro que el artículo te haya sido útil, saludos!
EliminarSaludos, gracias por el aporte , en mi caso estoy imprimiendo un txt desde php con exec desde linux, lo hace bien pero debo bajar el numero de letra y el tipo de letra para que se definan bien los números ya que estoy imprimiendo facturas en una epson fx-890 , estoy probando con: echo -en '\x1B\x45' | lp -d lpgabriel , que parametros debo variar , de antemano gracias
ResponderEliminarHola Jofre, mmm, si escribes el comando en tu distro Linux lo que debería cambiar es el nombre de la impresora (que en el ejemplo es lpgabriel). Recuerda que el comando anterior solo se encarga de configurar la impresora, el texto que le envíes después ya debería salir en negrita.
EliminarPor cierto, como tienes configurado tu impresora fx-890 en tu Linux? debería estar configurado como para recibir datos raw para que reciba correctamente los comandos ESC/P de configuración que le envíes, en openSUSE utilizo el driver IBM Pro-Printer, no se cual será el driver adecuado en la distro que usas.
Saludos.
Hola me podrias ayudar como podria imprimir un codigo de barras en una epson fx-890
ResponderEliminarUff, ahora contesto un comentario de hace cuatro años atrás, pobre GUSHO, y lo peor es mi respuesta: Nunca llegué a utilizar la Epson FX-890..
EliminarHola gabriel! tengo una consulta similar, tienes alguna experiencia con impresión de códigos de barra con una zebra? desde oracle reports?lo que pasa es que en la configuracion anterior de nuestro sistema(cliente/servidor forms&reports 6i) en el report(.rep)enviaba directo a la impresora zebra y se imprimía sin problemas el codigo de barras, ahora estamos en transicion a una arquitectura servidor de aplicaciones weblogic12c y forms&reports11g el mismo codigo del 6i utilizamos pero no se imprime, ni da mensaje de error ni nada, es como que no se envio nunca la orden de impresion a la zebra? tienes alguna sugerencia?
Eliminarmuchas gracias!
Gabriel... lo logre pero en modo grafico sin consola aunque la velocidad de imprension puff bastante lenta...sabras algo??
EliminarHola Gusho! te consulto como lograste imprimir el codigo de barras?tendrias algun ejemplo a compartir?estoy con intenciones de imprimir codigos de barra y quiero utilizar la epson tmu 220 en caso de que se pueda.
EliminarHola Gusho y Fernando,
EliminarQuería consultarles para que desean imprimir códigos de barras en impresoras matriciales (dot-matrix), y que tipos de códigos de barras, ¿EAN, UPC?
En cuanto a las impresoras Zebra, si, debería funcionar al ejecutar el reporte con la salida dirigida a una impresora configurada en el servidor. Si tu servidor de aplicaciones es un Linux, la impresora debería utilizar el driver Raw y tu reporte de Reports configurado en modo Character como se detalla el siguiente artículo: https://www.tormentadebits.com/2015/04/impresion-matricial-con-oracle-reports.html
Hola me podrian ayudar porfavor tengo una impresota lx 350 se le cambio el cabezal y la placa madre y ahora me imprime como si hubiese mandado a imprimir en negrita como puedo solucionar ese incoveniente
ResponderEliminarCristian, un problema de impresión que se da luego de la reparación de hardware es complicado de diagnosticar, ni idea que hicieron con tu equipo.
EliminarHola Gusho! te consulto como lograste imprimir el codigo de barras?tendrias algun ejemplo a compartir?estoy con intenciones de imprimir codigos de barra y quiero utilizar la epson tmu 220 en caso de que se pueda.
Eliminarhola gentes...necesito una ayuda si es factible...tengo un cliente que imprime su facturas en una Impresora LX300II pero cambio por una LX350 y esta LX350 no tiene el tipo de letra que tenia la otra impresora..que es la Draft condensado...como puedo hacer para agregarle a esta impresora el tipo de letra Draft Condensado a la LX350...al una ayuda por favor...
ResponderEliminarHola Paul, hasta donde sé la Epson LX350 sigue manteniendo el tipo de letra Draft condensed,
EliminarHola, para imprimir guías uso la fx 890ii pero imprime muy oscuro, el comando que pussite es para poner la letra en negrita, como seria para quitar eso?
ResponderEliminargracias por la respuesta.
Depende de como lo asignaste y de donde estás enviado la impresión. Podemos cancelar el modo resaltado (negrita) utilizando el valor hexadecimal 46, para activar la negrita usamos el valor hexadecimal 45. En Linux los comandos serían como sigue:
Eliminarecho -en '\x1B\x45' | lp -d tuImpresora
echo "Hola en negrita" | lp -d tuImpresora
echo -en '\x1B\x46' | lp -d tuImpresora
echo "Hola sin negrita" | lp -d tuImpresora
hola necesito su ayuda, tengo q imprimir un txt en impresora TM-U950P ,pero necesito que la fuente sea mas pequeña.
ResponderEliminarCon los siguientes comandos ESC/P debería funcionar:
Eliminaresc hex(21)hex(05): Con esta directiva le indicamos que queremos imprimir nuestro comprobante en 20 CPI (caracteres por pulgada), o lo que sería lo mismo 12 CPI en modo condensado.