将 jpg 转换为 pdf 时出错

将 jpg 转换为 pdf 时出错

每次我想用这个命令将jpg文件转换为pdf

convert *.jpg pictures.pdf

我收到以下错误信息:

convert: not authorized `pictures.pdf' @ error/constitute.c/WriteImage/1028.

答案1

该问题源于安全更新: https://launchpad.net/ubuntu/+source/imagemagick/8:6.8.9.9-7ubuntu5.13

有人报告这是一个错误: https://bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1796563

作为临时解决方案,我编辑并更改了/etc/ImageMagick-6/policy.xmlPDF 权限。不确定会有什么影响,但至少它让我可以完成任务。noneread|write

答案2

在我的 Ubuntu 16.04.6 LTS 和 18.04.6 LTS 上,按照以下步骤修复了这个问题接受的答案

创建简单的 sed 单行命令以更快地修复此问题:

sudo sed -i 's#<policy domain="coder" rights="none" pattern="PDF" />#<policy domain="coder" rights="read|write" pattern="PDF" />#' /etc/ImageMagick-6/policy.xml

并以程序化的方式。

答案3

如果你担心后果,https://bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1796563提到

虽然发布说明并不完全清除,Ghostscript v9.25 似乎提到修复了此类漏洞:https://www.ghostscript.com/doc/9.25/News.htm

答案4

禁用安全限制是一个坏习惯。ImageMagick 的作者可能出于某种原因才制作了这个。你应该尊重这一点,除非你知道确切地你在做什么。对于大多数看到这些答案的人来说,这似乎不太可能。

在这种情况下正确的做法是使用作者自己认为安全的其他软件。

以下img2pdf符合要求:

img2pdf --output out.pdf in.jpg

相关内容