Adobe Acrobat: Wie Batch mehrere PDF-Dateien zu kombinieren?
Ich habe 3 Ordner:
Folder 1
Folder 2
Folder 3
In jedem Ordner habe ich 5 PDF-Dateien:
Folder 1
file1.pdf
file2.pdf
Folder 2
file1.pdf
file2.pdf
Folder 3
file1.pdf
file2.pdf
Ich möchte, dass in jedem Ordner eine kombinierte Datei dieser beiden Dateien vorhanden ist:
Folder 1
binder.pdf
Folder 2
binder.pdf
Folder 3
binder.pdf
Irgendeine Idee? Sagen Sie nicht, es manuell zu tun. Dieser Fall soll Ihnen nur mein Problem erklären. Denken Sie, dass ich Hunderte von Ordnern habe. :) Vielleicht kann ich ein anderes Tool anstelle von Adobe Acrobat verwenden?!
8 answers
Sie können dies mit einer kurzen Batch-Datei und pdftk tun.exe (nicht pdftk Builder Das ist die GUI-Version).
Sie müssen nichts installieren.
Vorbereitung
- herunterladen & Extrahieren pdftk mit UniExtract {[12],} Öffnen ..\pdftk\bin* und kopiere pdftk.exe - und libiconv2.dll in einen Ordner Ihrer Wahl
-
Erstellen Sie eine neue Textdatei und fügen Sie den folgenden Code ein
@echo off setlocal enabledelayedexpansion FOR %%A IN (%*) DO (set command=!command! %%A) pdftk.exe %command% cat output "%~dp1binder.pdf"
{[12],} Speichern es als Zusammenfü[email protected] im selben Ordner wie pdftk.exe-Datei, und libiconv2.dll
- erstellen Sie eine Verknüpfung dafür .cmd und platziere es in deinem sendto Ordner (Win+R " shell: sendto)
Verwendung
- Gehen Sie zu einem Ordner mit einigen PDF-Dateien und wählen Sie so viele PDFs aus, wie Sie möchten
- Rechtsklick auf sie und wählen Sie die Verknüpfung, die Sie gerade erstellt
-
Ein neues Binder PDF im selben Ordner wird erstellt, wo alle ausgewählten PDFs werden zu einem zusammengeführt
Update: Version, die den aktuellen Ordnernamen als Dateinamen für generierte PDF verwendet
@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"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-08-23 10:50:15
Wenn Sie unter Linux (oder Mac oder einer Umgebung, in der es installiert ist) arbeiten, können Sie sie mit einem Befehlszeilentool namens ghostscript kombinieren.
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH file1.pdf file2.pdf file3.pdf
Sie können auch Folgendes verwenden, um alle Dateien im aktuellen Ordner zu kombinieren
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH *.pdf
Sie können ghostscript hier herunterladen. Es gibt auch eine Windows-Version, aber ich habe sie nicht getestet.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-02-14 13:18:40
Ich habe die obige Lösung erfolgreich. Auf meinem System (Windows 7 64-Bit) fügt der Code jedoch die PDFs in (anscheinend) zufälliger Reihenfolge hinzu, nicht alphabetisch nach Dateinamen.
Um Dateien in alphabetischer Reihenfolge hinzuzufügen, müssen Sie den Parameter sort-object zum Befehl DIR (auch bekannt als Get-ChildItem) hinzufügen (das Sortierobjekt nimmt hier keinen Parameter als Dateiname / alphabetisch ist der Standardwert):
dir $inputfolder -r -include *.pdf -exclude $outputfile | sort-object | group DirectoryName % {& $PDFtk $.group CAT OUTPUT "$($.Name)\$outputfile" verbose}
Diejenigen, die Dateinamen der form 1.pdf-2.PDF ... 10.pdf, etc. statt 01.pdf 02.PDF .. 10.sie können auch gerne eine Variation davon ausprobieren:
pdftk *?.pdf *??.pdf *???.pdf *????.pdf cat output out.pdf
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-03-07 10:19:10
Es gibt ein neues fortgeschrittenes Online-PDF-Manipulationstool namens Sej-da , das sich noch in der Beta befindet und über eine Vielzahl von PDF-Funktionen verfügt (einschließlich der Möglichkeit, mehrere PDFs zusammenzuführen). Es kostenlos & könnte gut helfen, Ihre Bedürfnisse.
Eine kurze Überprüfung seiner Funktionen wurde erst vor einigen Wochen durch Revision 3 durchgeführt:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-12-02 10:09:39
Vielleicht ist es besser, ein Batch-Szenario zu verwenden. Erstellen und sammeln Sie alle Ihre PDF-Dateien als PDF.abcdef.PDF.
Der erste Teil ist das sogenannte Batch-Tag; Der zweite Teil ist die Dateikennung (Dateiname). Tags für jeden Rücken sind in Länge und Wert ähnlich; Name der Dateien kommen nach dem Punkt.
Zum Beispiel besteht Ihre erste Charge aus 1111.3425.pdf, 1111.76501.pdf so auf. Ihre zweite Charge ist 2222.2432.pdf, 22222.4398, so weiter. Und so weiter und so weiter für andere Chargen.
Dann können Sie eine automatisierte Zusammenführungssoftware verwenden, mit der Tausende von Dateien erstellt werden können, die für jeden Stapel eine separate Zusammenführung erstellen. Ich fand diese Dysprosium freie Software, die keine Befehlszeile oder ein Batch-Skript benötigt. Sie können es als portable JAR-Datei herunterladen. Es hat verschiedene automatisierte Szenarien; eine in dieser Antwort als Tagging und eine als Ihr erforderlicher Ordner getrennt beschrieben.
Abhängig von Ihrer Hardware können Sie Tausende von Dateien stapelweise in pre-destined zusammenführen Batch.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-04-05 18:10:38
Versuchen PDFMerge. Aber Verwenden Sie nicht das Anfangsformular, in dem Sie jede Datei einzeln auswählen müssen. Warten Sie stattdessen, bis die Site Ihre Java-Installation überprüft hat, und klicken Sie dann auf den Link "PDFMerge Java Applet ausprobieren". Sobald das Applet geladen ist und ausgeführt werden darf, klicken Sie auf die Schaltfläche Dateien auswählen, und Sie können mehrere Dateien auswählen (zu einer Datei zusammenführen).
Das Zusammenführen ist superschnell und kann eine große Anzahl von Dateien verarbeiten, da nichts hochgeladen wird in der website. Alles wird in Ihrem Computer selbst mit Ihrer Java-Installation erledigt.
PS: Entschuldigung, wenn Sie nach einer Offline-Software suchen, die angepasst werden kann, um einzelne PDF-Dateien in mehreren Ordnern zu erstellen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-02-14 13:14:56
Wenn Sie auf einem Mac sind, können Sie ein Automator-Skript erstellen, um diese Aufgabe zu erfüllen. Machen Sie es als Ordneraktion und legen Sie einfach die PDFs hinein und sehen Sie, wie es passiert! Wenn Sie möchten, kann ich Ihnen zeigen, wie, laufen Sie mac?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-12-02 09:31:55
Unter Linux
Ich schrieb diese ziemlich lange Befehlszeile
tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} dirname {} | uniq | xargs -L1 -I {} bash -c 'cd "$0" && pdftk *.pdf cat output binder.pdf' {}
Aber es macht den Job, ich habe es getestet, es funktioniert auch mit wie vielen Ordnerebenen Sie haben. Stellen Sie einfach sicher, dass Sie es im Stammverzeichnis der Ordnerstruktur ausführen.
Dafür benötigen Sie pdftk
und tree
und unter Ubuntu Linux können Sie es mit apt installieren:
sudo apt install pdftk tree
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-02-08 09:15:35