2013-08-01 103 views
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(「application/pdf」);我不知道如何設置文件名和文件內容,以便我能夠將我的PDF文件保存到期望的位置。如何將文件從html保存爲pdf

+1

理想情況下,該文件將被下載默認的瀏覽器下載位置權? – vels4j

+0

@anil作爲vels4j說,它取決於客戶端瀏覽器,他/她想要保存文件 – 2013-08-01 05:52:33

+0

是目前它保存到E:Test.pdf我不想做我想要的,如果點擊保存然後它應該保存到下載地址 –

回答

0

因此,而不是創建一個新的FileOutputStream使用response.getOutputStream()。除了設置標題你不會發送任何其他的迴應

+0

是彈出我想這樣 –

+0

請更新mY代碼是無法這樣如何我將設置 –

+0

Thanx親愛的shyamits正常工作 –