web

Imprimir código QR en impresora térmica

Resumen: en este post te mostraré cómo imprimir códigos QR legibles en una impresora térmica (también llamada ticketera, impresora de tickets, pos printer, etcétera) usando un plugin gratis.

Si has seguido mis posts sabrás que hace tiempo desarrollé un plugin y que poco a poco le he agregado características nuevas, hasta llegar al día de hoy en donde imprimimos códigos QR en una thermal printer desde JavaScript, Python, Java y muchos otros lenguajes.

Nota: puedes ver la versión en inglés aquí.

Imprimiendo códigos QR

El proceso es sencillo, solo debes enviar una lista de operaciones que serán traducidas a comandos ESC POS para la impresora térmica. Comencemos viendo un ejemplo muy simple de 2 operaciones: iniciar la impresora e imprimir un código QR.

const cargaUtil = {
  "serial": "",
  "nombreImpresora": "Termica",
  "operaciones": [
    {
      "nombre": "Iniciar",
      "argumentos": []
    },
    {
      "nombre": "ImprimirCodigoQr",
      "argumentos": [
        "https://parzibyte.me/blog/",
        380,
        1,
        0
      ]
    }
  ]
};
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);
}

Estamos usando la operación Iniciar e ImprimirCodigoQr. Para imprimir el código QR debemos especificar el contenido como cadena, el máximo ancho, nivel de recuperación y algoritmo que se usará para convertir la imagen en bytes ESC POS así como lo indica la documentación.

Si quisieras imprimir otro QR, simplemente agrega la misma operación 2 veces al arreglo, y puedes hacerlo en el orden que tú prefieras, ya que el ticket se imprimirá siguiendo el orden de las operaciones.

En este ejemplo estamos usando JavaScript pero la API HTTP te permite usar cualquier lenguaje de programación.

Imprimir código QR en impresora térmica de forma gratis

Nota: de hecho puedes leer ambos códigos QR desde la imagen de arriba para que te des una idea de la calidad de impresión. Además, en este caso no los he impreso al máximo ancho.

Configurar impresora y descargar servidor HTTP a ESC POS

Para que el código funcione necesitas el servidor local de la API ESC POS ejecutándose y que tu impresora esté compartida. Por favor, sigue los pasos que aparecen en la página previamente enlazada, ya que ahí está la API unificada.

La documentación completa está en: https://parzibyte.me/http-esc-pos-desktop-docs/es/

Pruébalo tú mismo

Si quieres generar e imprimir códigos QR por ti mismo sin programar navega a este ejemplo, solo no olvides ejecutar el plugin en segundo plano. Probar en el área de pruebas.

Aprovecho para recomendarte que igualmente he programado un plugin para imprimir en impresoras térmicas desde Android gratis.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

6 días hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.