En este post te voy a enseñar a designar una carpeta para imprimir todos los PDF que estén dentro de ella automáticamente. Es decir, imprimir todo PDF descargado en esa carpeta y que se imprima de forma masiva.
Veamos cómo imprimir lo que cae o se descarga en una carpeta. Todo PDF que pegues, muevas o descargues en ese directorio será impreso automáticamente en la impresora que designes y puedes hacerlo en masa, ya que puedes imprimir todos los PDF de una carpeta automáticamente.
Para ello he programado un vigilante que revisa el contenido de la carpeta periódicamente (cada 1 segundo) y en caso de detectar algún PDF lo imprime al instante.
Descargando herramientas
Para que esto funcione necesitamos varias herramientas que permitirán imprimir los PDF de una carpeta automáticamente y sin intervención del usuario. Necesitas descargar:
- Herramienta para escuchar peticiones de impresión: 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/latest
- Impresión de manera programada: PDFtoPrinter.exe el cual se descarga en: https://mendelson.org/pdftoprinter.html o en https://github.com/emendelson/pdftoprinter/blob/main/PDFtoPrinter.exe?raw=true
- Vigilante de carpeta para imprimir PDF el cual se descarga en: https://parzibyte.me/static/vigilar_carpeta_imprimir.exe
Nota: 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 y copiar y pegar los enlaces si no funcionan.
Configurando vigilante
Como vamos a automatizar la impresión de todo PDF que se coloque en la carpeta necesitamos indicar el nombre de la impresora y otros ajustes. Debes crear un archivo llamado ajustes.json
con el siguiente contenido:
{
"impresora": "Aquí va el nombre de la impresora",
"serial": "",
"urlPlugin": "http://localhost:8080"
}
Es importante que coloques el nombre de tu impresora tal y como aparece en el panel de control.
Iniciando plugin y vigilante
Ahora debes colocar todos los archivos descargados así como el archivo de ajustes en una carpeta limpia.
En esta misma carpeta vas a colocar los PDF que se van a imprimir automáticamente, pero al inicio debe existir:
- vigilar_carpeta_imprimir.exe
- PDFtoPrinter.exe
- plugin_pdf_prod_64.exe o plugin_pdf_prod_32.exe
- ajustes.json
Ahora ejecuta plugin_pdf_prod_64.exe
o plugin_pdf_prod_32.exe
, brinda los permisos necesarios. Luego ejecuta vigilar_carpeta_imprimir.exe
.
Ya puedes comenzar a descargar o pegar los documentos en la carpeta donde se encuentran los archivos previamente listados, y deberían comenzar a imprimirse automáticamente tan pronto se detecte un nuevo documento.
Aviso: mientras el vigilante esté en ejecución, todo PDF detectado en la carpeta será enviado para imprimir, pero independientemente del estado de la impresión, el PDF será eliminado. Así que no coloques ningún PDF importante del cual no tengas alguna copia en otro lugar.
Los registros de cada operación serán colocados en un archivo de registro creada en esa misma carpeta. Ese archivo de registro tendrá el nombre de mes-año.log
y puedes abrirlo en caso de que algo no funcione.
Bonus: varias carpetas
Si tienes varias impresoras podrías crear un ajustes.json
por cada una, y designar una carpeta por impresora. El vigilante puede ejecutarse en varias instancias, pero el plugin PDF no.
Así que basta con iniciar el plugin PDF una vez desde cualquier carpeta, y luego iniciar el vigilante por cada carpeta. No olvides configurar el archivo de ajustes.json
por cada carpeta.