.net 如何让ImageMagick与Ghostscript对话
我使用的是Windows XP 我正在使用ImageMagick(MagickNet)将PDF转换为TIF 我的问题是,当我在MagicNet.Image对象中加载PDF时,它不会抛出错误,但是当我查看属性时,很明显它没有加载PDF(它不包含任何数据) 我猜ImageMagick不是在和Ghostscript说话 有什么想法吗.net 如何让ImageMagick与Ghostscript对话,.net,image,pdf,magicknet,.net,Image,Pdf,Magicknet,我使用的是Windows XP 我正在使用ImageMagick(MagickNet)将PDF转换为TIF 我的问题是,当我在MagicNet.Image对象中加载PDF时,它不会抛出错误,但是当我查看属性时,很明显它没有加载PDF(它不包含任何数据) 我猜ImageMagick不是在和Ghostscript说话 有什么想法吗 --我忘了提到,我安装了Ghost脚本,并将其bin文件夹添加到路径中您确定要安装吗?默认情况下,它不包含在ImageMagick软件包中。也许您已经做过类似的操作,但是
--我忘了提到,我安装了Ghost脚本,并将其bin文件夹添加到路径中您确定要安装吗?默认情况下,它不包含在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”,就好像它是一个静态方法,其参数与命令行convert.exe的参数几乎相同:
ImageMagickObject.MagickImage img = new MagickImage();
object[] parms = new object[2];
parms[0] = "YourInput.pdf";
parms[1] = "YourOuput.tif";
img.Convert(ref parms);
我想如果你在转换之前设置了ghostScript目录。 代码应该是
MagickNET.SetGhostscriptDirectory(@“此处的路径”)代码>