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.


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 7,384 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/

12 Comentarios

Alberto · octubre 7, 2022 a las 11:34 am

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

    parzibyte · octubre 7, 2022 a las 11:54 am

    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!

Carolina · septiembre 28, 2022 a las 2:44 pm

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!

Archer · agosto 25, 2022 a las 12:26 pm

Hola, estoy tratando de imprimir un tiket desde una base de datos pero cuando mando la ejecucion y todo solo me imprime un mensaje que dice “none” sabes a que se deba?

    parzibyte · agosto 25, 2022 a las 8:31 pm

    Hola. Gracias por sus comentarios. Si tiene alguna consulta, solicitud de creación de un programa o solicitud de cambio de software estoy para servirle en https://parzibyte.me/#contacto
    Saludos!

Archer · agosto 25, 2022 a las 9:46 am

Hola, me gustaría saber como quitar el pie de pagina que sale en el tiket, al colocar el link que aparece para quitarlo me manda a una pagina caída 🙁

fernando · febrero 16, 2022 a las 9:09 am

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?

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: