【问题标题】:How to add OpenWith and SaveAs Dialogue Box while generating pdf from jasper如何在从 jasper 生成 pdf 时添加 OpenWith 和 SaveAs 对话框
【发布时间】:2012-11-22 12:41:22
【问题描述】:

大家好!!! 我生成了一个简单的参数化 jasper 报告,用于将数据导出为 pdf 格式。现在,根据我的代码,pdf 文件正在通过自动下载生成和打开,而我需要 Saveas 对话框来询问 openwith 或 saveas ...任何建议将不胜感激.. .Thanx提前..这是我的代码...

ServletOutputStream servletOutputStream = response.getOutputStream();
InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream("para.jasper");
try {
    String name = request.getParameter("name");
    System.out.println(name);
    String query = "Select * from vikas where vikas.name='" + name + "'";
    System.out.println(query);
    Class.forName("com.mysql.jdbc.Driver");
    connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/techsoft?user=root&password=techsoft");
    statement = connection.createStatement();
    resultSet = statement.executeQuery(query);
    JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(resultSet);
    JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, new HashMap(), resultSetDataSource);
    resultSet.close();
    statement.close();
    connection.close();
    servletOutputStream.flush();
    servletOutputStream.close();

【问题讨论】:

    标签: java pdf jasper-reports


    【解决方案1】:

    您应该添加Content-Disposition http header。同时添加Content-Type

    response.setHeader("Content-Type", "application/pdf");
    response.setHeader("Content-Disposition", "inline; filename=\"" + getFileName() + "\"");
    

    【讨论】:

    • 请注意,您依赖于正确管理它的浏览器。我认为大多数主流浏览器都可以,但是如果您使用的浏览器没有,则无事可做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    相关资源
    最近更新 更多