如何使ImageMagick与Ghostscript对话

时间:2008-09-24 17:26:32

标签: .net image pdf magicknet

我在Windows XP上。

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

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

我的猜测是ImageMagick没有与Ghostscript交谈。

有什么想法吗?

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

也许你已经做过类似的事情了,但为了确保你的问题与ImageMagick和GhostScript相关(而不是MagickNet,它只是一个包装器),你能看到ImageMagick的命令行吗? convert.exe能将您的PDF转换为TIFF吗?我从来没有见过convert.exe无法通过基于API的方法做的事情(我没有使用过MagickNet,但我已广泛使用了convert.exe实用程序,并通过interop使用了ImageMagickObject COM DLL )。对于简单的测试,它应该如下:

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

如果可以,您的ImageMagick和GhostScript安装基本上都可以,并且需要在MagickNet或您的应用中完成某些操作;如果它不起作用,你的ImageMagick和/或GhostScript安装/配置有问题。

如果事实证明MagickNet是问题,使用ImageMagickObject通过互操作转换并不是太糟糕。您只需创建一个实例,然后在其上调用“convert”,就好像它是一个静态方法,其参数与命令行convert.exe的参数几乎相同:

ImageMagickObject.MagickImage img = new MagickImage();

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

答案 2 :(得分:1)

我在考虑是否在进行转换之前设置了ghostScript目录。 该代码应为MagickNET.SetGhostscriptDirectory(@"your path here");