¿Automatizar la impresión con opciones?

2

Estoy intentando imprimir un archivo (un pdf), sin intervención. No específico de Automator, puedo lidiar con Applecript o terminal o lo que sea. Los detalles de lo que quiero son:

  • Imprimir en una impresora específica
  • Imprimir en tamaño de página específico (no estándar)
  • Rotación automática (opcional)
  • Ajustar a la medida, imprimir la página completa (termina de 109 a 112%. 110% funciona)

Puedo hacer esto manualmente a través del menú de impresión de Vista previa, solo el tamaño de la página no es el predeterminado, pero quiero automatizarlo, arrastrar y soltar, de alguna manera.

Cosas que probé:

  1. Si imprimo desde el Finder, usa Vista previa, pero está fuera de tamaño y tamaño de página incorrecto.
  2. Si lo arrastro a la impresora en ~ / Library / Printers / printername, es como usar LP, pero sin las opciones.
  3. Las opciones de impresión de Applescript están mal documentadas.
  4. Los "elementos del buscador de impresión" de Automator son como el # 1.
  5. "Imprimir imágenes" de Automator es como Vista previa, pero "Escala para ajustarse" no funciona como Vista previa, no puedo elegir el tamaño de la página y "Rotar automáticamente" no funciona en absoluto.
  6. Si imprimo desde el terminal a través de LP o LPR, puedo configurar el tamaño y la orientación de la página / ajuste a la página, pero no puedo escalarlo al 110%. Esto es lo más parecido a lo que quiero.

¿Cómo puedo hacer esto? No debería ser tan difícil, quiero hacer lo que puede hacer la GUI, no como quiero funciones adicionales.

En el peor de los casos, ¿cómo puedo emular el control del mouse o el 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 preestablecido o de página, ya que todas las demás opciones incluida la escala están predeterminadas . 4. presione imprimir / ingresar.

    
pregunta cde 03.03.2016 - 10:06

2 respuestas

2

Dividamos el problema en dos partes: escalado e impresión.

Escalado

Puedes escalar un PDF en la línea de comando. Considere crear un PDF temporal, a escala, para imprimir.

Consulte escala del contenido PDF y las dimensiones de la página desde la línea de comandos para los enfoques sugeridos para esto. 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.

Imprimiendo

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 comandos, consulte:

Para enumerar las impresoras disponibles, use:

lpstat -p -d

Para imprimir un archivo PDF en la impresora predeterminada, use:

lpr file.pdf
    
respondido por el Graham Miln 10.03.2016 - 11:36
0

Lo que terminé haciendo fue usar open y osascript junto con una herramienta pdfcrop del usuario del foro de MacRumor Oligarch (copia de seguridad de Wayback Machine a 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'"'
  1. Toma el archivo original y crea tres copias. Uno con el pdf recortado a tamaño (cuadro de recorte, ninguno destructivo) que conservo, y dos recortados a tamaño (cuadro de medios) que son temporales.
  2. Luego los abre con Vista previa, como dos páginas / archivos en la misma ventana.
  3. A continuación, le dice al Finder a través de Applescript que elimine los archivos temporales, en un Finder, mueva a la basura. Igual que si I ⌘-Delete los archivos.
  4. Una vez en la vista previa, puedo ⌘-P para imprimir ambos archivos. Lo único que tengo que hacer es cambiar el tamaño del papel, la vista previa controla la escala.

Obviamente, no hace todo lo que quiero, pero ayuda a reducir la cantidad de recorte manual y de ida y vuelta para asegurarse de que todo lo que necesito impreso esté impreso.

Ya 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.

    
respondido por el cde 22.03.2016 - 01:09

Lea otras preguntas en las etiquetas