如何为iText生成的PDF显示“另存为”对话框?

时间:2011-05-12 12:43:00

标签: java servlets download

当我发送由iText在servlet中生成的PDF文件时,我想显示另存为对话框。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:7)

您需要让servlet将Content-Disposition标头设置为attachment

response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");

这将强制另存为对话框,最终用户可以在其中选择位置。

请注意,最终用户可能已更改其浏览器设置以对PDF文件执行默认操作,例如始终在Reader中显示或始终将它保存在一些固定的位置。在例如Firefox中,您可以通过工具>来控制它。选项>应用。不,您无法在服务器端更改此浏览器特定的行为。

答案 1 :(得分:0)

好的我解决了我的问题!!我在这个页面上找到了: http://www.geek-tutorials.com/java/itext/servlet_jsp_output_pdf.php

该方法是直接使用getOutputStream()(不在文件路径中)编写并发送内容类型标题!

response.setContentType("application/pdf");
Document document = new Document();
try{
    PdfWriter.getInstance(document, 
    response.getOutputStream());
    //pdf generate code

这很简单......