En este post te mostraré cómo imprimir un documento PDF desde la línea de comandos de Windows, terminal o CMD utilizando el ejecutable PDFtoPrinter.exe.
Como sabes, imprimir un PDF desde la terminal de Windows no es posible usando el comando print
(ya que con éste solo se imprimen archivos de texto), pues se requiere un traductor para que lea el contenido del PDF y lo envíe a la impresora.
Justamente es lo que hace esta utilidad llamada PDFtoPrinter.exe
que veremos hoy.
Descargando PDFtoPrinter
No puedo subir aquí el ejecutable, pero lo puedes descargar desde donde yo lo he descargado. Ve al siguiente sitio: http://www.columbia.edu/~em36/pdftoprinter.html
Luego haz clic en download it here.
Recuerda tener ese ejecutable en el mismo directorio en donde lo vas a invocar desde el CMD, o si quieres invocarlo desde cualquier lugar, agrégalo a la PATH.
Sintaxis básica de PDFtoPrinter
La sintaxis es:
PDFtoPrinter.exe archivo.pdf impresora
También puedes indicar número de páginas y otras opciones, para ello dejaré un enlace a la documentación.
Imprimir PDF desde línea de comandos de Windows
Nota: para este ejemplo voy a imprimir en una impresora térmica pero con esta utilidad podemos imprimir cualquier documento PDF en cualquier impresora, incluso en una que sea tamaño carta, oficio, etcétera (solo que justo ahora no tengo una impresora que no sea térmica a la mano)
Por ejemplo, yo tengo un ticket en formato PDF y la herramienta:
El documento PDF es el siguiente:
Ahora desde el CMD navego hasta ese directorio y ejecuto el siguiente comando:
PDFtoPrinter.exe ticket.pdf POS-58
Estoy invocando a la utilidad con el nombre del documento y el nombre de la impresora:
Nota: puedes especificar el nombre de la impresora entre comillas si quieres, y también poner el nombre de una impresora en red, al final dejaré un enlace a algo de documentación.
Después de unos segundos se habrá impreso, lo digo de nuevo, en mi caso lo imprimí en una impresora térmica pero sirve para cualquier impresora.
El resultado después de imprimir un documento PDF desde el CMD de Windows es el siguiente:
Así de simple se pueden imprimir todos los documentos que queramos y en cualquier impresora, conservando todos los detalles.
Las ventajas de esto
Con esta utilidad podemos imprimir desde prácticamente cualquier lenguaje del lado del servidor, pues basta con invocar al símbolo del sistema o CMD, así que así podríamos imprimir en segundo plano y de manera silenciosa desde PHP, Python, C#, Go, entre otros.
Nota: si quieres imprimir un ticket sin usar PDF mira este post. También puedes invocar esta utilidad desde JavaScript para imprimir un PDF desde la nube.
Referencias
Puedes encontrar más información sobre esta utilidad aquí. No tengo nada que ver con la página ni la utilidad, solo vengo a compartir y a mostrar cómo se usa.