1

我在 Windows XP 上。

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

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

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

有任何想法吗?

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

4

3 回答 3

1

你确定安装了Ghostscript吗?默认情况下,它不包含在 ImageMagick 包中。

于 2008-09-24T17:40:22.627 回答
1

也许您已经做过类似的事情,但是为了确保您已经将问题隔离到 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);
于 2008-09-24T18:35:16.270 回答
1

我在想如果你在转换之前设置了 ghostScript 目录。代码应该是MagickNET.SetGhostscriptDirectory(@"your path here");

于 2018-10-29T17:20:53.977 回答