2012-06-11 106 views
1

我有一個servlet,當用戶按下一個按鈕時,它會生成一個動態pdf(根據用戶給定的數據)並下載到用戶的c:/位置。任何人都可以幫助我如何做到這一點?Servlet pdf下載按鈕創建

+0

@Poindexter,實際上,我不知道該怎麼做。 – alessandro

+0

您知道如何生成PDF,並且您正試圖知道如何將其下載給用戶?從瀏覽器下載文件需要用戶選擇存儲文件的位置。 –

+0

@DavidOlivánUbieto,好的。你能幫助如何做到這一點意味着在用戶指定的位置下載? – alessandro

回答

4

你到底不清楚什麼?如何編寫一個html表單?如何從HttpServletRequest獲取參數?或者如何生成pdf並下載給用戶?

<form action="yourServlet"> 
<input type="text" name="sometxt"/> 
<input type="secret" name="passwd"/> 
<input type="submit"/> 
</form> 

然後,你可以在你的getXXX方法來檢索它像

final String text = request.getParameter("sometxt"); 
final String rawPassword = request.getParameter("secret"); 

如果你需要渲染一個pdf,你應該看看在Apache PDFBOX。

最後,如果您在下載文件到用戶的麻煩:

response.setContentType("application/pdf"); 
InputStream in = ... // depends where you store your file 
ServletOutputStream out = response.getOutputStream(); 
byte[] buffer = new byte[4096]; 
while(in.read(buffer, 0, 4096) != -1) 
    out.write(buffer, 0, 4096); 
in.close(); 
out.flush(); 
out.close(); 

而且不要忘了handilng IOException異常,我錯過了simpicity目的。