Befehlszeilen-Utility zur Batch-Größenänderung von PDF-Dateien

Gibt es ein Tool zur Stapelgrößenänderung (dpi ändern, z. B. von 600 dpi auf 300 dpi) für große Mengen (100.000+) PDF-Dateien? Vorzugsweise für die Windows-Befehlszeile.

Ich habe kein Budget, also muss das Tool kostenlos kommen.

Antworten (4)

Sie können wahrscheinlich imagemagick verwenden, um Ihr PDF zu ändern .

Kombiniert mit einer einfachen for-Schleife (oder etwas Fortgeschrittenerem wie parallel ) können Sie sich so etwas ausdenken:

for %f in (originals\*) do convert %f -density 300 resized\%f

Beachten Sie, dass Sie die Prozentzeichen maskieren müssen, wenn Sie dies in eine Batchdatei einfügen.

Sie können PDFTK-Server verwenden und den folgenden Befehl verwenden, um die benötigten Dateien zu komprimieren.

convert input.pdf -compress Zip output.pdf

Hier finden Sie das gesamte Handbuch https://www.pdflabs.com/docs/pdftk-man-page/

Ich kann dir zwei Möglichkeiten empfehlen, das zu tun ...

  1. ( Einfacher, ABER nicht realisierbar, wenn Sie viele PDFs haben ) Verwenden Sie dazu Online-Tools. zum Beispiel: http://www.ilovepdf.com/compress_pdf oder https://www.pdfcompress.com/ (nur ein paar Links, Sie können einfach nach "Online PDF Compressor" googeln und Sie werden eine Menge finden)

  2. Verwenden Sie Ghostscript ; Dies ist der Weg, den Sie befolgen müssen, wenn Sie mit vielen PDF-Dateien umgehen müssen . Wie bereits von Frederick Nord in seiner Antwort erwähnt, müssen Sie es in Ihrer Batch-Datei in eine for-Schleife einfügen (in diesem Fall mit Ghostscript anstelle von imagemagick), also hier ein Beispielbefehl:

    for %f in (originals\*) do gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=resized\%f %f
    

Hier ist ein Referenzlink für den gs- Befehl, den Sie vielleicht interessant finden, und hier ist die offizielle Dokumentation .

Schließlich werden Sie sicherlich auch die großartigen Antworten von Kurt Pfeifle auf StackOverflow und hier auf SoftwareRecs zu schätzen wissen .

PS Irfanview kann auch Ghostscript verwenden (siehe hier ), also möchten Sie vielleicht versuchen, die Batch-Datei-Manipulation auf grafische Weise durchzuführen (einige Anwendungsbeispiele hier und hier ).

Um die Antwort von danicotra zu ergänzen , kann ich Ihnen in Bezug auf die erste Lösung, Ilovepdf, gleich sagen, dass Sie eine programmiererfreundliche API verwenden können, um Ihre PDF-Dateien stapelweise zu verarbeiten.

Ilovepdf-API

Haftungsausschluss: Ich bin der Hauptentwickler des Ilovepdf-Repositorys von Ruby.

PS: Ich würde einen Kommentar direkt in die Nachricht von danicotra einfügen , aber mein Stackoverflow-Ruf reicht nicht aus, um eine solche Aktion durchzuführen.