1 votos

¿Cómo puedo combinar múltiples grupos de PDFs usando la línea de comandos?

Tengo 1000 grupos de 5 archivos pdf que necesito combinar/fusionar. Conozco el comando "/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" y he creado las 1000 versiones diferentes del comando que necesito. Actualmente estoy copiando y pegando cada línea por separado en Terminal para ejecutarlo. ¿Hay alguna forma de poner las 1000 líneas en un script y ejecutar el script? Gracias

0 votos

¿Puedes agregar algunos ejemplos de tu código a la pregunta?

0 votos

También, ¿cómo se pueden identificar los cinco archivos que se van a fusionar? ¿Tienen nombres específicos, están en un directorio específico o algo más?

0 votos

@patrix Todos los archivos están en un solo directorio, tienen nombres específicos y un nombre de archivo de combinación único, de hecho, hay más de 5 archivos como verás en las líneas a continuación.

5voto

markus Puntos 21

La funcionalidad para combinar PDF está incorporada en Preview.app, y puede ser un enfoque útil para tratar con un pequeño número de documentos.

Las versiones recientes de macOS también tienen un script de Python que automatiza este proceso para varios archivos PDF. Este script se encuentra en:

/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py

Puedes ejecutar el script directamente en Terminal, pero puede ser útil agregar un alias en tu ~/.bash_profile:

alias combinepdfs='/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py'

¡En lugar de escribir la larga ubicación del script cada vez, ahora puedes ejecutar este script utilizando un solo comando! (¡No olvides recargar después de hacer cambios: source ~/.bash_profile.)


Supongamos que tengo un directorio de apuntes de clase ~/Documents/Lectures que contiene los siguientes archivos:

lec2.pdf  lec3.pdf  lec4.pdf  lec5.pdf  lec6.pdf  lec7.pdf  lec8.pdf  lec9.pdf lec10.pdf lec11.pdf lec12.pdf lec13.pdf lec14.pdf lec15.pdf lec16.pdf lec17.pdf 

Puedo combinar estos archivos PDF utilizando el siguiente comando:

$ combinepdfs -o lec-combined.pdf lec{2..17}.pdf

El patrón de uso general se muestra en el comando de ayuda:

$ combinepdfs --help

Usage: join [--output ] [--shuffle] [--verbose]

También hay una característica adicional para mezclar páginas:

--shuffle
#       Toma una página de cada archivo PDF de entrada de forma alternada antes de tomar otra de cada archivo.
#       Si esta opción no está especificada, entonces todas las páginas de un archivo PDF se anexan
#       al archivo PDF de salida antes de que se procese el siguiente archivo PDF de entrada.

0voto

l --marc l Puntos 122

Para macOS Sonoma, utiliza …/Contents/MacOS/join ya que …/Contents/Resources/join.py ya no se proporciona.

alias combine-pdf-pages='/System/Library/Automator/Combine\ PDF\ Pages.action/Contents/MacOS/join'

combine-pdf-pages -o output.pdf in001.pdf in002.pdf

También, en la WWDC 2021, Apple anunció una migración de automator a shortcuts en macOS.

“Este es solo el comienzo de una transición de varios años. Automator seguirá siendo compatible, y puedes importar flujos de trabajo de Automator para comenzar uno con Shortcuts,” dijo Federighi.

Usar flujos de trabajo de automator con la app Shortcuts en Mac

Puedes importar flujos de trabajo de Automator en la aplicación Shortcuts en tu Mac. Shortcuts puede convertir la mayoría de los flujos de trabajo de Automator en accesos directos que realizan las mismas funciones, eventos y automatizaciones: simplemente arrastra un archivo de flujo de trabajo a Shortcuts y la conversión se realiza automáticamente.

Ejecutar accesos directos desde la línea de comandos

man shortcuts

# NAME
#      shortcuts – Utilidad de línea de comandos para ejecutar accesos directos.
# 
# SYNOPSIS
#      shortcuts run shortcut-name-or-identifier [--input-path input-path ...]
#                [--output-path output-path ...] [--output-type output-type]
#      … más …
# 
# DESCRIPTION
#      El comando shortcuts se utiliza para ejecutar, listar, ver 
#      o firmar accesos directos. Para crear o editar un acceso directo, 
#      utiliza la aplicación Shortcuts.
# 
# OPTIONS
#    shortcuts run
#      shortcut-name-or-identifier
#      … más …

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X