问题描述
使用 convert 将 groff 生成的 postscript 格式的图像转化为 png 的时候报了如下错误信息:
convert-im6.q16: attempt to perform an operation not allowed by the security policy `PS' @ error/constitute.c/IsCoderAuthorized/408.
convert-im6.q16: no images defined `test.png' @ error/convert.c/ConvertImageCommand/3258.
使用的命令如下:
[longyu@debian-10:19:39:04] dev_mem_function_call $ convert mmap_dev_mem_call.ps test.png
解决方法
参考 FS#60580 - imagemagick 7.0.8.14-1 does not work with PDF’s 中的问题,修改 ImageMagick 的 xml 配置文件,使能 ps 格式转换 policy 解决此问题。
在我的系统上,配置文件路径如下:
/etc/ImageMagick-6/policy.xml
修改内容如下:
<!-- disable ghostscript format types -->
<!-- policy domain="coder" rights="none" pattern="PS" />
<!-- policy domain="coder" rights="none" pattern="PS2" />
<!-- policy domain="coder" rights="none" pattern="PS3" />
<!-- policy domain="coder" rights="none" pattern="EPS" />
<!-- policy domain="coder" rights="none" pattern="PDF" />
<!-- policy domain="coder" rights="none" pattern="XPS" />
将如上六个 policy 中的限制注释掉,注释完成后重新执行转换,这次能够成功了。