Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将文件从html保存为pdf_Java_Jsp - Fatal编程技术网

Java 如何将文件从html保存为pdf

Java 如何将文件从html保存为pdf,java,jsp,Java,Jsp,这是我将html保存到Pdf文件的代码,但当我单击“另存为”按钮时,它会保存到E:\Test.Pdf,而我不想设置E:\Test.Pdf物理路径,我希望如果用户单击“保存”按钮,它会询问您需要保存的位置,如果用户选择该位置,它会保存到该位置响应。addHeader(“内容处置”,“附件;文件名=\”file.pdf\”; response.setContentType(“application/pdf”);我不知道如何将文件名和文件内容设置为该值,以便能够将我的pdf文件保存到所需位置。因此,使

这是我将html保存到Pdf文件的代码,但当我单击“另存为”按钮时,它会保存到E:\Test.Pdf,而我不想设置E:\Test.Pdf物理路径,我希望如果用户单击“保存”按钮,它会询问您需要保存的位置,如果用户选择该位置,它会保存到该位置响应。addHeader(“内容处置”,“附件;文件名=\”file.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();
}