Mehrere JPGs in ein PDF konvertieren

C

computerfrust

Gast
Ich versuche gerade, mit ImageMagick mehrere JPG-Dateien in ein PDF zu konvertieren mit
Code:
convert *jpg out.pdf
Es erscheint die Meldung "Killed". Und das war's dann auch schon. Einzelne Dateien konvertiert er.
Hab auch mal zum Testen verschiedene Ordner probiert, aber es kommt immer "Killed".
Die Manpage und Google helfen mir nicht weiter. Es wird überall das oben erwähnte Kommando empfohlen. Wo könnte der Fehler stecken?
 
Kann es sein, dass du zwischen dem * und jpg einen Punkt vergessen hast?
 
Eigentlich nicht. Die Shell sollte doch alle Dateien, mir fällt gerade das Wort nicht ein, passend einfügen. Ich habe aber beide Varianten, mit und ohne Punkt, schon durchprobiert.
 
*.jpg out *.pdf das Sternchen steht wohl für den jeweiligen Dateinamen. Punkt sollte vorangestellt werden
 
Hallo

Faststone Image Viewer http://www.faststone.org/FSViewerDetail.htm , damit kann man zB mehrere Jpg/Bmp/Png... zu einer PDF zusammenfügen . Benutze ich zB , wenn ich Dokumente einscanne und sie als Pdf per Mail verschicke.
Du gehst oben auf "Erzeugen" ---> Mehrseiten-TIFF/PDF oder mit Alt+ M .


Mfg Rolvaag
 
Zuletzt bearbeitet:
oder PDF24 ... geht auch einfach

sorry linux nicht gelesen .
 
Zuletzt bearbeitet:
Der Befehl "convert" ist schon grundsätzlich der richtige.

"Killed" kann darauf hinweisen, dass der OOM-Killer angesprungen ist, weil convert eine Menge an Speicher belegt. Ein Blick in die Ausgabe von dmesg sollte das bestätigen oder widerlegen.

Mit der limit-Option kann es vielleicht klappen:
Code:
$ convert -page A4 -limit memory 1GiB -limit map 2GiB *jpg out.pdf
http://www.imagemagick.org/script/command-line-options.php#limit
 
Stimmt, es liegt am hohen Speicherbedarf. Ich habe nur 1 GB zur Verfügung.
convert scheint alles im Speicher halten zu wollen anstatt die Bilder einzeln nach und nach im PDF abzuspeichern.
Wenn letzteres irgendwie geht, wäre das Problem wohl gelöst. Denn für einzelne Aktionen reicht der Speicher aus.
 
Vielleicht hilft es die Bilder einzeln zu PDF-Dateien zu konvertieren (mit einem kleinen Bashskript, der eine Schleife über die Dateien jagt) und dann nur noch die PDF-Dateien zu einer gemeinsamen Datei zusammenzufügen (geht auch ohne imagemagick)?
 
Hab's jetzt mal so gemacht:
Code:
ls *jpg | xargs -n 1 -P 4 -i{} convert {} {}.pdf
cat *pdf >> out.pdf
Das geht auch, allerdings ist das PDF dann wohl doch kein ordentliches PDF mehr und zeigt nur 1 Bild an. Muss man wohl mit einem speziellen Tool machen statt mit Bordmitteln wie "cat".
 
pdftk kann mehrere PDF-Dateien zusammenfügen
Code:
pdftk xyz*.pdf cat output out.pdf
 
Ich hab auch noch folgende Methoden gefunden:

Mit Ghostscript:
Code:
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=out.pdf *pdf

Mit pdfunite (Teil von "Poppler" - was auch immer das sein mag):
Code:
pdfunite *pdf out.pdf

Mein Eindruck ist, dass alle diese Methoden lossy arbeiten. Denn es dauert etwas länger, bis das PDF fertig ist.
Eine lossless Methode wäre jetzt noch die Krönung, aber es funktioniert schon mal gut.
Vielen Dank für eure Tipps.
 
Das stimmt, ich musste mal alle Seiten einer PDF-Datei um 90° drehen und bin auch auf das Problem gestoßen, dass die Umwandlung lossy war (und zwar sehr merklich lossy, bemerkbar nicht nur durch die hohe Bearbeitungsdauer sondern auch durch das Ergebnis). Konnte damals leider auch keine Lösung finden, vielleicht ist es beim bloßen Zusammenfügen einfacher...
 
computerfrust schrieb:
Stimmt, es liegt am hohen Speicherbedarf. Ich habe nur 1 GB zur Verfügung.
convert scheint alles im Speicher halten zu wollen anstatt die Bilder einzeln nach und nach im PDF abzuspeichern.
Dann gibt ihm doch paar GB swap. Oder bezog sich das "nur 1 GB" auf den Plattenplatz?
 
Zurück
Oben