En este post te enseñaré a imprimir la letra ñ en una impresora térmica. Voy a mostrarte 3 alternativas para imprimir la ñ en una POS printer usando comandos ESC POS. La primera alternativa será definir un carácter personalizado en una cuadrícula de 12×24, luego veremos cómo cambiar la página de códigos de la impresora térmica para imprimir la ñ y finalmente vamos a ver cómo imprimir HTML como imagen.
Así que al final vas a poder imprimir la ñ en una impresora térmica usando la alternativa que prefieras.
Nota: obviamente estas son alternativas en caso de que tu impresora no soporte la impresión de la letra eñe sin modificaciones adicionales. Por ejemplo, en mi impresora PT-210 puedo imprimir la ñ así como cualquier otro texto. Este post te va a enseñar a imprimir la Ñ en tu impresora térmica si la misma no es soportada o si en lugar de la letra se imprime un carácter extraño.
Puedes dibujar la Ñ en una cuadrícula de 12×24 con ceros y unos. Esto permite imprimirla como si fuera texto nativo, además de respetar el enfatizado y el cambio de tamaño de fuente. La desventaja es que debes sacrificar otro carácter.
La letra ñ dibujada con ceros y unos se ve así:
000000000000
000000000000
000000000000
000111000100
001111111110
001101111100
000000010000
000000000000
011001111100
011111111110
011111001110
011100001110
011100001110
011000000110
011000000110
011000000110
011000000110
011000000110
011000000110
011000000110
011000000110
000000000000
000000000000
000000000000
Después podemos indicarle a la impresora térmica su definición y el carácter que va a reemplazar:
{
"nombre": "DefinirCaracterPersonalizado",
"argumentos": [
"_",
"000000000000\n000000000000\n000000000000\n000111000100\n001111111110\n001101111100\n000000010000\n000000000000\n011001111100\n011111111110\n011111001110\n011100001110\n011100001110\n011000000110\n011000000110\n011000000110\n011000000110\n011000000110\n011000000110\n011000000110\n011000000110\n000000000000\n000000000000\n000000000000"
]
},
En este ejemplo se va a reemplazar el guion bajo. Ahora, cada vez que se imprima algún texto con el guion bajo así:
{
"nombre": "EscribirTexto",
"argumentos": [
"Hola mundo. Imprimiendo letras que no existen en mi impresora, como la _"
]
},
El texto resultante será Hola mundo. Imprimiendo letras que no existen en mi impresora, como la ñ. Puedes probar esta operación en el playground.
Nota: no todas las impresoras soportan la definición de un carácter personalizado. Mi Xprinter 58 sí lo hace, pero mi PT-210 no.
La siguiente opción para imprimir la ñ es cambiar la charcode page. Con mi Xprinter 58 tengo la opción de deshabilitar el modo de caracteres chinos y luego imprimir texto cambiando la página de código de caracteres.
const cargaUtil = {
"serial": "",
"nombreImpresora": "",
"operaciones": [
{
"nombre": "DeshabilitarElModoDeCaracteresChinos",
"argumentos": []
},
{
"nombre": "TextoSegunPaginaDeCodigos",
"argumentos": [
2,
"cp850",
"Hola señor"
]
},
{
"nombre": "Feed",
"argumentos": [
4
]
}
]
};
Fíjate que al usar TextoSegunPaginaDeCodigos
con el número de página 2 y el charcode page cp850 puedo imprimir la ñ en mi POS printer, y no solo la ñ, también letras con tildes y más caracteres propios del español.
Como ya lo dije previamente: no todas las impresoras lo soportan, y el código de las páginas de caracteres varía entre modelos. Lo que recomiendo es probar con todas las combinaciones posibles.
Puedes probar este ejemplo en el playground.
Las impresoras térmicas pueden imprimir imágenes, así que podemos convertir una cadena de código HTML a imagen y después imprimir dicha imagen. Podemos escribir la ñ y cualquier otro texto dentro de esa cadena de HTML pues al final será como tomarle una captura de pantalla a una página web.
De este modo también podemos imprimir la letra Ñ usando comandos ESC POS.
const cargaUtil = {
"serial": "",
"nombreImpresora": "",
"operaciones": [
{
"nombre": "Iniciar",
"argumentos": []
},
{
"nombre": "GenerarImagenAPartirDeHtmlEImprimir",
"argumentos": [
"<html><meta charset=\"UTF-8\"><p><strong>¡Hola</strong> mundo! Soy la letra ñ</p></html>",
380,
380,
0,
false
]
}
]
};
const respuestaHttp = await fetch("http://localhost:8000/imprimir", {
method: "POST",
body: JSON.stringify(cargaUtil)
});
const respuesta = await respuestaHttp.json();
if (respuesta.ok) {
console.log("Impreso correctamente")
} else {
console.error("Petición ok pero error en el plugin: " + respuesta.message);
}
Revisa el ejemplo en el área de pruebas.
Existen varias formas de imprimir la letra ñ. Todo depende de tu impresora y tus necesidades. La opción que más recomiendo es la que involucra HTML.
Te dejo con un editor visual para impresora térmica y con la documentación oficial de las impresoras térmicas.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.