So kombinieren Sie JPEGs aus Ordnern stapelweise zu PDFs

18

Ich habe ungefähr 500 Ordner mit Bildern im Inneren. Gibt es eine Möglichkeit, dies im Batch zu konvertieren, sodass ich PDF-Dateien erhalte, die alle darin enthaltenen Bilder als Seiten enthalten?

BEARBEITEN:

Es sollten 500 PDFs erstellt werden, die jeweils den Namen des enthaltenen Ordners und Bilder als Seiten enthalten.

Ska
quelle
3
Welches Betriebssystem? und möchten Sie ein CLI- oder GUI-Tool? Sind die Dateien vernünftig oder konsistent benannt und ist die Reihenfolge wichtig?
Geselle Geek
Mac OS X, es kann jede Art von Tool sein und ich besitze Acrobat Pro, aber ich finde diese Option nicht. Die Dateien sind alphabetisch geordnet und ich möchte diese Reihenfolge beibehalten. Danke
Ska

Antworten:

16

In OS X sind mehrere Tools zur Automatisierung der Bildverarbeitung und PDF-Erstellung integriert.

Öffnen Sie einfach Automator.app , erstellen Sie eine neue Anwendung.

Automator.app

Ändern Sie es wie unten gezeigt, indem Sie die Aktionen aus dem linken Bereich in den rechten ziehen.

Schritt eins

  • Ordnerinhalte abrufen mit aktivierter Option Wiederholen ... ruft alle Ihre Dateien ab, auch aus den Unterverzeichnissen.

  • Neue PDF- Dateien aus Bildern erstellen eine PDF-Datei auf dem Desktop, wobei jede Seite aus einem Bild besteht.

Speichern Sie die App irgendwo (zB unter / Programme oder auf Ihrem Desktop). Geben Sie ihm einen richtigen Namen, wie "PDF aus Image.app erstellen". Dann können Sie Ihre Ordner auf das entsprechende Symbol ziehen. Lassen Sie den Workflow die Arbeit für Sie erledigen.


Das Obige erstellt eine einzige PDF-Datei für alle Bilder. Wenn Sie für jeden Ordner einen haben möchten, wird das komplizierter.

Zunächst benötigen Sie die Aktion Artikel inkrementell ausgeben . Es installieren. Öffnen Sie dann Automator erneut und erstellen Sie einen neuen Workflow ( keine Anwendung).

Der Einfachheit halber können Sie den Workflow jetzt hier herunterladen . Falls der Link abbricht, ändern Sie ihn einfach wie unten gezeigt:

Workflow-Screenshot

Oder in Textform:

  • Ausgewählte Finder-Objekte abrufen
  • Einzelteile inkrementell abgeben (die, die wir vorher installiert haben)
  • Stellen Sie den Wert der Variablen ein , um sich den Ordner zu merken, in dem wir uns befinden
  • Ordnerinhalt abrufen , um die Bilder abzurufen
  • Neues PDF aus Bildern , um das PDF zu erstellen. Nehmen Sie hier die Variable aus dem Bedienfeld "Variablen" und ziehen Sie sie in das Feld "Ausgabe speichern unter ...". Dadurch wird sichergestellt, dass die PDF in dem Ordner erstellt wird, zu dem sie gehört. Es gibt keine einfache Möglichkeit, die Datei umzubenennen, außer einen statischen Dateinamen festzulegen. Sie können jedoch eine Aktion zum Umbenennen von Finder-Elementen hinzufügen .
  • Schleife , um von vorne zu beginnen und mit dem nächsten Ordner zu beginnen. Sie können den Teil deaktivieren, für den eine Bestätigung angefordert wird.

Speichern Sie es als Workflow und führen Sie es nun wie folgt aus. Wählen Sie Ihre Ordner im Finder.

Finder-Screenshot

Gehen Sie dann zu Automator.app und klicken Sie oben rechts auf Ausführen .


Bei 500 Ordnern kann dies eine Weile dauern. Insbesondere bei hochauflösenden Bildern kann Ihre PDF-Datei sehr groß werden. Sie können es jedoch zuerst mit einer kleineren Auswahl versuchen und dann den Workflow so lange ausführen, bis er abgeschlossen ist.

slhck
quelle
Erstaunlich, aber alle Bilder sind jetzt in einem PDF. Ist es möglich, für jeden enthaltenen Ordner ein separates PDF zu erstellen? Ich wusste gar nicht, was Sie mit Automator alles machen können, danke!
Ska
@Ska Siehe meine aktualisierte Antwort. Ich hoffe, es funktioniert für Sie. Dies ist der Punkt, an dem es in Automator schwierig wird und an dem Sie lieber auf AppleScript oder ein einfaches Bash-Skript in Kombination mit AppleScript umsteigen möchten.
Slhck
Keine Sorge, ich werde sie später mit Bash-Skript umbenennen. Wäre es nicht möglich, eine Anwendung zu erstellen, die die Ausgabe von Get Folder Contents (Ordnername) übergibt und daraus eine Variable erstellt?
Ska
@Ska ja, so setzen Sie die Variable, aber Sie können die Variable nicht im Ausgabenamen der PDF verwenden. Zumindest nicht auf einfache Weise.
Slhck
Das ist ein großartiger Workflow. Vielen Dank für die Hilfe. Ich habe die letzte Woche damit verbracht, JPGs aller Ausgaben von National Geographic zu Beginn der Zeit zu entschlüsseln, und brauchte eine Methode, um alle 250.000 Seiten in PDFs zu konvertieren, damit ich sie OCR-fähig und durchsuchbar machen kann. Sie haben mir gerade eine Menge Handarbeit erspart. Eine Änderung, die ich am Skript vornehmen musste, bestand darin, eine Zeitüberschreitung festzulegen, die größer als die Standard-0-Minuten ist. Ansonsten wurde nur ein PDF erstellt. Ich habe es mit der manuellen Schleife gemacht, aber das ist viel zu viel Aufwand in einem automatisierten Prozess. Ich sagte auch, sie in einem einzigen Ordner zu speichern, damit
22

Unter OS X

Mit Homebrew ist es ein Kinderspiel, ImageMagick zu installieren:

brew install imagemagick

convert *.jpg output.pdf

und wenn das resultierende PDF etwas zu groß ist, können Sie versuchen:

convert -quality 60 *.jpg output.pdf

Linux, Unix, Windows

Natürlich kann ImageMagick auch auf anderen Unix-Systemen installiert werden, zB apt-get install imagemagickauf Debian und Ubuntu. Und sogar unter Windows über GNU / Cygwin oder Chocolately .

fifi finanzen
quelle
3
Mit Preview viel schneller als zappeln!
DK_
1
+1 Ich denke, der Vergleich zwischen dieser und der akzeptierten Antwort zeigt wirklich die Leistungsfähigkeit der Befehlszeilen-Tools (und insbesondere von imagemagick) in einer solchen Situation!
Bill Cheatham
1
Dies ist auch in Windows möglich. Wenn Sie chocolatey (Paket-Manager für Windows) verwenden choco install imagemagick.tool, folgen Sie den "convert" -Befehlen von @ KasperSouren.
Giscard Biamby
2

Auf fast jedem System, auf dem Sie dies auf Ihrer besten Lösung ausführen würden, ist ImageMagick . Verfügbar unter * nix, Mac und Windows, unterstützt sowohl Platzhalter (auch bekannt als "Dateinamenglobbing") als auch die Angabe einer Liste (z. B. @ ImagesToProcess.txt) von Eingabedateien, einige erweiterte Dateispezifikationsoptionen, eine leistungsstarke Befehlszeile usw.

Zaunpfosten
quelle
Es würde auch GhostScript und mich erfordern, die Programmierung mit wem zu machen, weiß wieviel Abhängigkeitsmanagement. Ich würde annehmen, dass es ein einfaches Tool geben könnte, das das macht. Immerhin ist der Anwendungsfall ziemlich einfach.
Ska
Es sollte nicht so schwierig sein - solange Sie ImageMagick und GhostScript installiert haben und ImageMagick in der Lage ist, GS zu finden, können Sie einfach die IM-Befehlszeile verwenden, die das Skripten vereinfacht. Dies setzt voraus, dass beim Verschieben von Dateinamen die Dateien in der richtigen Reihenfolge behandelt werden. Andernfalls wird dies jedoch komplexer. Im Folgenden finden Sie eine Anleitung für Windows, um die Zusammenarbeit zu verbessern : stackoverflow.com/questions/3243361/… . Dennoch ist die andere Antwort für Macs besser
Fencepost
Vielen Dank für die tollen Tipps zu IM, Fencepost. Sie lernen jeden Tag etwas Neues. Was die ursprüngliche Frage betrifft, werde ich zuerst die Lösung von slhck ausprobieren.
Ska
Du bist immer willkommen. Ich habe nicht bemerkt, dass A) Sie einen Mac verwenden und B) die Ghostscript-Unterstützung auf Macs anscheinend aus irgendeinem Grund erheblich schwächer ist - oder zumindest nicht mit Windows und * nix Schritt gehalten hat.
Zaunpfosten