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.
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.
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.
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
Esta web usa cookies.