Imprimir carácter personalizado en impresora térmica usando plugin gratuito

Imprimir caracteres personalizados en impresora térmica

En este post te voy a mostrar cómo imprimir caracteres especiales en un ticket impreso con una impresora térmica.

Con lo mostrado aquí vas a poder imprimir letras ñ, acentos de español, símbolo de euro y muchos otros signos que no son posibles de imprimir normalmente.

Lo que ves en la siguiente foto no son imágenes; son caracteres definidos por mí que se pueden imprimir como si fueran texto y que van a reemplazar a una letra:

Caracteres personalizados en impresora térmica - Reemplazar letra por símbolo
Caracteres personalizados en impresora térmica – Reemplazar letra por símbolo

Nota: esto es la alternativa final en caso de que tu impresora no soporte los acentos o tildes.

Imprimiendo acentos y cosas de español

Las impresoras térmicas varían mucho en cuanto a los acentos y páginas de caracteres.

Algunas soportan la impresión de acentos sin configuraciones extras, otras necesitan deshabilitar el modo chino y convertir los caracteres y finalmente existen las que no soportan nada de eso.

Como sea, siempre recomiendo hacer lo siguiente en orden:

  1. Probar si puedes imprimir el carácter deseado normalmente (en la PT-210 funciona al menos en modo Bluetooth) invocando a EscribirTexto
  2. Deshabilitar el modo de caracteres chinos e imprimir convirtiendo el texto según una página de códigos. Recomiendo probar con todas las páginas de caracteres hasta agotarlas, y combinar todo. Esto que menciono está implementado en la función TextoSegunPaginaDeCodigos de este plugin: https://parzibyte.me/blog/2022/09/30/plugin-impresoras-termicas-version-3/)
  3. Definir un carácter personalizado como lo veremos a continuación.

Si nada funciona, recuerda que puedes enviarme un mensaje en https://parzibyte.me/#contacto para solicitar ayuda.

Definir carácter personalizado

Vamos a ver cómo definir una letra que tu impresora térmica no soporte, por ejemplo, el euro, el símbolo del centavo, el símbolo de tu moneda, la letra ñ, acentos o cualquier cosa que quepa en una cuadrícula de 12×24 en modo “pixel art”.

Nota: en este caso usaré un ejemplo con JavaScript pero podrás hacerlo con cualquier lenguaje de programación

Primero definimos el carácter como una cadena separada por saltos de línea. Por ejemplo:

Fíjate que la cadena no tiene tabulaciones ni espacios extra.

Lo que sigue es invocar a HabilitarCaracteresPersonalizados y luego a DefinirCaracterPersonalizado indicando el carácter que vamos a reemplazar y la matriz que lo remplaza.

Cuando hayamos hecho eso, el carácter de reemplazo aparecerá en lugar del carácter reemplazado al invocar a EscribirTexto. Veamos un ejemplo:

Fíjate en la línea 22 y 23. Ahí en lugar del símbolo de pesos va a aparecer mi carácter personalizado.

Ahora en la línea 25 estoy imprimiendo el símbolo $ pero en realidad cuando se imprima el ticket aparecerá lo siguiente (revisa arriba de Gracias por su compra, junto al código QR):

Ticket impreso con Python en impresora térmica usando Plugin v3
Ticket impreso con Python en impresora térmica usando Plugin v3

Nota: la salida que ves está hecha con Python, pero así aprovecho para demostrar que se puede imprimir el carácter personalizado y que no importa desde cuál lenguaje de programación lo hagas.

Probarlo en línea

He creado un pequeño y simple playground en donde tú puedes definir el carácter para que obtengas la cadena de ceros y unos y luego puedas definir y enviar ese char personalizado.

Imprimir carácter personalizado en impresora térmica usando plugin gratuito
Imprimir carácter personalizado en impresora térmica usando plugin gratuito

Puedes probarlo en el siguiente enlace: https://parzibyte.github.io/ejemplos-javascript-plugin-v3/caracter_personalizado.html y ver el código fuente en: https://github.com/parzibyte/ejemplos-javascript-plugin-v3/blob/main/caracter_personalizado.html

Recuerda que antes de probarlo ya debiste haber configurado tu impresora y estar ejecutando el plugin. La guía está en:

Plugin para impresoras térmicas versión 3

Por cierto, por si te sirve, el símbolo del euro lo he definido así:

Aquí tienes un vídeo:

Sobre la compatibilidad

Recuerda que todas las impresoras tienen diferentes capacidades y algunas soportan cosas que otras no. Por ejemplo, mi Xprinter 58 permite definir e imprimir caracteres personalizados pero la PT-210 no.

Por otro lado la PT-210 permite imprimir acentos y todo tipo de caracteres sin convertirlos, pero no permite definir e imprimir caracteres personalizados.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *