我在 java 中运行 ghost4j 进行批量转换。有一段时间它工作正常,但过了一会儿我得到错误为“无法初始化 ghostscript 解释器错误代码 -100”,然后再运行几次后我得到“无法初始化 ghostscript 解释器错误代码 -100”ghostScript 9.52 可以未打开临时文件 ' ' ***** 无法初始化设备,正在退出。我正在做高速度的 ps2pdf 转换,一次转换多个文件,ghost4j 是一个单例实例,我已经同步了 gs 对象以防止我之前得到的“非法访问内存”。这是代码
try{
gsArgs = new String[11];
gsArgs[0] = "-ps2pdf";
gsArgs[1] = "-dNOPAUSE";
gsArgs[2] = "-dEPSFitPage";
gsArgs[3] = "-dBATCH";
gsArgs[4] = "-dSAFER";
gsArgs[5] = "-sDEVICE=pdfwrite";
gsArgs[6] = "-g" + width + "x" + height;
gsArgs[7] = "-r" + 72;
gsArgs[8] = "-sOutputFile=" + "C:\ProgramData\new\Temp\out.pdf";
gsArgs[9] = "-f";
gsArgs[10] = "C:\ProgramData\new\Temp\imagesample.eps";
synchronized (gs) {
gs.initialize(gsArgs);
gs.exit();
}
}catch(ghostScriptException e){
log.error(e.getMessage(),e)
}
finally {
synchronized (gs) {
Ghostscript.deleteInstance();
}
这里对于转换的多个并行访问,它在同步实例后工作正常,但是对于也发生并行访问的代,它随机失败。我提供所有正确的参数作为论据。单独尝试转换文件没有问题