La impresión de un PDF en cualquier impresora se puede automatizar con un bot de Telegram. En este post te mostraré el código fuente y la configuración de un Bot de Telegram para imprimir un PDF desde cualquier lugar en cualquier impresora.
Gracias a esto vas a poder enviarle un PDF (como archivo) al Bot y el documento será impreso en la impresora seleccionada por el usuario, todo en una misma computadora. El Bot también permite impresión de PDF a partir de una URL.
Lo bueno de todo esto es que vas a poder imprimir desde cualquier dispositivo y lugar del mundo, ya que el Bot estará escuchando a cuando reciba un mensaje de cualquier usuario.
Veamos cómo funciona este Bot de Telegram que permite imprimir un PDF de manera automatizada e instantánea en cualquier impresora.
Comencemos hablando del código que hace que el Bot de Telegram pueda imprimir un PDF enviado por cualquier usuario. El código completo está en: https://github.com/parzibyte/telegram-bot-pdf-print
La configuración del Bot y obtención del token es tu responsabilidad. En Telegram, habla con el BotFather para crear un Bot y que te proporcione el token. Esto es totalmente gratis y cualquiera puede hacerlo, incluso sin conocimientos de programación.
Guarda el token ya que lo vas a necesitar más tarde.
Necesitas contar con Node y NPM instalados. Cuando tengas el código fuente extraído en tu computadora abre una terminal, navega a la carpeta y ejecuta:
npm install
Después, crea un archivo llamado .env
basándote en .env.example
y coloca el token del Bot en TELEGRAM_BOT_TOKEN
Una vez que hayas creado el archivo .env
guarda los cambios y ejecuta:
node index.js
Con eso habrás ejecutado el Bot correctamente. Ahora ve a Telegram y envíale un mensaje que diga /version
, debe aparecer “fetch failed”, lo que indica que el Bot ya está en ejecución. Si no te devuelve ningún mensaje, asegúrate de seguir los pasos anteriores.
Nota importante: el Bot debe ser ejecutado en la computadora donde se encuentra conectada la impresora físicamente. Después de eso puedes enviar PDF a imprimir desde cualquier parte del mundo y dispositivo para que se impriman en la computadora donde el Bot se está ejecutando.
Ya has completado el primer paso: la ejecución del Bot de Telegram, pero el Bot por sí mismo no puede imprimir los documentos. Vamos a necesitar 2 herramientas adicionales:
plugin_pdf_prod_32.exe
o plugin_pdf_prod_64.exe
el cual se descarga en: https://github.com/parzibyte/plugin-silent-pdf-print-examples/releases/latestPDFtoPrinter.exe
el cual se descarga en: https://mendelson.org/pdftoprinter.html o en https://github.com/emendelson/pdftoprinter/blob/main/PDFtoPrinter.exe?raw=trueNota: ninguna de las herramientas contiene malware, aunque los antivirus o sistemas lo detecten como tal. Es tu responsabilidad obligar al sistema a confiar en los programas y de ser necesario agregarlos a las excepciones.
También he notado que en ocasiones el navegador bloquea la descarga; de nuevo, es tu responsabilidad forzarla.
Una vez descargados, ejecuta plugin_pdf_prod_32.exe
o plugin_pdf_prod_64.exe
y deja a PDFtoPrinter.exe
en el mismo directorio donde se encuentra el archivo que has ejecutado.
Hasta este momento el Bot de impresión de PDF debe estar en ejecución así como el Plugin para PDF (mismo que no abre ninguna ventana). Vuelve a enviar el mensaje /version
al Bot y debe responder con lo siguiente:
Si el mensaje “fetch failed” sigue apareciendo, asegúrate de haber ejecutado el plugin PDF y de que no hay ningún otro programa ejecutándose en el puerto 8080.
En caso de que aparezca el mensaje de la imagen, ya has configurado todo para poder imprimir documentos PDF desde Telegram.
La impresora predeterminada se guarda por cada usuario, así que cada usuario puede imprimir en una impresora distinta al enviar el PDF al Bot de Telegram.
Si envías un PDF o un enlace de PDF al Bot y no has seleccionado una impresora, el Bot te pedirá que configures una. Este paso solo se tiene que hacer una vez, ya sea por recomendación del Bot o enviando el mensaje /impresoras
y eligiendo alguna de la lista:
Puedes invocar ese menú cuando lo prefieras, así puedes seleccionar tu impresora preferida. Esto se guarda permanentemente y puede ser cambiado en cualquier momento ya sea desde el Bot o mirando el archivo impresoras.json
.
Finalmente, después de tanta configuración, llegamos a la impresión del PDF desde el Bot. Lo bueno de esto es que solo tienes que configurar el Bot y descargar las herramientas una vez, y después todo será automático.
Primero veamos cómo imprimir un PDF enviado como documento. En este caso la captura es de mi teléfono Android y el PDF será impreso en la impresora que seleccioné en el Bot en la computadora donde se ejecuta:
Como puedes ver, no importa la plataforma desde donde envíes el PDF, al final el mismo será impreso con el Bot de Telegram. Así puedes imprimir PDF en una impresora remota (desde cualquier parte del mundo) desde un iPad, Android, PC, Mac, Linux, etcétera; donde sea que se ejecute Telegram, incluso desde la web.
Nota: si envías una descripción (caption) al momento de enviar el documento, se tomará como el nombre de la impresora y tomará precedencia a la impresora predeterminada. Si lo dejas vacío, se imprimirá en la impresora predeterminada.
El Bot también soporta la impresión de un PDF a partir de una URL. Basta con enviarle dicha URL para que el Bot descargue e imprima dicho documento:
El Bot puede hacer muchas más cosas si lo modificas correctamente. Actualmente el plugin soporta la impresión de PDF como documento, como documento existente en la computadora, en base64 y también se puede crear en tiempo real a partir de una cadena HTML, pero no encontré la manera amigable de colocar esa opción en el Bot.
Puedes solicitarme modificaciones para que el Bot permita hacer más cosas, al final del post encontrarás mis datos de contacto. Recuerda que el mismo es open source, así que puedes modificarlo por ti mismo y analizar su comportamiento.
He escrito más tutoriales con este plugin, mismos que puedes leer en: https://parzibyte.me/blog/category/plugin-pdf/
A continuación describo algunos posibles errores. Si hay un error, el Bot te lo dirá indicando el mensaje de error.
En este post te enseñaré a imprimir la letra ñ en una impresora térmica. Voy…
En este post te quiero compartir mi experiencia tramitando un acta de nacimiento de México…
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Esta web usa cookies.