Estoy tratando de imprimir un archivo (un pdf), sin intervención. No es específico de Automator, puedo manejar applescript o terminal o lo que sea. Los detalles de lo que quiero son:
Puedo hacer esto manualmente a través del menú de impresión de Vista previa, solo que el tamaño de la página no es el predeterminado, pero quiero automatizarlo, arrastrar y soltar, de alguna manera.
Cosas que probé:
En el peor de los casos, ¿cómo puedo emular el control del mouse o del teclado del menú de impresión de Vista previa? Todo lo que se necesitaría es 1. abrir el archivo, 2. abrir el menú de impresión, 3. cambiar a un tamaño predeterminado o de página, ya que todas las demás opciones, incluida la escala, son predeterminadas , 4. presionar imprimir/ingresar.
Dividamos el problema en dos partes: escalado e impresión.
Puede escalar un PDF en la línea de comando. Considere la posibilidad de crear un PDF temporal a escala para imprimir.
Consulte cómo escalar el contenido de PDF y las dimensiones de la página desde la línea de comandos para conocer los enfoques sugeridos. La respuesta más votada sugiere usar cpdf con un comando como:
cpdf -scale-page "1.1 1.1" in.pdf -o out.pdf
Una herramienta alternativa es sips
. Esta herramienta se incluye con OS X y es sorprendentemente capaz.
Como ha descubierto, el sistema de impresión de OS X es el Sistema de impresión común de Unix (CUPS). CUPS incluye la herramienta de línea de comandos lpr
que puede aceptar todas las configuraciones y opciones que necesita.
Para imprimir el PDF a través de la línea de comando, consulte:
Para enumerar las impresoras disponibles, utilice:
lpstat -p -d
Para imprimir un archivo PDF en la impresora predeterminada, utilice:
lpr file.pdf
pipe
y hacer todo el asunto a la vez? como: cpdf -scale-page "1.1 1.1" in.pdf | lpr
?cpdf
eso podría ser posible. Con sips
ello tendría que ir a través de un archivo. Sospecho que un script de bash corto o incluso un droplet de AppleScript envolvería bien el comando.Lo que terminé haciendo fue usar open
y osascript
junto con una herramienta pdfcrop
del usuario del foro de MacRumor, Oligarch (Wayback Machine backup to archive )
./pdfcrop /path/to/file.pdf -u in -p 6.68 1.82 -a tr -o 0.14 0.23 > ./0.pdf && \
./pdfcrop /path/to/file.pdf -b m -u in -p 3.30 1.82 -a tr -o 0.14 0.23 > ./1.pdf && \
./pdfcrop /path/to/file.pdf -b m -u in -p 3.38 1.78 -a tr -o 3.43 0.24 > ./2.pdf && \
open ./1.pdf ./2.pdf && \
osascript -e 'tell application "Finder" to delete POSIX file "'/path/to/file.pdf'"' -e 'tell application "Finder" to delete POSIX file "'./1.pdf'"' -e 'tell application "Finder" to delete POSIX file "'./2.pdf'"'
⌘-Delete
los archivos.⌘-P
imprimir ambos archivos. Lo único que debo hacer es cambiar el tamaño del papel, Preview maneja la escala.Obviamente, no hace todo lo que quiero, pero ayuda a reducir la cantidad de recortes manuales y de ir y venir para asegurarme de que se imprima todo lo que necesito imprimir.
Dado que CPDF puede escalar y recortar, debería ser más fácil hacerlo todo a través de la línea de comandos. Solo necesito probarlo.
Comodín