ImageMagick:いくつかのページの後で変換が終了する


15

convertを使用して、いくつかのjpgを1つのpdfに変換しようとしています。

変換* .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.
...

いくつかの制限設定を試しましたが、成功しませんでした。他のjpgを試すと同じ結果になります。

何か案は?十分な空きメモリがあります。

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 <#>。このスイッチを使用して場合には、あなたのマシンがすべてのファイルを処理するためのメモリが不足しています。それ以外の場合は、小さなバッチよりも少ない数でマージして、違いが生じるかどうかを確認してください。100個ある場合は、25個をテストフォルダーにコピーして、たとえば25でも同じことが起こるかどうかを確認します。おそらく、それらをすべて小さなチャンクにマージし、最後に一緒に作成されたPDFドキュメントをマージできます。ただし、PDFファイルのマージには常にPDFTKを使用しています。
ポン引きジュース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/...
チロSantilli新疆改造中心法轮功六四事件

Ciroのレポートと同じように、cliは機能しませんでしたが、xmlは機能しました。バージョン:ImageMagick 6.9.7-4 Q16 x86_64 20170114(Debian 9)
ルイス

github.com/ImageMagick/ImageMagick/issues/…は、XMLのセキュリティポリシーがコマンドラインオプションをオーバーライドすることを示しています。
jamadagni
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.