ImageMagick: konwertuj wyjścia po niektórych stronach

16

Staram się przekonwertować niektóre pliki JPG do jednego pliku PDF za pomocą konwersji.

konwersja * .jpg nowy.pdf

Ale konwersja kończy się po 18 stronach. Dane wyjściowe są w porządku, ale nie są kompletne.

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.
...

Wypróbowałem niektóre ustawienia limitów, ale bez powodzenia. Jeśli spróbuję innych plików JPG, będzie to ten sam wynik.

Jakieś pomysły? Mam dużo wolnej pamięci.

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
źródło
Wygląda na to, że dostępna jest nowsza wersja, więc możesz po prostu sprawdzić witrynę i pobrać i zaktualizować, jeśli dotyczy. Jeśli jest to błąd, można go załatać w nowszej wersji. Może coś do rozważenia. imagemagick.org/script/download.php
Pimp Juice IT
2
Sprawdź -limitprzełącznik .... imagemagick.org/script/command-line-options.php#limit Prawdopodobnie możesz użyć -limit memory <#>tego przełącznika na wypadek, gdyby zabrakło pamięci komputera na przetworzenie wszystkich plików. W przeciwnym razie spróbuj scalić mniej niż w mniejszych partiach i sprawdź, czy to coś zmieni. Więc jeśli jest ich sto, skopiuj 25 do folderu testowego i sprawdź, czy to samo dzieje się na przykład z 25. Być może możesz scalić je wszystkie w mniejszą porcję, a na koniec scalić dokumenty PDF, które zostały utworzone razem. Zawsze jednak korzystałem z PDFTK do scalania plików PDF.
Pimp Juice IT

Odpowiedzi:

24

Spróbuj dodać następującą opcję, aby zwiększyć pamięć podręczną

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

Jeśli to nie działa, ustaw limity w magicznym pliku konfiguracyjnym obrazu/etc/ImageMagick-6/policy.xml

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

do

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

i spróbuj ponownie

Philippe Gachoud
źródło
Zmiana na policy.xmlma taki sam efekt jak opcje wiersza poleceń, ale jest trwała. Jest to więc prawie zawsze dobry pomysł, ponieważ „pisz i zapomnij”.
tanius
5
@tanius edycja pliku xml działała, ale opcje CLI nie. Ubuntu 18.10, ImageMagick 6.9.10-8, z tymi zdjęciami: github.com/cirosantilli/media/blob/master/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
Podobnie jak raporty Ciro, cli nie działało, xml działało. Wersja: ImageMagick 6.9.7-4 Q16 x86_64 20170114 na Debianie 9.
Luis Antolín Cano
github.com/ImageMagick/ImageMagick/issues/… mówi, że polityka bezpieczeństwa w XML zastąpi opcje wiersza poleceń.
jamadagni