Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>PDF in JPG umwandeln

PDF in JPG umwandeln

finrik21.04.2318:18
Guten Tag

Folgendes Problem:

Ich habe ca. 10000 PDF Dateien. Diese sollen in einzelne JPG Dateien umgewandelt werden. Also auf einmal und nicht händisch Mit Affinity Photo würde es grundsätzlich funktionieren. Allerdings haben die PDFs teilweise mehrere Seiten. Ich benötige immer nur die erste Seite. Die anderen Seiten sollen ignoriert werden.

Was ich jetzt suche wäre:

- Software mit der ich eben die PDFs in JPGs umwandeln kann inkl. der Option nur die erste Seite zu wählen.

oder

- Software um die PDFs aufzutrennen bzw. nur die erste Seite in ein PDF zu speichern. Dann könnte ich im nächsten Schritt wieder Affinity Photo verwenden.

Habt ihr da zufällig einen Tipp? Im Idealfall kostenlose bzw. günstige Software.

Vielen Dank!
0

Kommentare

RichMcTcNs21.04.2318:36
Nur aus Interesse: pdf nach jpg - Warum machst Du das?

Wenn es Platzgründe sind, würde ich die pdfs unter Qualitätsverlust verkleinern. Google nach „pdf verkleinern macOS batch“!
-4
MikeMuc21.04.2318:37
Ich bin mir ziemlich sicher, das das mit einem Einzeiler im Terminal geht auch wenn ich das selber nicht kann. Wahrscheinlich kannst du sogar einen Wettbewerb ausschreiben für den "schönsten Einzeiler im Terminal" der dein Problem in Nullkommanix lösen wird, ganz ohne "fremde" Software
-2
JagDriver
JagDriver21.04.2318:38
Da brauchst du kein gesondertes Programm. Das funktioniert mit den Mac OS Boardmitteln.
Ich habe das mal vor Jahren auch für eine Menge an PDFs gemacht um von der ersten Seite Thumbnails für eine Website davon zu erstellen.

Prinzipiell kannst du das für ein einzelnes PDF mit dem Programm Vorschau ganz leicht machen (PDF in Vorschau öffnen Export als JPG speichern nimmt nur die erste Seite des PDF).

Da ich das natürlich auch nicht für hunderte Dateien einzeln machen wollte, habe ich das ganze mit einem Automator Workflow zusammengeklickt.
- Verzeichnis mit den PDFs auswählen
- Split PDF in ein temporäres Verzeichnis da werden alle PDFS in die Einzelseiten zerlegt
- Filter Finder Items nur die Dateien mit page1. im Namen weiterverarbeiten
- Render PDF Pages as Image umwandeln der Seiten 1 in Bilder
Dann gab es noch weitere Steps um gleich die Größe der Bilder anzupassen und in ein neues Verzeichnis zu kopieren und den Namen der Dateien anzupassen.
Je nachdem was du brauchst also flexibel anpassbar. Hab dir mal als Vorlage/Inspiration einen Screenshot von dem Workflow angehängt.

+15
MrChad21.04.2321:08
Für die Shell gibt es die Java-Library PDFBox und darin
  • PDFToImage
dem man über die Parameter genau erzählen kann, was es tun soll (nur erste Seite usw.)

https://pdfbox.apache.org/2.0/commandline.html

Kleines Shellskript drumrum für alle deine 10000 Dateien - oder meinetwegen auch nen Einzeiler.

Installation müsste über MacPorts gehen.
+3
SYS64738
SYS6473821.04.2321:27
finrik
Ich benötige immer nur die erste Seite. Die anderen Seiten sollen ignoriert werden.

... ich denke, evtl. liegt HIER das Problem...?

Kann man schön mit Java und Aspose machen. Kostet aber.
-1
Bigflitzer21.04.2322:15
Hab mal ChatGpt gefragt

PDF to JPG Converter.

Gibt es einen terminal Befehl dafür?

Ja, es gibt einen Terminal-Befehl, um eine Batch-Konvertierung von PDF-Dateien in JPG-Dateien durchzuführen. Hier ist der Befehl:

for f in *.pdf; do convert -density 300 "$f"[0] "${f%.*}.jpg"; done

Dieser Befehl verwendet das "convert" -Tool, das Teil der ImageMagick-Bibliothek ist und auf den meisten Linux- und Unix-Systemen standardmäßig installiert ist. Es durchläuft alle PDF-Dateien im aktuellen Verzeichnis und konvertiert nur die erste Seite jedes PDFs in eine JPG-Datei mit einer Dichte von 300 dpi.

Hier sind weitere Details zu diesem Befehl:

"for f in *.pdf" durchläuft alle PDF-Dateien im aktuellen Verzeichnis.
"-density 300" stellt die Dichte der Ausgabe-JPG-Datei auf 300 dpi ein.
"[0]" gibt an, dass nur die erste Seite jedes PDFs konvertiert werden soll.
"${f%.*}.jpg" gibt den Namen der Ausgabe-JPG-Datei an. Es verwendet den ursprünglichen Namen der PDF-Datei, entfernt die ".pdf" -Erweiterung und fügt ".jpg" hinzu.
Wenn Sie die JPG-Dateien in einem anderen Verzeichnis speichern möchten, können Sie den Befehl anpassen und den vollständigen Pfad zum Zielverzeichnis angeben, z.B.:

for f in *.pdf; do convert -density 300 "$f"[0] /Pfad/Zum/Zielverzeichnis/"${f%.*}.jpg"; done

Ich hoffe, das hilft Ihnen weiter!
+8
pcp
pcp22.04.2312:47
bei mir funktionierte es erst, nachdem ich die [0] auch noch in Gänsefüße gepackt hatte, also in etwa so:

for f in *.pdf; do convert -density 300 "$f""[0]" /Pfad/Zum/Zielverzeichnis/"${f%.*}.jpg"; done

coole Sache @Bigflitzer : danke =)
„o.0“
+2
finrik22.04.2313:48
Vielen Dank für alle Antworten!
RichMcTcNs
Nur aus Interesse: pdf nach jpg - Warum machst Du das?
Ich brauche die JPGs für eine Webseite.
JagDriver
Da ich das natürlich auch nicht für hunderte Dateien einzeln machen wollte, habe ich das ganze mit einem Automator Workflow zusammengeklickt.

Super Vielen Dank! Habe ich nachgebaut und hat auch funktioniert (Englische Bezeichnungen musste ich ändern). Habe es dann auch als Basis genommen um NUR die erste Seite vom PDF abzuspeichern. Damit konnte ich dann weiter Affinity Photo für den PDF Teil verwenden.
Bigflitzer
Hab mal ChatGpt gefragt

Guter Hinweis. ImageMagick wollte ich "vermeiden", weil ich es sonst nicht am Rechner brauche. Aber ich hatte noch Wrap (Terminal) installiert. Da kann man auch eine KI fragen. Ergebnis war auch ein Einzeiler der anstelle ImageMagick "sips" verwendet.
find . -name "*.pdf" -exec sips -s format jpeg -s formatOptions best -s dpiHeight 300 {} -Z 842 --out {}.JPG \;

Problem gelöst! Danke an Alle!
+5
MikeMuc22.04.2318:30
Wer hat die Daumen runter gegeben wenn die Lösung tatsächlich mit einem Einzeiler im Terminal möglich ist
+3
Bigflitzer22.04.2320:06
pcp
bei mir funktionierte es erst, nachdem ich die [0] auch noch in Gänsefüße gepackt hatte, also in etwa so:

for f in *.pdf; do convert -density 300 "$f""[0]" /Pfad/Zum/Zielverzeichnis/"${f%.*}.jpg"; done

coole Sache @Bigflitzer : danke =)

Ja cool, ich selber habe ja davon auch keine Ahnung. Schön das Du damit als Grundlage mit Zusatzwissen zum Erfolg gekommen bist. Danke auch für das Feedback.
+4

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.