Ich möchte mehrere PDF-Dateien zu einer einzigen zusammenführen. Gefundendiese tolle Antwortauf SO, aber hier gibt es ein Problem. Meine PDFs liegen nicht im selben Verzeichnis, also möchte ich im Wesentlichen einen find
Aufruf durchführen und die Ausgabe an weiterleiten gs
, etwa so:
find . -path "*_somedir/*" -name "some.pdf" -print0 | gs ...
Ich habe die Manualpages für geprüft, gs
aber es gibt keine Informationen zu nullterminierten Argumenten, daher bin ich nicht sicher, wie ich die Argumente von find
an übergeben soll gs
. Ich gehe davon aus, dass der Aufruf nach dem ersten Argument ausgeführt wird, wenn ich das Flag -print0 überspringe gs
.
Irgendwelche Ideen? Ich bin natürlich offen für andere Möglichkeiten zum Zusammenführen der PDFs, möchte aber die Installation neuer Pakete vermeiden, da dies auf einem Community-Server erfolgen soll.
Antwort1
Eine Möglichkeit, dies zu tun, unter der Annahme von GNU find(1)
und GNU xargs(1)
:
find /some/dir -type f -name '*.pdf' -print0 | \
xargs -0 gs -q -dNOPAUSE -sDEVICE=pdfwrite -dBATCH -sOUTPUTFILE=out.pdf
Allerdings sind PDFs komplizierte Dinger. Erwarten Sie gemischte Ergebnisse.