Plugin ESC POS v3

Imprimir códigos de barras en impresora térmica

Hoy vamos a ver cómo generar e imprimir códigos de barras en una impresora térmica desde Windows, Linux o Raspberry Pi (técnicamente desde Windows, derivados de Debian y Raspbian).

Podremos imprimir códigos de barras Codabar, Code 128, Code 39, Code 93, Ean, Ean8, PDF417, Two of Five ITF, UPC A y UPC E.

También vamos a poder personalizar las medidas, es decir, el ancho y el alto. Podremos hacer esto desde cualquier lenguaje de programación incluyendo JavaScript (desde el navegador web), Java y Python.

Funcionamiento

Vamos a usar un plugin gratuito que he programado y que funciona para todas las plataformas mencionadas anteriormente.

El ejemplo que te voy a mostrar está programado con JavaScript para que lo puedas probar directamente en tu navegador pero más adelante puedes usar otros lenguajes siguiendo la documentación de la API.

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/

Primera prueba

Navega a este enlace para imprimir un código de barras.

Debería aparecer un código de barras que puede verse así:

Código de barras pequeño impreso en Xprinter (impresora térmica)

Más adelante podrás crear tus propios conectores para comunicarte con el plugin. También aprenderás a cambiar el ancho y alto del código de barras.

Por ejemplo, yo he logrado imprimir uno de hasta 400×80 y se ve genial:

Código de barras EAN 13 con impresora térmica

Te repito que el tamaño depende de las capacidades de tu impresora. En mi Xprinter 58 no soporta códigos más largos pero creo que ya anda fallando algo de su conexión, y en cambio en la GOOJPRT PT-210 funciona perfectamente.

Me imagino que con las Epson no tendrás ningún problema, pero como siempre: es cuestión de probar y experimentar.

Código para imprimir barcode en thermal printer

Ya te he mostrado los resultados antes del código. La implementación es realmente sencilla, ya que solo es cuestión de consumir una API HTTP local que envía operaciones ESC POS a las impresoras térmicas, y en este caso también se puede enviar una operación para imprimir un código de barras.

Por ejemplo, veamos el código de JavaScript para un código en formato Code 128:

const cargaUtil = {
  "serial": "",
  "nombreImpresora": "",
  "operaciones": [
    {
      "nombre": "Iniciar",
      "argumentos": []
    },
    {
      "nombre": "ImprimirCodigoDeBarrasCode128",
      "argumentos": [
        "D387266D",
        80,
        380,
        0
      ]
    },
    {
      "nombre": "Iniciar",
      "argumentos": []
    },
    {
      "nombre": "Feed",
      "argumentos": [
        2
      ]
    }
  ]
};
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);
}

El arreglo de operaciones contiene varios comandos ESC POS, entre ellos el de ImprimirCodigoDeBarrasCode128 que permite imprimir el código de barras.

Puedes imprimir ese código desde cualquier lenguaje de programación, ya que la API está totalmente documentada.

Por si te lo preguntas, los códigos de barras son legibles. Incluso el más pequeño lo es:

Leyendo código de barras impreso en impresora térmica

Conclusión

Igualmente tengo un plugin para impresoras Bluetooth, y se pueden imprimir códigos de barras, QR y todo lo que se puede hacer con este plugin.

También tengo otro post explicando la impresión de códigos QR en impresoras térmicas:

Por aquí te dejo más posts con relación al plugin.

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/

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

3 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

4 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

3 semanas hace

Esta web usa cookies.