gpt4 book ai didi

java - 通过Servlet或JSP将JasperReport的报告导出为pdf

转载 作者:行者123 更新时间:2023-12-02 06:21:07 25 4
gpt4 key购买 nike

我使用以下代码通过 JSP 将 jasper 报告导出到 pdf 文件。

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

Connection con;

String host = "jdbc:mysql://localhost:3306/123";
String uname = "root";
String upass = "";
Class.forName("com.mysql.jdbc.Driver");

con = DriverManager.getConnection(host, uname, upass);

String report="C:\\Users\\Acer\\Documents\\NetBeansProjects\\jasper\\1.jrxml";
JasperReport jr= JasperCompileManager.compileReport(report);
JasperPrint jasperPrint = JasperFillManager.fillReport(jr, null, con);

JasperExportManager.exportReportToPdfFile(jasperPrint, "application.pdf");

当我在 NetBeans 中运行此 JSP 文件时,浏览器中会出现一个包含以下错误的消息框:

“文件不以“%PDF-”开头。本地\EWH_)!50gc#"

此消息来自 Adob​​e Reader。

如有任何帮助,我们将不胜感激。

最佳答案

使用exportReportToPdfFile()是完全错误的:您不想创建文件,而是导出到响应流。因此,将代码片段的最后一行替换为:

OutputStream outStream = response.getOutputStream();
JasperExportManager.exportReportToPdfStream(jasperPrint, outStream);

关于java - 通过Servlet或JSP将JasperReport的报告导出为pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21019136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com