0
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();
}

これはHTMLをPDFファイルに保存するための私のコードですが、[名前を付けて保存]ボタンをクリックすると、E:\Test.pdfに保存されますが、E:\Test.pdfの物理パスを設定したくありません。保存ボタンをクリックすると、ユーザーがその場所を選択した場合に保存する必要がある場所を尋ねる必要があります。次に、その場所に保存します response.addHeader("Content-Disposition", "attachment; filename=\"file.pdf\""); response.setContentType("アプリケーション/pdf"); PDFファイルを希望の場所に保存できるように、ファイル名とファイルの内容をこれに設定する方法がわかりません。

4

1 に答える 1

0

そのため、新しいものを作成する代わりにFileOutputStreamresponse.getOutputStream(). ヘッダーを設定する以外に、応答で他に何も送信していません

于 2013-08-01T06:07:16.997 に答える