Comment fusionner plusieurs fichiers PDF?

346

Il existe de nombreux logiciels dans Windows permettant de fusionner des fichiers PDF, mais comment pouvons-nous faire de même dans Ubuntu?

Deependra Solanky
la source
J'ai trouvé ce lien
Grijesh Chauhan le

Réponses:

209

PDF-Shuffler Installer PDF-Shuffler

Si vous voulez un outil avec une interface graphique simple, essayez pdfshuffler . Il permet la fusion de fichiers PDF ainsi que la réorganisation et la suppression de pages. Pdftk est bien entendu plus puissant pour le traitement par lots et / ou les tâches plus complexes.

Capture d'écran de PDF-Shuffler

Marcel Stimberg
la source
J'ai essayé ceci - cela n'a pas fonctionné le 10.04
David Oneill
Le 12.04, pdfshuffler se plaint toujours qu'il y a "trop ​​de valeurs à décompresser", ce qui le rend inutilisable.
Despens
8
Installe et fonctionne comme un charme sur 14.04. Merci beaucoup !!
Zlatty
1
Je peux aussi confirmer que tout va pdfshufflerbien le 14.04 amd64.
conualfy
2
Fonctionne également très bien le 16.04.1
Sanjay Manohar
334

pdftkInstaller pdftk

Pour fusionner deux fichiers pdf file1.pdfet file2.pdf:

pdftk file1.pdf file2.pdf cat output mergedfile.pdf

Plus d'infos disponibles ici Way Back Machine .

Rojan
la source
5
pdftk is buggy - bugs.launchpad.net/ubuntu/+source/pdftk/+bug/779908 . gs peut - être lent, mais fonctionne parfaitement [réponse Ignite]
Pushpak Dagade
@PushpakDagade ghostscript gâche avec les annotations, en particulier les commentaires qui ont été cochés (case cochée avec une coche), n'aura plus cette coche. Je ne suis pas au courant d'un moyen de contourner cela. De plus, si vous fusionnez PDF v1.5 + 1.6, la sortie sera 1.4 par défaut. C'est un comportement étrange.
Jonathan Komar
2
pdftk a un usage inhabituel dans lequel les commandes catet outputles arguments d'entrée variables sont suivis d'un argument de sortie.
Jeff Puckett
3
Le paquet semble avoir été retiré en 2018.04.
Nicolas Raoul
1
@NicolasRaoul Je viens de le télécharger en une installation instantanée.
Max
161

Ghostscript est un package (disponible par défaut dans Ubuntu) qui vous permet d'afficher ou d'imprimer des fichiers PostScript et PDF dans d'autres formats, ou de convertir ces fichiers dans d'autres formats.
Pour utiliser Ghostscript pour combiner des fichiers PDF, tapez quelque chose comme ce qui suit:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=finished.pdf  file1.pdf file2.pdf

Voici une brève explication de la commande:

gs         starts the Ghostscript program.
-dBATCH    once Ghostscript processes the PDF files, it should exit.
           If you don't include this option, Ghostscript will just keep running.
-dNOPAUSE  forces Ghostscript to process each page without pausing for user interaction.
-q         stops Ghostscript from displaying messages while it works
-sDEVICE=pdfwrite 
           tells Ghostscript to use its built-in PDF writer to process the files.
-sOutputFile=finished.pdf
           tells Ghostscript to save the combined PDF file with the specified name.
-dAutoRotatePages=/None
           Acrobat Distiller parameter AutoRotatePages controls the automatic orientation selection algorithm: For instance: -dAutoRotatePages=/None or /All or /PageByPage.

Vos fichiers d'entrée n'ont même pas besoin d'être des fichiers PDF. Vous pouvez également utiliser des fichiers PostScript ou EPS, ou tout mélange des trois.

Vous pouvez faire beaucoup de choses avec Ghostscript. Vous pouvez lire sa documentation pour plus de détails.

La source

enflammer
la source
2
C'est vrai, mais c'est incroyablement lent. Je viens d'essayer de concaténer des PDF de 45 x 400 Ko, d'une page. pdftka pris 0m0,484s, a gspris 1m32,898s (c'est près de 200 fois plus lent) Le fichier à partir gsétait environ 21% plus petit.
aidan
2
Cette commande fonctionne également si vous utilisez un caractère générique pour la liste des fichiers à combiner. par exemple, remplacer file1.pdf file2.pdfparfile*.pdf
Antonios Hadjigeorgalis
2
Pour moi, j'ai gstravaillé avec des PDF "non conformes" pdftkqui ne fonctionneraient jamais.
ntc2
1
Utilisez l' -dPDFSETTINGS=/prepressoption d'amélioration de la qualité. Tous nos remerciements au contributeur
Mohnish
6
@AntoniosHadjigeorgalis Juste pour référence et bonne compréhension: ce n'est pas la commande supportant les caractères génériques, c'est le shell qui remplace file*.pdfpar file1.pdf file2.pdfavant de passer les arguments à la commande.
Midgard
82

Vous utilisez également pdfunite pour fusionner des documents pdf:

pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf
BЈовић
la source
12
AVERTISSEMENT: Un fichier existant out.pdfsera écrasé sans avertissement et pdfunite *.pdfne fonctionnera donc pas comme prévu.
krlmlr
1
@krlmlr Vous pouvez toujours mettre la sortie dans un autre répertoire.
BЈовић
Très bien, cpécrase également le dernier argument sans avertissement. Ceci est juste pour les utilisateurs pressés (comme moi) - J'ai eu de la chance d'avoir une sauvegarde du fichier en question ...
krlmlr
1
Vote positif: il s'agit d'un simple outil de ligne de commande sans interface graphique clic-baver comme beaucoup d'autres réponses ici. Il résume bien les complexités de la solution GhostScript (largement équivalente).
tripleee
1
C'est aussi très rapide. Fait le travail bien. Sur un serveur très lent (aws t1.micro), gs prend 9 secondes, pdftk prend 4 secondes et ce pdfunite prend 0,9 seconde pour la fusion de deux fichiers!
rsmoorthy
34

Chaîne PDF Installer la chaîne PDF

PDFChain est une très bonne solution. Son interface graphique est une interface de PDFTK où vous pouvez fusionner, diviser ou même ajouter un peu d’arrière-plan à vos fichiers PDF.

Vincenzo
la source
C'est la meilleure réponse. Cela fonctionne parfaitement, quelle que soit la version d'Ubuntu.
Paulo Coghi
Travaillé sur Ubuntu 14.04 sans tracas!
my account_ram
Fonctionne très bien sur Ubuntu 18.04!
Orschiro
@ user2413 c'est un snap store, pas la seule source de logiciels sous Ubuntu. Essayer de chercher aptn'a donné aucun résultat non plus: /
jena
11

Essayez PDFMod à partir du projet GNOME:

https://wiki.gnome.org/Apps/PdfMod

Detnuomnu
la source
ne fait pas de fusion.
user2413
elle a déjà fusionné dans le passé, maintenant elle tombe en panne, j'ai utilisé le programme pdfshuffler à la place et cela a très bien fonctionné
jena
8

Une autre approche consiste à utiliser Latex comme expliqué dans ce message ( sans accès root, en supposant que pdflatex est installé): https://tex.stackexchange.com/questions/8662/merge-two-pdf-files-output-by- latex

Ceci est utile si vous ne possédez pas les outils mentionnés ni les privilèges root, mais vous avez pdflatex.

Je copie le code tex ci-dessous pour fusionner file1.pdfet file2.pdf. Créez un fichier appelé output.texet mettez:

\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{file1}
\includepdf[pages=-]{file2}
\end{document}

Et pour compiler, utilisez simplement: pdflatex output.tex

Le fichier fusionné sera nommé comme output.pdf.

Emre
la source
6

J'utilise pdfseparate pour extraire des pages spécifiques d'un gros fichier pdf:

pdfseparate -f  156 -l 157 input.pdf  output_%d.pdf 
pdfseparate -f  1   -l 2   input.pdf  output_%d.pdf 

et ensuite je les rejoint tous via la commande:

pdfunite $(ls -v output_*.pdf | tr '\n' ' ') out$(date  +%Y-%m-%d_%H_%M_%S ).pdf

Cela rejoint:

output_1.pdf output_2.pdf output_156.pdf output_157.pdf  

dans:

out2014-12-14_23_25_36.pdf

Peut-être y a-t-il un moyen plus facile de faire face ... :-)

xérostome
la source
La substitution de processus est superflue et même potentiellement nuisible . Une ligne de commande correcte et beaucoup plus simple est, pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdfmais il lui manque l'ordre ls -v. Une solution évidente et triviale consiste à nommer vos fichiers de manière à ce qu'ils soient triés naturellement dans l'ordre dans lequel vous souhaitez les inclure. Si vous le souhaitez absolument ls -v, vous pouvez au moins perdre le tuyau tr, ce qui n’apporte rien ici.
tripleee
5

Utilisez pdfsam http://www.pdfsam.org/ c'est très bon pour scinder et fusionner des pdfs

R.Sathish Kumar
la source
1

Voici mon approche:

  • Je voulais qu'il soit facilement accessible. J'ai donc créé un raccourci avec le bouton droit de la souris dans Nautilus (voir https://help.ubuntu.com/community/NautilusScriptsHowto ).
  • Je voulais que ce soit très rapide alors j'ai utilisé pdfunite
  • pdfunite n'accepte que les chemins de fichiers au milieu de la commande, j'ai donc dû me gratter la tête pour gérer les espaces dans les chemins de fichiers. J'ai donc supposé que tous les chemins de fichiers commenceraient par "/ home /" et se termineraient par ".pdf"

Voici le résultat:

#!/bin/sh
CLEANED_FILE_PATHS=$(echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed 's,.pdf /home/,.pdf\\n/home/,g')
echo $CLEANED_FILE_PATHS | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" merged.pdf'

Juste coller ce script dans

/home/votre_nom_utilisateur/.local/share/nautilus/scripts

et nommez-le "merge_pdfs.sh" (par exemple). Ensuite, rendez-le exécutable (cliquez avec le bouton droit sur merge_pdfs.sh -> onglet Autorisations -> cochez la case "Autoriser l'exécution du fichier en tant que programme"

Alors maintenant, pour fusionner des fichiers pdf, il vous suffit de les sélectionner -> clic droit -> scripts -> merge_pdfs.sh et cela créera un fichier "merged.pdf" dans le même répertoire

J'espère que ça aide!

max
la source