Ich muss mehrere PDF-Dateien zusammenführen/kombinieren.
Ich habe mehrere PDF-Dateien in einem Ordner. Die PDFs, die zusammengelegt/kombiniert werden müssen, haben einen gemeinsamen Dateinamenteil, zum Beispiel:
123456_ABCD.pdf
123456_EFGH.pdf
123456_IJKL.pdf
Der Dateiname würde mit Zahlen beginnen, dann folgt ein Unterstrich und dann der Dateiname. Ich werde Hunderte ähnlicher PDFs haben und suche nach einer Möglichkeit, diese Dateien mithilfe eines Batch-Skripts, VBA in Excel oder was auch immer automatisch zusammenzuführen.
Die Ausgabe der neuen Datei sollte in einem separaten Ordner mit dem Namen liegen 123456.pdf
. Ich verwende ein Windows-Betriebssystem. Auf meinem System sind Adobe Reader, PDF995 und CutePDFwriter installiert.
Ich kann alle PDFs in einem Hauptordner zusammenfassen. Dieser Ordner enthält mehrere PDFs, wie unten dargestellt.
123456_ABCD.pdf
123456_EFGH.pdf
123456_IJKL.pdf
111111_ABCD.pdf
111111_EFGH.pdf
222222_IJKL.pdf
222222_WXYZ.pdf
In diesem Szenario erwarte ich im Ausgabeordner die folgenden PDFs:
123456.pdf
111111.pdf
222222.pdf
Antwort1
(Ungetestet)
- Herunterladenpdftk(direkter Link hier).
- Extrahieren Sie es irgendwo.
- Fügen Sie pdftk.exe und den Batch zusammen.
- Öffnen Sie dann
cmd
den Speicherort des Stapels* und führen Sie ihn aus.
*(Umschalt+Rechtsklick öffnet hier die Eingabeaufforderung)
Das Skript sollte funktionieren, wenn die Ordnerstruktur wie folgt aussieht:
|
+---111111
| 111111_ABCD.pdf
| 111111_EFGH.pdf
|
+---123456
| 123456_ABCD.pdf
| 123456_EFGH.pdf
| 123456_IJKL.pdf
|
\---222222
222222_IJKL.pdf
222222_WXYZ.pdf
Und nicht in einem einzigen Ordner, in dem alle Dateien vorhanden sind.
@echo off
setlocal enabledelayedexpansion
rem source root folder where to crawl pdfs.
set "source=c:\mydoc\pdf"
rem destination folder
set "destination=c:\mydoc\merged"
for /f "delims=" %%a in ('dir /b /s /ad /o:n "%source%"') do (
set _pdffiles=
for /f "delims=" %%i in ('dir /b /a-d /o:n "%%a\*.pdf"') do (
set _pdffiles=!_pdffiles! "%%i"
set "_outputpdf=%%~ni"
)
echo pdftk.exe !_pdffiles! cat output "%destination%\!_outputpdf:~0,6!.pdf"
)
Entfernen Sie es echo
, wenn Sie meinen, dass die Charge in Ordnung ist.
Antwort weitgehend inspiriert vonDas
Aktualisieren: Es gibt zwei Antworten, die meinen Beitrag ergänzen