2008-09-24 51 views
1

我在Windows XP上。如何讓ImageMagick與Ghostscript對話

我正在使用ImageMagick(MagickNet)將PDF轉換爲TIF。

我的問題是,當我在MagicNet.Image對象中加載PDF時,它不會引發錯誤,但是當我查看屬性時,很明顯它沒有加載PDF(它不會加載PDF) t包含任何數據)。

我的猜測是ImageMagick不會與Ghostscript對話。

任何想法?

- 我忘了提,我沒有安裝幽靈腳本,和我說的bin文件夾到PATH

回答

1

你確定要安裝Ghostscript? ImageMagick軟件包默認不包含它。

1

也許你已經做了這樣的事情,但爲了確保你已經將問題隔離到ImageMagick和GhostScript(而不是MagickNet,它只是一個包裝),你可以看看ImageMagick的command- line 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通過interop轉換並不算太壞。您只需創建一個實例,然後調用「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); 
ImageMagickObject.MagickImage img = new MagickImage(); 

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