windows

Imprimir PDF con Ghostscript en Windows de manera programada

Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré con Ghostscript que permite imprimir un PDF sin confirmación del usuario. Personalmente prefiero PDFtoPrinter del cual ya hasta tengo un plugin.

Veamos cómo usar Ghostscript (gswin64) para automatizar la impresión de PDF.

Instalando Ghostscript

Revisa bien las licencias para que sepas cuál versión elegir, ya que depende de tu proyecto. Las licencias se eligen en: https://artifex.com/licensing/

Una vez que hayas elegido la licencia procede a su descarga en: https://www.ghostscript.com/releases/gsdnld.html

Cuando lo hayas instalado puedes agregar la ubicación C:\Program Files\gs\gs10.04.0\bin a la PATH para invocar a gswin64c.exe desde cualquier lugar. Yo recomiendo hacerlo, así no tendrás que escribir la ubicación completa cuando quieras imprimir un PDF desde la línea de comandos.

Imprimir PDF

Si agregaste gswin64.exe a la PATH, la sintaxis es:

gswin64c.exe -dBATCH -dNOPAUSE -dQUIET -sDEVICE=mswinpr2 -sOutputFile="\\spool\Nombre de la impresora" "Ubicación PDF"

En caso de que no lo hayas agregado a la PATH sería así:

C:\Program Files\gs\gs10.04.0\bin\gswin64c.exe -dBATCH -dNOPAUSE -dQUIET -sDEVICE=mswinpr2 -sOutputFile="\\spool\Nombre de la impresora" "Ubicación PDF"

Por ejemplo, para imprimir el PDF llamado Documento 5.pdf que se encuentra en mi escritorio en la impresora llamada Microsoft Print to PDF:

gswin64c.exe -dBATCH -dNOPAUSE -dQUIET -sDEVICE=mswinpr2 -sOutputFile="\\spool\Microsoft Print to PDF" "C:\Users\parzibyte\Desktop\Documento 5.pdf"

Si el PDF no existe nos va a dar el siguiente error:

Error: /undefinedfilename in (C:\\Users\\parzibyte\\Desktop\\Documento 5.pdfs)
Operand stack:

Execution stack:
%interp_exit .runexec2 –nostringval– –nostringval– –nostringval– 2 %stopped_push –nostringval– –nostringval– –nostringval– false 1 %stopped_push
Dictionary stack:
–dict:748/1123(ro)(G)– –dict:0/20(G)– –dict:85/200(L)–
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript 10.04.0: Unrecoverable error, exit code 1

Si la impresora no existe se va a mostrar un cuadro de diálogo.

Así es como puedes imprimir un PDF de manera silenciosa y sin confirmación del usuario.

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/

Entradas recientes

Copiar bytes de Golang a JavaScript con WebAssembly

Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…

4 semanas hace

Hacer pruebas en impresora térmica Bluetooth Android

Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…

1 mes hace

Limpiar clave PEM

Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…

1 mes hace

Foco con Telegram, apagador de 3 vías, relevador y ESP8266

Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…

1 mes hace

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

2 meses hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

2 meses hace