Ticket impreso en impresora térmica con Python

Python – Imprimir en impresora térmica

Hoy te mostraré cómo imprimir recibos, tickets, facturas, etcétera en una impresora térmica (también conocidas como Thermal printers, Impresoras POS) usando el lenguaje de programación Python.

Ticket impreso en impresora térmica con Python
Ticket impreso en impresora térmica con Python

De este modo podrás imprimir en impresoras térmicas desde Python usando una clase y un conector desarrollados por mí. Verás que será realmente sencillo. Gracias a esto podrás imprimir y hacer operaciones como:

  • Texto normal y texto con acentos (incluyendo las letras ñ de nuestro amado español)
  • Imágenes a partir de una URL o imágenes locales presentes en la computadora del usuario. Así que puedes imprimir tu logotipo
  • Códigos QR
  • Códigos de barras
  • Abrir el cajón de dinero
  • Ajustar el tamaño de la fuente, alineación, saltos de línea

Básicamente podrás imprimir todo tipo de contenido en una impresora térmica desde Python.

Conector para impresoras térmicas

Desconozco si existe algo nativo para realizar la impresión; lo que yo traigo en este caso es un conector que se comunica con un plugin desarrollado por mí.

Así que primero debes descargarlo y ejecutarlo, además de configurar tu impresora. Todos los detalles los encuentras en este post.

Ahora lo que necesitas es el código de Python que se comunica con el plugin:

Recuerda que debes instalar requests con pip install requests. Después de eso ya puedes imprimir en una impresora térmica desde Python, a continuación te mostraré un ejemplo.

Lo que importa ahora es que veas todos los métodos que ofrece el conector, pues simplemente tienes que crear una instancia de la clase, invocar a las funciones (para imprimir texto, imágenes, etcétera) para crear tu propio ticket y finalmente invocar a imprimirEn.

También existe el método obtenerImpresoras que devuelve una lista de impresoras, esto en caso de que quieras proveer al usuario con una lista de las mismas.

Ejemplo: impresión de ticket

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

Como puedes ver en la imagen, tenemos una demostración de lo que puede hacer este plugin junto con el conector para comunicar Python directamente con una impresora térmica.

El código que hace eso posible es el siguiente:

En el código puedes notar que estamos usando Python puro. No necesitamos ninguna otra librería, solo el paquete de requests. En este caso hay varias líneas de código porque estoy demostrando la mayoría de cosas que el plugin puede hacer.

Así que de este modo podemos usar Python para imprimir en impresoras térmicas, agregando la posibilidad de imprimir texto con acentos e imágenes.

Poniendo todo junto

Con el ejemplo y el conector tienes todo lo necesario. Recuerda descargar el plugin, configurar tu impresora térmica, ejecutar el plugin y luego usar el código de Python.

Te dejo el código completo en Github. Si quieres ver una lista detallada de todos los métodos que existen puedes leer la documentación del conector.

Por aquí te dejo más artículos sobre Python.

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.

16 comentarios en “Python – Imprimir en impresora térmica”

  1. Hola, cuales son los parametros que deben ir para poder utilizar el codigo de barras CODE39, me podrias dar un ejemplo?. Y queria consultar si es posible agregar una tabla al estilo excel con texto dentro. Saludos y gracias por el plugin.

  2. Que tal, mi nombre es Alberto López, voy empezando a utilizar python y encontré tu video y código, y también me envía el siguiente mensaje:

    Error. El mensaje es: Error en el servidor: error del servidor. El servidor dijo: Ya no se permiten las peticiones sin clave API. Contrata un plan en https://parzibyte.me/plugin-impresora-termica/planes/ o utiliza la versión 1, ya sea gratis o completa: https://parzibyte.me/plugin-impresora-termica-v1/

    Según yo uso la versión 1, quise preguntar en la opción de contacto, e indica que todo tiene costo en dólares?, cuando publicas puede ser gratuito

    1. Hola. Le recomiendo que lea con más atención. El post que está comentando actualmente usa el plugin versión 2.
      La versión 1 está en: https://parzibyte.me/plugin-impresora-termica-v1 y claro que puede ser usada gratuitamente (solo que no funciona para Python), pero le repito, por favor lea con más atención antes de comentar
      También, gracias a su comentario, he puesto un aviso en el post. Puede leerlo para ver sobre la versión 3 y final.
      Gracias y saludos!

  3. Hola, realicé la configuración siguiendo los pasos de la versión 1 para la impresión con Python y en principio todo iba bien, pero desde ayer me salta este error y no consigo imprimir nada:
    “error de servidor. El mensaje es: error del servidor. El servidor dijo: Ya no se permiten las peticiones sin clave API. Contrata un plan en https://parzibyte.me/plugin-impresora-termica/planes/ o utiliza la versión 1, ya sea gratis o completa: https://parzibyte.me/plugin-impresora-termica-v1/
    Realicé la configuración con la versión gratuita y no he modificado nada. ¿Cómo puedo arreglarlo?
    Saludos!

  4. Hola.

    Al imprimir sale un texto en la cabecera: “plugin para impresoras térmicas………..”, como quitar este texto?

    Cuando se reinicia el computador se debe ejecutar nuevamente el ejecutable conector_64_bits (1).exe para que funcione la impresión. como solucionar esto?

  5. Bro, excelente aporte, quisiera saber como lo hiciste el plugin lo conectas mediante sockets? esta escrito en otro lenguaje? la verdead me interesa mucho como lo hiciste si pudieras compartir conmigo simplemente por donde empesaste o como lees las impresoras seria increible bro

Dejar un comentario