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

Imprimir en impresora térmica con Python - Recibo de ejemplo

Imprimir en impresora térmica con Python – Recibo de ejemplo

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, está en JS pero aplica igualmente para Python.

Por aquí te dejo también la presentación del plugin v2, y más artículos sobre Python.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 2,597 suscriptores


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/

2 Comentarios

Angel · abril 18, 2021 a las 8:04 pm

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

Dampir · marzo 7, 2021 a las 6:45 am

Simplemente Excelente. Saludos.

Deja un comentario

Marcador de posición del avatar

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

A %d blogueros les gusta esto: