在Web App上转换图像时,im4java无法找到GhostScript库

时间:2014-10-22 22:07:55

标签: java imagemagick imagemagick-convert im4java

我最近开始使用im4java(一个用于ImageMagick的java包装器)将.eps文件转换为.jpg。我的代码目前是:

public void convertESPtoJPG()
{

    //Env.programPAth:  C:\\Program Files\\ImageMagick-6.8.9-Q16
    //Env.copyToDest: C:\\Program Files\\ImageMagick-6.8.9-Q16\\NakedWines\\Raw\\
    //Env.convToDest: C:\\Program Files\\ImageMagick-6.8.9-Q16\\NakedWines\\Converted\\
    log.info("============= Converting Images =============");

    IMOperation op = new IMOperation();
    log.debug("Program path: " + Env.programPath);
    ProcessStarter.setGlobalSearchPath(Env.programPath);

    op.addImage();
    op.addImage();

    ConvertCmd cmd = new ConvertCmd();

    ExtensionFilter filter = new ExtensionFilter("eps");
    FilenameLoader  loader = new FilenameLoader(filter);

    log.debug("Where we are grabbing the raw files from: " + Env.copyToDest);

    List<String> files = loader.loadFilenames(Env.copyToDest);

    log.debug("Size of file list: " + files.size());

    FilenamePatternResolver resolver = new FilenamePatternResolver("%P/%f.jpg");

    for (String img: files)
    {
        try {
            log.debug("Eps: " + img + " jpg: " + Env.convToDest + 
img.substring(img.lastIndexOf("\\") + 1, img.length() - 3));

                cmd.run(op,img,resolver.createName(Env.convToDest + 
img.substring(img.lastIndexOf("\\") + 1, img.length() - 3)));

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        log.info("============= Conversion Complete! =============");
    }

无论出于什么原因,当我进入我的for循环调用cmd.run(...)时,我收到以下错误:

convert.exe: Postscript delegate failed `[ghostscript library] -q -dQUIET -dSAFER -dBATCH -
dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -
dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" -g612x792 -dEPSCrop  "-
sOutputFile=C:/Users/gregh/AppData/Local/Temp/magick-29780b1FUQNgxDjI1%d" "-
fC:/Users/gregh/AppData/Local/Temp/magick-29780D9DHdD0Pxg_2" "-
fC:/Users/gregh/AppData/Local/Temp/magick-29780uSl3BAqcvWdD"': Error: /undefined in Unexpected

我已经搜索过可能导致此问题的高低,但没有任何线索。任何可能的想法?

1 个答案:

答案 0 :(得分:0)

查看http://forums.famillecollet.com/viewtopic.php?id=2898,似乎最近的ImageMagick二进制版本中存在一个可能的错误。我降级到ImageMagick 6.8.9.0,错误消失了。