Existe-t-il une méthode rapide pour combiner plusieurs fichiers PDF en un seul ?
Je sais que cela peut être fait en utilisant Preview.app.
Existe-t-il une méthode rapide pour combiner plusieurs fichiers PDF en un seul ?
Je sais que cela peut être fait en utilisant Preview.app.
Le script Python d'Apple dans l'action Automator est très lent, car il utilise les API CGPDFDocument de CoreGraphics, plutôt que le nouveau cadre PDFKit. Il importe également l'ensemble de la bibliothèque CoreGraphics, plutôt que les seules API requises.
Un script Python alternatif et plus rapide, peuvent être trouvés ici :
Ce script ajoute également une table des matières au PDF, en listant chaque fichier composant (et en fusionnant les ToC existantes), ce que ne fait pas celui d'Apple.
Il peut être utilisé sur la ligne de commande (avec les noms de fichiers PDF comme arguments), ou dans une action du shell script d'Automator, pour créer une action/service rapide pour le Finder.
À titre d'essai, en utilisant le time
commande en conjonction avec votre joinpdfs.py
script l'intégré join.py
script et deux fichiers de ~200 MB chacun, votre joinpdfs.py
script était plus rapide de 9 secondes que le système intégré join.py
script avec, bien sûr, l'avantage supplémentaire d'avoir la table des matières intacte. Joli ! +1
Pour info, j'ai écrit un petit programme rapide qui vous permet de faire cela sans avoir à compter sur des dépendances externes comme le système Python et autres. Sur github ici : pdfmerge et assez simple à utiliser, on peut lui passer une liste de fichiers PDF à fusionner avec pdfmerge in1.pdf in2.pdf ... out.pdf
en lui passant une liste de fichiers à fusionner dans un fichier texte, par exemple pdfmerge infileslist.txt out.pdf
ou simplement faire le répertoire courant dans l'ordre ABC avec pdfmerge out.pdf
. Je l'ai écrit comme un projet d'apprentissage, donc libre et ouvert, et vous pouvez obtenir le dernier binaire à partir de l'onglet "releases" sur github.
Étant donné que Python est installé par défaut dans et comme partie intégrante de MacOS, je ne le considère pas nécessairement comme une dépendance externe en soi. En d'autres termes, pour utiliser ce qui est déjà disponible d'emblée dans MacOS pour joindre des fichiers PDF, il suffit d'utiliser la commande join.py
script de l'action Combiner les pages PDF dans Automator, rien d'autre ne doit être téléchargé ou installé, pourtant pour utiliser le vôtre je devrais le télécharger et l'installer. Je n'ai pas non plus vu de binaire sur le lien.
BTW J'ai parcouru votre code et il est intéressant de constater que vous utilisez deux des composants de base (Foundation et Quartz) que le script Python utilise déjà aussi. Y a-t-il quelque chose dans votre code qui soit intrinsèquement meilleur pour faire basculer son utilisation par rapport à ce qui est déjà offert par défaut sans avoir à télécharger quoi que ce soit, alors qu'avec le vôtre on doit prendre des mesures supplémentaires et additionnelles pour l'utiliser ?
Pour les personnes qui n'utilisent pas Python pour autre chose, il est probablement plus logique d'utiliser le script fourni par Apple. Mais pour les personnes qui utilisent Python, cela peut être un gros problème de gérer plusieurs versions (le système Python est 2.7, le Python moderne est 3.x) avec différentes installations de modules et autres. Sur ma machine, par exemple, mon $PATH pointe vers un Python totalement différent. Cela peut être résolu avec une utilisation judicieuse des shebangs et autres, mais je trouve cela ennuyeux. YMMV, bien sûr. Aussi, lien direct vers la page de téléchargement du binaire : github.com/paultopia/pdfmerge/releases/latest
Si vous voulez être en mesure de combiner plusieurs pages sur une seule feuille, j'ai écrit un outil qui peut le faire (ou juste une combinaison normale). Mac PDFNUp
Vous pouvez obtenir le téléchargement binaire sur le bouton "releases".
Utilisation : pdfnup --output <out> --nup 1/2/6 <filename>
Formules pour le brassage à domicile
brew cask install combine-pdfs
Il s'agit d'un Application GUI qui permet de fusionner de nombreux pdf. Très puissant.
LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.