Java 如何将文件从html保存为pdf
这是我将html保存到Pdf文件的代码,但当我单击“另存为”按钮时,它会保存到E:\Test.Pdf,而我不想设置E:\Test.Pdf物理路径,我希望如果用户单击“保存”按钮,它会询问您需要保存的位置,如果用户选择该位置,它会保存到该位置响应。addHeader(“内容处置”,“附件;文件名=\”file.pdf\”;Java 如何将文件从html保存为pdf,java,jsp,Java,Jsp,这是我将html保存到Pdf文件的代码,但当我单击“另存为”按钮时,它会保存到E:\Test.Pdf,而我不想设置E:\Test.Pdf物理路径,我希望如果用户单击“保存”按钮,它会询问您需要保存的位置,如果用户选择该位置,它会保存到该位置响应。addHeader(“内容处置”,“附件;文件名=\”file.pdf\”; response.setContentType(“application/pdf”);我不知道如何将文件名和文件内容设置为该值,以便能够将我的pdf文件保存到所需位置。因此,使
response.setContentType(“application/pdf”);我不知道如何将文件名和文件内容设置为该值,以便能够将我的pdf文件保存到所需位置。因此,使用
response.getOutputStream()而不是创建新的FileOutputStream
。除了设置标题外,您不会在响应中发送任何其他内容理想情况下,文件将在默认浏览器下载位置下载,对吗?@anil正如vels4j所说,这取决于客户端浏览器,他/她想在哪里保存文件是的,当前保存到E:Test.pdf我不想做,如果单击save then它应该保存到下载位置我无法设置response.addHeader(“内容处置”、“附件;文件名=\”file.pdf\”);response.setContentType(“应用程序/pdf”);这样我就可以查看save pdfww.indianrail.gov.in/between\u Imp\u Stations.html,使用我的代码PdfWriter.getInstance保存此文件并保存到pdf(文档,response.getOutputStream());
String w=request.getParameter("fpath");
try {
FileReader fr = new FileReader(w);
BufferedReader reader = new BufferedReader(fr);
StringBuilder sb = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
sb.append(line.trim());
}
String result = sb.toString();
OutputStream file = new FileOutputStream(new File("E:\\Test.pdf"));
Document document = new Document();
PdfWriter.getInstance(document, file);
document.open();
@SuppressWarnings("deprecation")
HTMLWorker htmlWorker = new HTMLWorker(document);
htmlWorker.parse(new StringReader(result));
response.addHeader("Content-Disposition", "attachment; filename=\"file.pdf\"");
response.setContentType("application/pdf");
document.close();
file.flush();
}
catch (Exception e) {
e.printStackTrace();
}