下载ImageMagick的最新版本。打开包装。安装Ghostscript如下:
$ sudo apt-get install ghostscript
之后尝试配置ImageMagick:
$ ./configure --with-gslib
$ make
$ make install
之后,我尝试将PDF转换为jpg
$ sudo /usr/local/bin/convert in.pdf out.jpg
我看到这个错误
convert: no decode delegate for this image format `/tmp/magick-BzHdr4Kp-00000001' @ error/constitute.c/ReadImage/544.
convert: Postscript delegate failed `in.PDF': Нет такого файла или каталога @ error/pdf.c/ReadPDFImage/678.
convert: no images defined `out.jpg' @ error/convert.c/ConvertImageCommand/3044.
我做错了什么?
尝试以下convert
命令以更准确地查看可能出现的问题:
convert a.pdf -debug coder a.jpg
convert a.pdf -debug all a.jpg
可能会有很多输出进入stderr。在这些行中,您可以看到IM正在查找Ghostscript的位置。另外,尝试
convert -list delegate
convert -list delegate | grep --color -E '(eps|pdf)'
以查找ImageMagick尝试运行Ghostscript的确切命令行(它可以调用gsx
而不是gs
,也可以在/usr/local/bin/
中查找…)。如果您发现与实际Ghostscript安装有任何偏差,您可以通过编辑delegates.xml
来修复它。
convert -list configure
将显示ImageMagick是如何配置的(例如,如果gs
在编译时在DELEGATES
变量的列表中)。在这里,您还可以找到查找delegates.xml
:的位置
convert -list configure | grep CONFIGURE_PATH
应该列出这个(以及更多)*.xml设置文件所在的目录,这些文件控制convert
等人的行为。。。