0

我有 servlet,它创建 html 文件,然后将其转换为 pdf 文件:

private void ConvertHTMLtoPDF(String sConvertationProgramm, String sHTML, String sPDF)
{        
    try {
        ProcessBuilder pb = new ProcessBuilder(sConvertationProgramm, sHTML, sPDF);
        Process process = pb.start();
    } catch (Exception e) {
        e.printStackTrace();
    }

}

一切都很完美,但是我从这段代码中打开了这个新的(我认为)生成的 pdf 文件:

ConvertHTMLtoPDF("C:\\Program Files (x86)\\wkhtmltopdf\\wkhtmltopdf.exe",
                "PDFtemplate/requiredPDF.html",
                "PDFtemplate/Report.pdf");
response.sendRedirect("PDFtemplate/Report.pdf");

- 这给了我以前创建的以前的 pdf 文件。此外,我尝试从 Windows 资源管理器中打开它,并且每次打开时它都会向我显示以前的文件。


有没有人有任何建议发生了什么以及如何解决这个问题?

任何输入将不胜感激,
谢谢

4

2 回答 2

1

您确定要用新文件替换当前文件吗?我怀疑您是否正在将新文件写入此位置。

于 2013-06-10T05:03:36.057 回答
1

response.sendRedirect("PDFtemplate/Report.pdf")在开始一些过程后正在做。您应该等待该过程完成,并且只有在完成后才进行其他操作。

采用process.waitFor();

于 2013-06-10T06:44:55.047 回答