Adobe Acrobat: comment grouper pour combiner plusieurs fichiers pdf?


10

J'ai 3 dossiers:

Folder 1 
Folder 2
Folder 3

Dans chaque dossier, j'ai 5 fichiers pdf:

    Folder 1 
       file1.pdf
       file2.pdf
    Folder 2
       file1.pdf
       file2.pdf
    Folder 3
       file1.pdf
       file2.pdf

Je veux que dans chaque dossier ait un fichier combiné de ces deux fichiers:

    Folder 1 
       binder.pdf
    Folder 2
       binder.pdf
    Folder 3
       binder.pdf

Une idée? Ne dites pas de le faire manuellement. Ce cas est juste pour vous expliquer mon problème. Pensez que j'ai des centaines de dossiers. :) Peut-être que je peux utiliser un autre outil au lieu d'Adobe Acrobat?!


Qu'entendez-vous exactement par «avoir un fichier combiné de ces deux fichiers» ? Souhaitez-vous concaténer et fusionner ces deux fichiers en 1 PDF pour vous?
Kurt Pfeifle

Adobe Acrobat ou Adobe Acrobat Reader ?
wmz

@AndreiAndre De nombreuses bonnes solutions ont été publiées pour votre question. Vous pourriez peut-être choisir celui qui correspond à tous vos besoins et le marquer comme accepté.
nixda

Réponses:


12

Vous pouvez le faire avec un fichier batch court et pdftk.exe (pas pdftk Builder qui est la version GUI).
Il n'est pas nécessaire d'installer quoi que ce soit.

Préparation

  • télécharger et extraire pdftk avec UniExtract
  • Ouvrez .. \ pdftk \ bin * et copiez pdftk.exe et libiconv2.dll dans un dossier de votre choix
  • créez un nouveau fichier texte et collez le code suivant

    @Écho off
    setlocal enabledelayedexpansion
    POUR %% A IN (% *) DO (set command =! Command! %% A)
    pdftk.exe% commande% cat sortie "% ~ dp1binder.pdf"
    
  • Enregistrez-le sous merge@pdf.cmd dans le même dossier que pdftk.exe et libiconv2.dll entrez la description de l'image ici
  • créez un raccourci de ce fichier .cmd et placez-le dans votre dossier sendto ( Win+ R»shell: sendto)

Usage

  • Accédez à un dossier contenant des fichiers PDF et sélectionnez autant de PDF que vous le souhaitez
  • Faites un clic droit dessus et choisissez le raccourci que vous venez de créer
  • un nouveau classeur PDF dans le même dossier sera créé où tous les PDF sélectionnés sont fusionnés en un seul

    entrez la description de l'image ici

Mise à jour: version qui utilise le nom du dossier actuel comme nom de fichier pour le pdf généré

@echo off
setlocal enabledelayedexpansion
:: Concat all paths fromselected files and save it as command
FOR %%A IN (%*) DO (set command=!command! %%A)

:: Take path from first selected file and save it as path
set path=%~dp1
echo %path%

:: Check if a trailing slash is present. If yes, remove it
IF %path:~-1%==\ SET path=%path:~0,-1%

:: Get last folder from path
FOR %%F in ("%path%") do (set lastFolder=%%~nxF)

:: Call pdftk, pass on command. use lastFolder as filename
pdftk.exe %command% cat output "%path%\%lastFolder%.pdf"

TRÈS belle réponse. J'ai du mal à le modifier, donc il enregistre en tant que FOLDERNAME au lieu de binder.pdf. Comment pourrais-je faire ça?
Chen Stats Yu

@ChenStatsYu Voir la mise à jour
nixda

GÉNIAL!! Désolé de demander à nouveau, je ne sais pas si je dois commencer un nouveau message. Juste une dernière demande, comme je le répète pour près de 40/50 dossiers, pouvons-nous le modifier pour envoyer le "dossier" au cmd et utiliser le nom de dossier, au lieu de sélectionner des fichiers PDF dans le dossier?
Chen Stats Yu

J'espère également qu'il prendra en charge les noms de dossiers non anglais.
Chen Stats Yu

5

Si vous êtes sous Linux (ou Mac, ou n'importe quel environnement où il est installé), vous pouvez utiliser un outil en ligne de commande appelé ghostscript pour les combiner.

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH file1.pdf file2.pdf file3.pdf

Vous pouvez également utiliser les éléments suivants pour combiner tous les fichiers du dossier actuel

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH *.pdf 

Vous pouvez télécharger ghostscript ici . Il existe également une version Windows, mais je ne l'ai pas testée.


1
Cela fonctionne aussi sur les fenêtres. J'ai dû écrire le chemin complet de l'exécutable ghostscript (sur mon PC, c'est "c: \ Program File \ gs \ gs9.07 \ bin \ gswin32c.exe") et l'extension "* .pdf" ne fonctionne pas, mais ghostscript lui-même fonctionne parfaitement.
Pitarou

3

J'ai utilisé la solution ci-dessus avec succès. Cependant, sur mon système (Windows 7 64 bits), le code tel qu'il est ajoute les PDF dans un ordre (apparemment) aléatoire, et non par ordre alphabétique par nom de fichier.

Pour obtenir l'ajout de fichiers dans l'ordre alphabétique, vous devrez ajouter le paramètre sort-object à la commande DIR (aka Get-ChildItem) (l'objet sort ne prend aucun paramètre ici car nom de fichier / par ordre alphabétique est la valeur par défaut):

dir $inputfolder -r -include *.pdf -exclude $outputfile | sort-object | group DirectoryName % {& $PDFtk $.group CAT OUTPUT "$($.Name)\$outputfile" verbose}

Ceux qui ont des noms de fichiers de la forme 1.pdf 2.pdf ... 10.pdf etc. plutôt que 01.pdf 02.pdf .. 10.pdf peuvent également essayer une variante de ceci:

pdftk *?.pdf *??.pdf *???.pdf *????.pdf cat output out.pdf

"solution ci-dessus" - vous voulez probablement dire la solution de nixda. Si votre réponse était votée plus haut que celle de nixda, elle serait inférieure
nouilles

1

Il y a un nouvel outil de manipulation de PDF avancé en ligne appelé Sej-da qui est toujours en version bêta, qui a une myriade de fonctions PDF (dont la capacité de fusionner plusieurs fichiers PDF). Il est gratuit et pourrait bien répondre à vos besoins.

http://sejda.com/

Un bref examen de ses fonctions a été effectué il y a seulement quelques semaines par la révision 3:

http://revision3.com/tzdaily/sejda-online-pdf


l'OP est clairement capable de fusionner des fichiers pdf, il veut fusionner par lots avec un processus automatisé. Votre réponse ne donne aucun détail sur la façon d'utiliser sejda de cette manière, et elle ne ressort pas non plus de leur site Web
nouilles

1

Il est peut-être préférable d'utiliser un scénario par lots. Créez et collectez tous vos fichiers pdf en tant que xxxx.abcdef.pdf.

La première partie est la soi-disant balise batch; la deuxième partie est l'identifiant du fichier (nom du fichier). Les étiquettes pour chaque dos sont similaires en longueur et en valeur; le nom des fichiers vient après le point.

Par exemple, votre premier lot se compose de 1111.3425.pdf, 1111.76501.pdf, etc. Votre deuxième lot est 22222.1432.pdf, 22222.4398, etc. Et ainsi de suite et ainsi de suite pour d'autres lots.

Ensuite, vous pouvez utiliser un logiciel de fusion automatisé qui peut traiter des milliers de fichiers en créant une fusion distincte pour chaque lot. J'ai trouvé ce logiciel gratuit Dysprosium qui n'a pas besoin de ligne de commande ni de script batch. Vous pouvez le télécharger sous forme de fichier JAR portable. Il a différents scénarios automatisés; l'un décrit dans cette réponse comme un balisage et l'autre comme votre dossier requis séparé.

Selon votre matériel, vous pouvez fusionner par lots des milliers de fichiers en lots prédéfinis.


0

Essayez PDFMerge . Mais n'utilisez pas le formulaire initial où vous devez sélectionner chaque fichier un par un. Attendez plutôt que le site vérifie votre installation Java, puis cliquez sur le lien "Essayer l'applet Java PDFMerge". Une fois l'applet chargée et autorisée à s'exécuter, cliquez sur le bouton Choisir les fichiers et vous pourrez sélectionner plusieurs fichiers (pour les fusionner en un seul).

La fusion sera ultra-rapide et pourra gérer un grand nombre de fichiers car rien n'est téléchargé sur le site Web. Tout se fait dans votre ordinateur lui-même en utilisant votre installation Java.

PS: Désolé si vous recherchez un logiciel hors ligne qui peut être personnalisé pour créer des fichiers PDF uniques dans plusieurs dossiers.


0

Si vous êtes sur mac, vous pouvez créer un script Automator pour réaliser cette tâche. Faites-en une action de dossier et déposez simplement les fichiers PDF dedans et voyez-le se produire! Si vous voulez, je peux vous montrer comment utilisez-vous Mac?


0

Sous Linux

J'ai écrit cette ligne de commande assez longue

tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} dirname {} | uniq | xargs -L1 -I {} bash -c 'cd "$0" && pdftk *.pdf cat output binder.pdf' {}

Mais il fait l'affaire, je l'ai testé, il fonctionne également avec le nombre de niveaux de dossiers dont vous disposez. Assurez-vous simplement de l'exécuter à la racine de la structure des dossiers.

Vous avez besoin pdftket treepour cela et sur Ubuntu Linux, vous pouvez l'installer avec apt:

sudo apt install pdftk tree
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.