0

我最近开始使用 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

我已经到处搜索可能导致这种情况的原因,但没有任何线索。有什么可能的想法吗?

4

1 回答 1

0

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

于 2014-10-24T18:57:12.337 回答