ImageMagick:某些页面转换后退出


16

我尝试使用convert将一些jpg转换为一个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 <#>机器的内存不足以处理所有文件,则可以使用此开关。否则,尝试合并的数量少于小批量的合并数量,看看是否有任何区别。因此,如果有一百个,则将25复制到测试文件夹中,看看是否同样发生于25。也许可以将它们合并成较小的块,然后最后合并一起创建的PDF文档。我一直将PDFTK用于PDF文件合并。
Pimp Juice IT

Answers:


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与命令行选项具有相同的效果,但是是永久的。因此,这几乎总是一个好主意,因为它是“写而忘了”。
tanius

5
@tanius编辑xml有效,但是CLI选项无效。Ubuntu的18.10,ImageMagick的6.9.10-8,这些图片:github.com/cirosantilli/media/blob/master/...
西罗桑蒂利新疆改造中心法轮功六四事件

与Ciro报告相同,cli不起作用,xml起作用。版本:ImageMagick的6.9.7-4 Q16在Debian 9 x86_64上20170114
路易斯ANTOLIN卡诺

github.com/ImageMagick/ImageMagick/issues/…表示XML中的安全策略将覆盖命令行选项。
jamadagni
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.