ImageMagick: Konvertierung wird nach einigen Seiten abgebrochen

15

Ich versuche, einige JPGs in ein einziges PDF zu konvertieren, indem ich convert verwende.

konvertieren * .jpg new.pdf

Die Konvertierung wird jedoch nach 18 Seiten beendet. Die Ausgabe ist dann ok aber nicht vollständig.

convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `094708.JPG' @ error/cache.c/OpenPixelCache/3945.
...

Ich habe einige Limit-Einstellungen ausprobiert, aber ohne Erfolg. Wenn ich andere jpgs versuche, dann ist es das gleiche Ergebnis.

Irgendwelche Ideen? Ich habe viel freien Speicher.

Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 
...
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png tiff wmf x xml zlib
chris01
quelle
Es sieht so aus, als ob eine neuere Version verfügbar ist. Sie können die Website also überprüfen und gegebenenfalls herunterladen und aktualisieren. Wenn es sich um einen Fehler handelt, ist er möglicherweise in der neueren Version gepatcht. Vielleicht zumindest etwas zu beachten. imagemagick.org/script/download.php
Pimp Juice IT
2
Schauen Sie sich den -limitSchalter an .... imagemagick.org/script/command-line-options.php#limit-limit memory <#> Mit diesem Schalter können Sie wahrscheinlich alle Dateien auf Ihrem Computer verarbeiten, wenn der Arbeitsspeicher knapp wird. Versuchen Sie andernfalls, weniger als in kleineren Stapeln zusammenzuführen, und prüfen Sie, ob dies einen Unterschied macht. Wenn es also Hunderte gibt, kopieren Sie 25 in einen Testordner und prüfen Sie, ob dies zum Beispiel bei 25 der Fall ist. Vielleicht können Sie sie alle in einem kleineren Block zusammenführen und dann am Ende die PDF-Dokumente zusammenführen, die zusammen erstellt wurden. Ich habe PDFTK immer für PDF-Zusammenführungen verwendet.
Pimp Juice IT

Antworten:

24

Versuchen Sie, die folgende Option hinzuzufügen, um den Cache zu vergrößern

convert -limit memory 1GiB -limit disk 1GiB *.jpg new.pdf

Wenn dies nicht funktioniert, legen Sie die Grenzwerte in der Image Magic-Konfigurationsdatei fest/etc/ImageMagick-6/policy.xml

<policy domain="resource" name="memory" value="256MiB"/>
<policy domain="resource" name="disk" value="1GiB"/>

zu

<policy domain="resource" name="memory" value="3GB"/>
<policy domain="resource" name="disk" value="2GB"/>

und versuche es nochmal

Philippe Gachoud
quelle
Die Änderung an policy.xmlhat die gleichen Auswirkungen wie die Befehlszeilenoptionen, ist jedoch dauerhaft. Es ist also fast immer eine gute Idee, weil es "Schreiben und Vergessen" ist.
Tanius
5
@tanius bearbeitete die XML-Datei, die CLI-Optionen funktionierten jedoch nicht. Ubuntu 18.10, ImageMagick 6.9.10-8, mit folgenden Bildern: github.com/cirosantilli/media/blob/master/…
Ciro Santilli am
Wie Ciro berichtet, hat cli nicht funktioniert, xml hat es getan. Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 auf Debian 9.
Luis Antolín Cano
Laut github.com/ImageMagick/ImageMagick/issues/… überschreibt die Sicherheitsrichtlinie in der XML die Befehlszeilenoptionen.
Jamadagni