我最近开始使用 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
我已经到处搜索可能导致这种情况的原因,但没有任何线索。有什么可能的想法吗?