GNU/Linux
ImageMagick
Vim
终端(Terminal)
在Terminal(终端)中输入命令,报错:「1」conver xxxxxx.pdf xxxxxx.jpg「2」convert: not authorized `xxxxxx.pdf' @ error/constitute.c/ReadImage/412. 「3」convert: no images defined `xxxxxx.jpg' @ error/convert.c/ConvertImageCommand/3210.
首先确认ImageMagick的版本状态,是不是太老旧,太久没有更新。在终端中输入命令:「1」convert -version查看显示详情。
后来发现是ImageMagick的policy.xml文件默认没有给予「读写pdf文件」的权限。于是修改「/etc/ImageMagick-6/」目录下的policy.xml文件,开通「读写pdf文件」的权限。
切换到「/etc/ImageMagick-6/」目录下,输入使用Vim编辑policy.xml文件的命令:「1」sudo vim policy.xml根据提示,输入管理员密码,回车,进入Vim界面。「2」在policy.xml文件中,增加一行内容:
「3」修改其中一行的内容:把
保存文件,:w,退出Vim,:q。重启系统。系统重启后,再执行convert命令就没问题了。
以上内容在Linux发行版之ElementaryOS 0.4.1 Loki(64-bit)上确认通过,其它发行版请注意命令差异。
建议事先更新好软件库,执行sudo apt-get update和sudo apt-get upgrade。
建议修改policy.xml文件前,提前备份一份原始文件,以便恢复。
使用管理员权限方可修改/etc/ImageMagick-6/policy.xml文件,记得保存修改。