如何使ImageMagick与Ghostscript对话

时间:2020-03-06 14:40:35  来源:igfitidea点击:

我在Windows XP上。

我正在使用ImageMagick(MagickNet)将PDF转换为TIF。

我的问题是,当我在MagicNet.Image对象中加载PDF时,它不会引发错误,但是当我查看属性时,很明显它没有加载PDF(它不包含任何数据) )。

我的猜测是ImageMagick没有与Ghostscript对话。

有任何想法吗?

-我忘了提,我确实安装了Ghost Script,并且将其bin文件夹添加到PATH中

解决方案

我们确定要安装Ghostscript吗?默认情况下,它不包含在ImageMagick软件包中。

也许我们已经做过类似的事情,但是要确保已将问题隔离到ImageMagick和GhostScript(与MagickNet相对,后者只是一个包装器),可以查看ImageMagick的命令行convert.exe能够将PDF转换为TIFF?我从未见过convert.exe不能完成基于API的方法所能做的事情(我没有使用MagickNet,但是我已经广泛使用convert.exe实用工具,并且通过互操作使用了ImageMagickObject COM DLL )。对于一个简单的测试,它应该很简单:

c:\PATH_TO_IMAGEMAGICK\convert YourInput.pdf YourOutput.tif

如果可行,则ImageMagick和GhostScript安装基本上可以,并且需要在MagickNet或者应用中完成一些工作;如果不起作用,则说明ImageMagick和/或者GhostScript安装/配置存在问题。

如果事实证明MagickNet是问题所在,那么使用ImageMagickObject通过互操作进行转换也不错。我们只需创建一个实例,然后在其上调用"转换",就好像它是一个静态方法,其参数与命令行convert.exe的参数几乎相同:

ImageMagickObject.MagickImage img = new MagickImage();

object[] parms = new object[2];
parms[0] = "YourInput.pdf";
parms[1] = "YourOuput.tif";
img.Convert(ref parms);