Plugin impresoras Bluetooth Android

Plugin gratuito para impresoras térmicas Bluetooth en Android

En este post te mostraré un plugin gratuito que te va a permitir imprimir en impresoras térmicas desde Android.

La aplicación (APK) que te enseñaré sirve como puente entre el programador y una impresora térmica conectada por Bluetooth para enviar comandos ESC POS, además de que es una app gratuita.

Con lo presentado aquí vas a poder imprimir texto, códigos QR, códigos de barras, imágenes locales, de internet o en base 64 además de otras opciones como avanzar el papel, invertir el fondo, rotar el texto, cambiar la fuente, alinear y todo lo que sea posible con comandos ESC POS de las Thermal printers.

Además, vas a poder consumir el plugin desde cualquier lenguaje de programación, pues la app que te enseño hace todo el trabajo por ti, tú solo le indicas lo que quieres imprimir desde Android de manera inalámbrica.

Diseñador para impresoras térmicas

Acabo de crear un diseñador de recibos para impresoras térmicas en donde podrás diseñar tickets ESC POS, importar, exportar, generar el código para varios lenguajes de programación y revisar una guía paso a paso para descargar, instalar y usar el plugin. Pruébalo en: https://parzibyte.me/apps/ticket-designer/#/first-steps

Funcionamiento del plugin

El plugin es, al final del día, una aplicación que deberás instalar en los teléfonos y/o tabletas en donde vayas a imprimir en impresoras térmicas. Además, el mismo debe ejecutarse en segundo plano siempre.

La app va a iniciar un servidor HTTP y va a escuchar peticiones. Cuando reciba una petición (creada a través de un conector) va a interpretarla y después va a “reenviarla” a la impresora térmica a través de Bluetooth.

Entonces tú puedes imprimir desde cualquier lugar que hable HTTP, por ejemplo, JavaScript desde el navegador web y también desde otras apps programadas con Java, Kotlin o Dart (usando Flutter).

El esquema queda así:

Cualquier cosa que hable HTTP -> Plugin -> Impresora térmica bluetooth.

Incluso podrías imprimir a través de la red usando cualquier otro lenguaje de programación. Las posibilidades son infinitas, pues mientras sepas cómo hablarle a la API expuesta por el plugin vas a poder imprimir desde cualquier lugar.

Nota importante: el plugin siempre debe estar en ejecución. Asegúrate de darle todos los permisos y deshabilitar el ahorro de energía o cosas similares (en mi Xiaomi debí elegir Sin restricciones en Ahorro de batería).

Descargar plugin

Es verdad que el plugin es totalmente gratuito y lo puedes usar sin límite. Para descargarlo ve a la siguiente página en el apartado de releases y descarga el APK: https://github.com/parzibyte/plugin-impresora-termica-bt-android/releases/latest

Desde ahora te digo que la app no es maliciosa y que los permisos que necesita están justificados para el debido funcionamiento del plugin, pero si no tienes confianza simplemente no la instales y no pasa nada.

El plugin para Android e impresoras térmicas BT debería funcionar a partir de la versión 4.4 de Android y superiores pero el dispositivo más antiguo que pude conseguir fue uno con Android 6.0.1 y el más reciente con Android 12.

Imprimir ticket en impresora térmica desde Android

Aquí hay un vídeo explicativo: https://www.youtube.com/watch?v=NgVwmZrFNZo

Una vez que lo hayas instalado y dado permisos abre el plugin, debería mostrarte que ha iniciado el servidor correctamente y que tiene todos los permisos. Si no le das permisos entonces no va a iniciar el servidor y no podrás usarlo.

En caso de que todo vaya bien se verá algo así:

Comunicar Android con impresora térmica Bluetooth usando Plugin – Servidor iniciado

Ahora vamos a realizar una prueba. Asegúrate de que para este paso ya hayas emparejado tu dispositivo con la impresora y que tengas activado el Bluetooth.

Haz clic en Ver impresoras disponibles y espera a que la lista cargue. Localiza tu impresora y haz clic en Probar (yo he borrado la MAC de la captura pero mi impresora es la MTP-II):

Listar impresoras térmicas bluetooth en Android – Plugin para imprimir

Debería imprimirse un ticket como el siguiente:

Ticket impreso en impresora térmica bluetooth usando plugin gratuito en Android

Y si has llegado hasta ese paso, felicidades, ahora ya puedes usar el plugin para crear tus propios tickets e imprimir lo que tú quieras desde cualquier lugar. Lo que ves arriba es solo una prueba.

Próximos pasos

Ahora ya puedes usar el plugin (recuerda que debe ejecutarse en segundo plano siempre) desde cualquier lenguaje.

Actualmente existe el conector para JavaScript (así puedes imprimir desde el navegador):

https://parzibyte.me/blog/2022/11/01/imprimir-ticket-impresora-termica-bluetooth-javascript-android/

Y el de Android con Java:

https://parzibyte.me/blog/2022/11/01/imprimir-impresora-termica-android-java/

Con la documentación del plugin puedes crear tu propio conector para consumirlo o contratarme para escribir un conector para tu plataforma favorita: https://parzibyte.me/#contacto

Licencias

El plugin es totalmente gratuito y no hay límite de nada: ni en impresión de tickets, longitud de datos ni lenguaje de programación desde donde lo consumas, pero siempre aparecerá un pie de página con mis créditos.

Si quieres remover el pie de página por favor lee el siguiente post en donde documento los detalles para obtener una licencia de uso:

https://parzibyte.me/blog/2022/11/02/obtener-licencia-plugin-impresoras-termicas-bluetooth-android/

Documentación del plugin

La documentación del plugin la encuentras en el siguiente enlace, ahí se profundiza más en los detalles:

https://parzibyte.me/blog/2022/11/01/documentacion-plugin-impresoras-termicas-bluetooth-android/

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

  • Saludos amigos cuando imprimo. el pie de pagina que le tienes no se termina de imprimir en este caso el QR y cuando voy a imprimir de nuevo se daña la impresión. hay algo en el código que permita imprimir completo el pie de pagina?

    • Hola. Creo que no entendí correctamente su pregunta, pero siempre puede invocar a "Iniciar" al inicio de sus impresiones para limpiar el búfer y reiniciar los estilos.

  • saludos excelente trabajo. yo logro que imprimiera el detalle que tengo es el siguiente. mando a imprimir y sale perfecto todo, luego mando a imprimir de nuevo y salen garabatos que puede ser? porque luego vuelvo a mandar a imprimir y sale bien.

    • Hola. Tal vez es necesario invocar a "Iniciar" antes de empezar la impresión; la operación "Iniciar" limpia el búfer y reinicia los estilos

  • Hola que tal. Esta muy genial el plugin que tienes. Revise toda tu información y me parece un trabajo estupendo.
    Trato de conectar una miniprinter 3nStar ppt305bt, pero no sale texto, solo la imagen y los códigos qr, junto con @ #. ¿Sera codificación?

    • Hola. Puede deberse a varias cosas, pero si al menos las imágenes aparecen, entonces el texto debería funcionar sin problemas. Ahí ya sería cuestión de revisar el manual o protocolos de su impresora en cuestión. Si necesita ayuda adicional estaré encantado de ayudarle en https://parzibyte.me/#contacto

  • Muchas gracias por compartir el plugin.

    Lo he probado con una DATECS DPP350C (ESC/POS) y me sale el mensaje "Impreso correctamente" però no imprime nada.
    He instalado esta impresora en windows y bluettoth (con los drivers) y si que me imprime.

    ¿Aguna sugerencia?

    • Hola, buen día. Tal vez el plugin no es compatible con su impresora. Recomiendo revisar de nuevo activando el Bluetooth, otorgando todos los permisos, revisando la impresora y comprobando si realmente se realiza la conexión (en algunas impresoras el led de estado cambia).

  • Hola! Muchas gracias por tu plugin... la verdad te leí con ilusión, pero la realidad es que no me dejó instalarla mi celular. Y mi problema persiste, resulta que esta impresora la adquirí para imprimir desde una versión del ERP Odoo que no reconoce la impresora directamente y había usado RawBT, pero sólo la uso de paso, desde el ERP mando a imprimir... la cuestión es que el RawBT pide membresía y pensé que con tu plugin lo solucionaría, pero no funcionó. ¿Tienes alguna sugerencia para esto? en Odoo me pide la IP de la impresora y no la he encontrado por ninguna parte.
    Realmente te lo agradecería cantidad me pudieras ayudar con este tema.

Entradas recientes

Creador de credenciales web – Aplicación gratuita

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

1 semana 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.