我在Windows XP上。
我正在使用ImageMagick(MagickNet)将PDF转换为TIF。
我的问题是,当我在MagicNet.Image对象中加载PDF时,它不会引发错误,但是当我查看属性时,很明显它没有加载PDF(它没有包含任何数据)。
我的猜测是ImageMagick没有与Ghostscript交谈。
有什么想法吗?
- 我忘了提及,我确实安装了Ghost Script,并将其bin文件夹添加到PATH
答案 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");