无法加载库'gsdll32'

时间:2012-06-16 07:46:25

标签: java ghostscript

我正在运行以下代码,使用Ghost4j从pdf创建bmp图像

我有一个由GhostScript生成器执行的commad,用于从pdf生成页面的Bmp图像。 代码是:

package ghost;

import net.sf.ghost4j.Ghostscript;
import net.sf.ghost4j.GhostscriptException;

public class GhostDemo {
public static void main(String[] a){
    Ghostscript gs = Ghostscript.getInstance(); //create gs instance
    String[] gsArgs = new String[10];/*command string array*/
    gsArgs[0] = "-dUseCropBox";/*use crop box*/
    gsArgs[1] = "-dNOPAUSE";
    gsArgs[2] = "-dBATCH";
    gsArgs[3] = "-dSAFER";
    gsArgs[3] = "-r300";
    gsArgs[4] = "-sDEVICE=bmp16m";
    gsArgs[6] = "-dTextAlphaBits=4";
    gsArgs[5] = "-sOutputFile=C:/PagesWorkspace/1/masterData/1.bmp";/*bmp file location with name*/
    gsArgs[6] = "C:/MasterWorkspace/pipeline.pdf";/*pdf location with name*/

    try {

        gs.initialize(gsArgs);  /*initialise ghost interpreter*/
        gs.exit();

    } catch (GhostscriptException e) {
       e.printStackTrace();
    }
}
}

我得到了例外

Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'gsdll32': The specified module could not be found.

    at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:145)
    at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:188)
    at com.sun.jna.Library$Handler.<init>(Library.java:123)
    at com.sun.jna.Native.loadLibrary(Native.java:255)
    at com.sun.jna.Native.loadLibrary(Native.java:241)
    at net.sf.ghost4j.GhostscriptLibraryLoader.loadLibrary(GhostscriptLibraryLoader.java:36)
    at net.sf.ghost4j.GhostscriptLibrary.<clinit>(GhostscriptLibrary.java:32)
    at net.sf.ghost4j.Ghostscript.initialize(Ghostscript.java:292)
    at ghost.GhostDemo.main(GhostDemo.java:22)

任何人都可以告诉我为什么我会得到这个例外吗?

3 个答案:

答案 0 :(得分:12)

你是否安装了Ghostscript?

  • 如果是,哪个版本?
  • 如果是,请在哪个位置?
  • 是否包含文件gsdll32.dll

如果没有,download the Ghostscript installer for Win32并运行它。安装后,目录gsdll32.dll

中应该有一个文件%your_install_dir%\gs\gs9.05\bin\

答案 1 :(得分:6)

在eclipse项目中粘贴dll文件使我的程序正常工作!

答案 2 :(得分:2)

对于SO社区,要检查此错误的另一件事是您使用的是32位Java。如果您的Java实例是64位,您将得到完全相同的消息:

Unable to load library 'gsdll32': The specified module could not be found.

即使 指向正确的dll,也没有任何进一步的解释。