利用convert【ImageMagick】把pdf批量转换为图片踩坑


前言

最近做一个pdf显示文件内容的时候由于pdf太大,考虑转换成jpg显示在页面上,但是当我使用

convert转换文件的时候遇到了2个问题,记录下来供大家参考也作为自己的备忘。

坑1 gs报错

convert ./11.pdf ./检测报告/aa.jpg
convert: attempt to perform an operation not allowed by the security policy `gs' @ error/delegate.c/ExternalDelegateCommand/378.
convert: no images defined `tikz.jpg' @ error/convert.c/ConvertImageCommand/3282.

解决方案:

sudo vim /etc/ImageMagick-7/policy.xml

  • 然后搜索 gs (输入 /gs)
  • 再注释 这一行

<!--  <policy domain="delegate" rights="none" pattern="gs" /> -->

  • 然后保存 shift + :
  • wq

坑2 导出的文件太模糊

解决方案

添加-density 参数即可

参数介绍:

-density 200

图像每英寸面积内的像素点数,数值越高图片质量越高

-quality 100

这个为转换图片时的压缩率,0-100之间

总结

最后附上完整的命令

convert -density 300   -quality 100 -units PixelsPerInch  ./11.pdf ./aa.jpg