多语言展示
当前在线:1139今日阅读:84今日分享:32

解决linux转pdf为jpg时报错的问题

命令「convert xxxx.pdf xxxx.jpg」报错:「convert: not authorized `xxxxxx.pdf' @ error/constitute.c/ReadImage/412.」,根源是ImageMagick软件的policy.xml文件的默认设置所致。修改此文件即可解决。
工具/原料
1

GNU/Linux

2

ImageMagick

3

Vim

4

终端(Terminal)

步骤一:问题简述
1

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

2

首先确认ImageMagick的版本状态,是不是太老旧,太久没有更新。在终端中输入命令:「1」convert -version查看显示详情。

步骤二:修改ImageMagick的policy.xml文件
1

后来发现是ImageMagick的policy.xml文件默认没有给予「读写pdf文件」的权限。于是修改「/etc/ImageMagick-6/」目录下的policy.xml文件,开通「读写pdf文件」的权限。

2

切换到「/etc/ImageMagick-6/」目录下,输入使用Vim编辑policy.xml文件的命令:「1」sudo vim policy.xml根据提示,输入管理员密码,回车,进入Vim界面。「2」在policy.xml文件中,增加一行内容:

3

「3」修改其中一行的内容:把改为「4」再增加一行内容:

4

保存文件,:w,退出Vim,:q。重启系统。系统重启后,再执行convert命令就没问题了。

注意事项
1

以上内容在Linux发行版之ElementaryOS 0.4.1 Loki(64-bit)上确认通过,其它发行版请注意命令差异。

2

建议事先更新好软件库,执行sudo apt-get update和sudo apt-get upgrade。

3

建议修改policy.xml文件前,提前备份一份原始文件,以便恢复。

4

使用管理员权限方可修改/etc/ImageMagick-6/policy.xml文件,记得保存修改。

推荐信息