2012-06-11 109 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目的。