我最近开始使用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
我已经搜索过可能导致此问题的高低,但没有任何线索。任何可能的想法?
答案 0 :(得分:0)
查看http://forums.famillecollet.com/viewtopic.php?id=2898,似乎最近的ImageMagick二进制版本中存在一个可能的错误。我降级到ImageMagick 6.8.9.0,错误消失了。