使用Java中的ghostscript将PDF转换为多页TIFF文件

时间:2018-09-10 18:45:36

标签: java ghostscript

Ghost4j site下载Ghost库。所需的最小jar为ghost4j-1.0.0.jar,jna-3.3.0.jar,log4j-1.2.15.jar。 另外,您还必须安装Ghostscript设置,您可以根据自己的Windows位从ghostscript site中找到它。

下面是将PDF转换为多页TIFF的代码。

public void PDFtoMultipageTIFFileByScript(String pdfFileLoc, String fileName, String tiffFileLoc) {
    try {
        Ghostscript gs = Ghostscript.getInstance();
        List<String> gsArgs = new ArrayList<String>();
        gsArgs.add("gswin64c.exe");
        gsArgs.add("-o");
        gsArgs.add(tiffFileLoc);
        gsArgs.add("-sDEVICE=tiffg4");
        gsArgs.add("-r600"); //Resolution.
        gsArgs.add(pdfFileLoc);
        //System.out.println("command running : " + gsArgs.toString());

        gs.initialize(gsArgs.toArray(new String[0]));
        gs.exit();
    } catch (GhostscriptException e) {
        System.err.println("ERROR: " + e.getMessage());
        throw new RuntimeException(e.getMessage());
    } catch (UnsatisfiedLinkError ule) {
        throw new RuntimeException(getMessage(ule.getMessage()));
    } catch (NoClassDefFoundError ncdfe) {
        throw new RuntimeException(getMessage(ncdfe.getMessage()));
    } catch (Exception e) {
        e.printStackTrace();
    }
}

String getMessage(String message) {
    if (message.contains("library 'gs") || message.contains("ghost4j")) {
        return message + GS_INSTALL;
    }
    return message;
}

0 个答案:

没有答案