我有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();
}
}
一切都很完美,但随后我打开了 new (我认为)从这段代码生成的pdf文件:
ConvertHTMLtoPDF("C:\\Program Files (x86)\\wkhtmltopdf\\wkhtmltopdf.exe",
"PDFtemplate/requiredPDF.html",
"PDFtemplate/Report.pdf");
response.sendRedirect("PDFtemplate/Report.pdf");
- 这给了我之前创建的pdf文件。 此外,我试图从Windows资源管理器中打开它,并且每次打开时它也会显示我之前的文件。
有人有什么建议,以及如何解决这个问题?
非常感谢任何输入,
感谢
答案 0 :(得分:1)
您确定要用新文件替换当前文件,我怀疑您是否正在将新文件写入此位置。
答案 1 :(得分:1)
在开始某个过程后,您正在执行response.sendRedirect("PDFtemplate/Report.pdf")
。您应该等待完成该过程,并且只有在完成其他操作后才能完成。
使用process.waitFor();