0

我在 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();
   }

这里对于转换的多个并行访问,它在同步实例后工作正常,但是对于也发生并行访问的代,它随机失败。我提供所有正确的参数作为论据。单独尝试转换文件没有问题

4

0 回答 0