ImageMagick安全策略阻止转换'PDF'

17 浏览
0 Comments

ImageMagick安全策略阻止转换'PDF'

Imagemagick的安全策略似乎不允许我将pdf转换为png。转换其他扩展名似乎是有效的,只是pdf不行。自从我安装它以来,我没有更改过任何Imagemagick设置... 我正在使用Arch Linux,如果操作系统有关系的话。

user@machine $ convert -density 300 -depth 8 -quality 90 input.pdf output.png
convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.
convert: no images defined `output.png' @ error/convert.c/ConvertImageCommand/3288.

admin 更改状态以发布 2023年5月21日
0
0 Comments

这个问题是对一个安全漏洞的临时解决方案。这个漏洞已经在Ghostscript 9.24中得到了解决,如果您有该版本或更高版本,您就不需要再使用临时解决方案了。

在Ubuntu 19.04到22.04及可能的任何之后版本中使用ImageMagick 6,以下是如何通过删除该解决方案来解决该问题:

  1. 确保您有Ghostscript ≥9.24:

    gs --version
    

  2. 如果是,请从/etc/ImageMagick-6/policy.xml中完全删除以下部分:

    
    
    
    
    
    
    
    

 

细节:仅删除内部带有pattern="PDF"的行即可重新启用PDF转换。我也删除了其他基于PostScript​​的文件类型的行,因为我看不出防止Image Magick与它们一起工作的原因。(仅适用于家用电脑。在Web服务器上,您可能会认为这很危险,因为基于PostScript的文件可能包含脚本。)

归因:另一个答案的@jakob-r的评论以及下面有用的评论 ↓

0
0 Comments

好的,我在/etc/ImageMagick-7/policy.xml中的之前添加了

  

,这使它重新运行,但我不确定这是否安全。

0