Java 实现 FusionCharts 图表导出图片或PDF文件功能
第一步:引入FusionCharts文件,使用的版本为:FusionCharts 3.2.1(额,共享版,你懂的,后续提供下载链接)支持正版,官网地址:
第二步:引入fcexporter.jar包(图片导出功能库),并在web.xml文件中配置以下代码
<servlet> <display-name>FCExporter</display-name> <servlet-name>FCExporter</servlet-name> <servlet-class>com.fusioncharts.exporter.servlet.FCExporter</servlet-class> </servlet> <servlet-mapping> <servlet-name>FCExporter</servlet-name> <url-pattern>/FCExporter</url-pattern> </servlet-mapping>
第三步:添加测试xml文件,实际开发中应使用动态URL模式,否则浏览器会有缓存
<chart baseFont=Arial baseFontSize=12 decimals=0 exportEnabled=1 exportAtClient=0 exportAction=download exportDialogMessage=正在导出,请稍候... exportHandler=FCExporter exportShowMenuItem=1 exportFormats=JPG=导出为 JPG 图片|PNG=导出为 PNG 图片|PDF=导出为 PDF 文件 formatNumberScale=0 showValues=1 caption=各品目年度销售总额分布图 subCaption=2014年 exportFileName=2014年各品目年度销售总额分布图 palette=4 numberPrefix=¥> <categories> <category label=01></category> <category label=02></category> <category label=03></category> <category label=04></category> <category label=05></category> <category label=06></category> <category label=07></category> <category label=08></category> <category label=09></category> <category label=10></category> <category label=11></category> <category label=12></category> </categories> <set label=移动硬盘 value=3200000></set> <set label=台式计算机 value=3200000></set> <set label=多功能一体机 value=4600000></set> </chart>第四步:编写JSP文件
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Fusion Chart</title> <script type="text/javascript" src="${pageContext.request.contextPath}/scripts/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/plugins/FusionCharts 3.2.1/Scripts/FusionCharts.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/plugins/FusionCharts 3.2.1/Scripts/FusionChartsExportComponent.js"></script> <script type="text/javascript"> $(function () { var chart = new FusionCharts("${pageContext.request.contextPath}/plugins/FusionCharts 3.2.1/Charts/Pie3D.swf", "chart", "720", "420"); chart.setDataURL("${pageContext.request.contextPath}/database/chartData.xml"); chart.render("divChart"); }); </script> </head> <body> <div id="divChart"></div> </body> </html>第五步:启动项目,查看效果吧~
完整示例下载地址: