vue 前端png转pdf_解决ImageMagick转换pdf为jpg时的报错问题(ElementaryOS)

今天一个偶然的情况,想把一页pdf转换为jpg图片,上传到网页。于是就用来自ImageMagick工具的convert命令,然后意外的是这次竟然出错了——无法转换。之前都是好好的呀!百般查询之下,终于找到解决方案,遂整理如下。

pdf2jpg.png

操作系统:elementary OS 0.4.1 Loki(64-bit)。

Shell:Bash / Zsh。

软件:ImageMagick (具体是convert命令)。

软件:Vim。

问题出现

在Terminal(终端)中输入命令,报错,如下图所示,

conver xxxxxx.pdf xxxxxx.jpg

convert: not authorized `xxxxxx.pdf' @ error/constitute.c/ReadImage/412.

convert: no images defined `xxxxxx.jpg' @ error/convert.c/ConvertImageCommand/3210.

1_问题.png

刚刚才upgrade过的,应该不是软件版本滞后的问题吧!

看了一下convert的版本,就是下图这样的,

2_查看convert版本.png

于是上网查查怎么回事。

在度娘里,用「linux转换pdf为jpg」搜出来的,都是如何安装ImageMagick和输入convert命令的结果;

换用「convert: not authorized `10.pdf’ @ error/constitute.c/ReadImage/412.」搜出来的,第一个就是了,stackoverflow上面的一个提问和回答帖(

OK!看了一下,是要修改ImageMagick里的policy.xml文件。

看起来并不难,动手照着做吧!

修改「/etc/ImageMagick-6/policy.xml」文件

在zsh里,输入「/etc/Image」之后,按一下tab,后面的目录名称就自动补全了。在修改policy.xml之前,还是先看看里面什么内容吧,别到时候进了文本编辑器一时手贱改错了东西,改不回来反而费事。

3_查看policy_xml文件_1.png

3_查看policy_xml文件_2.png

嗯,对于我这个小白程度的linux用户来说,基本上还是能瞎改改的嘛!(信心满满!)

因为已经试过一次用普通用户的身份去打开这个文件,提示只读,所以下面就直接叙述使用sudo的完整权限的命令了。

sudo vim policy.xml

接着输入密码,敲下回车键,清脆的声音响起,进入Vim的世界了。

按照stackover原帖上的方法,有几个小步骤:

「1」增加一行:

「2」修改一行:

「3」增加一行:

保存文件,退出Vim。

重启系统。

附上我改的文件的样子:

4_修改policy_xml文件_1.png

4_修改policy_xml文件_2.png

成功转换

系统重启后,再来试试convert能不能把pdf转换为jpg。

然后,默认的分辨率太低,转换出来的jpg图片一片模糊,没法看。

把宽高分辨率参数-density调到150的时候比较清晰了,再调到200就很清晰了。

5_成功转换.png

整理完毕,收工!

砚湖@飘香生活馆

二〇一九年一月四日

ElementaryOS/Linux使我快乐!

作者:砚湖

你可能感兴趣的:(vue,前端png转pdf)