import java.io.IOException; import java.net.URL; import javax.servlet.Servlet; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jfree.report.Boot; import org.jfree.report.JFreeReport; import org.jfree.report.modules.output.pageable.base.PageableReportProcessor; import org.jfree.report.modules.output.pageable.pdf.PDFOutputTarget; import org.jfree.report.modules.parser.base.ReportGenerator; import org.jfree.report.util.Log; import org.jfree.report.util.ReportConfiguration; import org.jfree.xml.ElementDefinitionException; /** * * <p>JFreeReport的pdf文件的生成。<p> * * 创建日期 2013-5-13<br> * @author longgangbai<br> * @version $Revision$ 2013-5-13 * @since 3.0.0 */ public class JFreeReportServlet extends HttpServlet implements Servlet { // private static final long serialVersionUID = 1L; /** * @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("application/pdf"); ServletOutputStream out = resp.getOutputStream(); try { // initialize JFreeReport Boot.start(); ReportConfiguration.getGlobalConfig().setLogLevel("Error"); // update the log system to use the new settings ... Log.getJFreeReportLog().init(); final URL in = getServletContext().getResource("/resources/swing-icons.xml"); if (in == null) { throw new Exception("swing-icons.xml can't be found."); } final JFreeReport report = parseReport(in); report.setData(new com.easyway.jfreereport.ext.SwingIconsDemoTableModel()); PDFOutputTarget target = new PDFOutputTarget(out, report.getDefaultPageFormat(), false); target.configure(report.getReportConfiguration()); target.open(); PageableReportProcessor proc = new PageableReportProcessor(report); proc.setOutputTarget(target); proc.processReport(); target.close(); } catch (Exception ex) { System.err.println("Generate PDF failed: " + ex); } finally { try { out.close(); } catch (Exception e) { System.err.println("Output PDF failed: " + e); } } } /** * @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } /** * Reads the report from the swing-icons.xml report template. * * @param templateURL The template location. * * @return A report. * @throws ElementDefinitionException if the report generator encountered an error. * @throws IOException if there was an IO error while reading from the URL. */ private JFreeReport parseReport(final URL templateURL) throws IOException, ElementDefinitionException { final ReportGenerator generator = ReportGenerator.getInstance(); return generator.parseReport(templateURL); } }
相关推荐
本资源包含JFreeReport web报表 源代码
本资料主要用于如何使用JfreeReport生成图表
j2ee技术结合web报表技术,使您 的web开发更加精彩,该实例展现了怎样在一个web程序开发中使用JFreeReport技术的实例, 想做这方面应用的朋友可以参考一下!!
报表工具 jfreereport报表工具 jfreereport 报表工具 jfreereport 报表工具 jfreereport
报表工具 jfreereport 报表工具 jfreereport 报表工具 jfreereport
Pentaho报表(JFreeReport)使用指南
一个简单的jfreechat生成报表的例子,希望对有需要的人有所帮助
JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括 柱状图、饼图、曲线图、甘特图等。它能够用在Swing和Web等中制作自定义的图表或报表,并且得 到广泛的应用。 ...
pentaho-report-wizard-1.7.0.RC2.jar
jfreereport API 英文版doc,对使用jfreereport 有帮助,另附使用文档。
真是java代码实现jfreereport的代码,内涵使用到的jar包
该附件主要讲了JFR的配置,应用,适合初学者,这方面的资料很少,很难得啊
jfreereport-0.8.7-5.jar,比较新的一个版本,免费使用
简单的演示了JFreeReport进程 各种架包都已倒好
1.JFreeReport :报表解决工具 2.JFreeChart:Java 图形解决方案(Application/Applet/Servlet/Jsp) 3.JCommon :JFreeReport和JFreeChart的公共类库 4.JFreeDesigner :JFreeReport的报表设计工具 我们可以...
jfreereport-0.8.4_7-all.jar jfreereport-0.8.4_7-all.jar
使用jfreereport很好的参考资料---------
FineReport-免费设计器报表 专业报表工具,纯java编写,类Excel免费 设计器,支持多数据源,零编码表单制作.