每次我想用这个命令将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.xml
PDF 权限。不确定会有什么影响,但至少它让我可以完成任务。none
read|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