ImageMagick: конвертувати запити після деяких сторінок


16

Я намагаюся перетворити деякі jpgs в один pdf, використовуючи convert.

конвертувати * .jpg new.pdf

Але конвертувати все-таки закривається через 18 сторінок. Вихід тоді нормальний, але не повний.

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

Я спробував деякі обмеження, але без успіху. Якщо я спробую інші jpgs, то це той самий результат.

Будь-які ідеї? У мене багато вільної пам’яті.

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

Схоже, доступна новіша версія, тож ви можете просто перевірити сайт і завантажити, оновити, якщо це застосовно. Якщо це помилка, вона може бути виправлена ​​в новій версії. Щось врахувати, можливо, принаймні. imagemagick.org/script/download.php
Pimp Juice IT

2
Перевірте -limitперемикач .... imagemagick.org/script/command-line-options.php#limit Ви можете -limit memory <#>скористатися цим перемикачем, якщо у вашої машини не вистачить пам'яті для обробки всіх файлів. В іншому випадку спробуйте об'єднати менше, ніж у менших партіях, і подивіться, чи це має значення. Тож якщо їх сто, скопіюйте 25 в тестову папку і подивіться, чи те саме відбувається, наприклад, з 25. Можливо, ви можете об'єднати їх у менший шматок, а потім наприкінці об'єднати документи PDF, які були створені разом. Я завжди використовував PDFTK для злиття файлів PDF.
Pimp Juice IT

Відповіді:


24

Спробуйте додати наступний варіант, щоб збільшити кеш

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

Якщо це не працює, встановіть обмеження у файлі конфігурації зображення магії/etc/ImageMagick-6/policy.xml

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

до

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

і спробуйте ще раз


Зміна policy.xmlмає той самий ефект, що і параметри командного рядка, але є постійною. Тож майже завжди це гарна ідея, адже це "писати і забувати".
таніус

5
@tanius редагування xml спрацювало, але параметри CLI не виконали. Ubuntu 18.10, ImageMagick 6.9.10-8, із цими зображеннями: github.com/cirosantilli/media/blob/master/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Як і звіти Ciro, кліп не працював, xml робив. Версія: ImageMagick 6.9.7-4 Q16 x86_64 20170114 на Debian 9.
Луїс Антолін Кано

github.com/ImageMagick/ImageMagick/isissue/… говорить, що політика безпеки в XML замінить параметри командного рядка.
jamadagni
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.