一、FusionCharts J2EE 导出处理程序包
==================================
1、FusionCharts J2EE 导出处理程序包是什么?
FusionCharts Suite XT 采用 JavaScript 来在浏览器中生成图表,采用 SVG 和 VML(针对老版的 IE)。若要导出图表为图片或PDF文件,就需要服务器端辅助类库来将 SVG 转换为图片或PDF文件。这些导出处理程序包能从 FusionCharts 图表提取 SVG 并完成相应的转换。
2、该导出处理程序包是如何运行的?
- 图表在浏览器中产生,当【导出为图片或PDF】按钮被点击时,该图表便会生成 SVG 字符串来呈现给当前状态并将其发送给导出处理程序包。该包的 URL 经 由图表属性配置而得。
- 导出处理程序包根据图表配置(诸如图表类型、宽度、高度等)接受该 SVG 字符串,并用 InkScape 与 ImageMagick 库来将其格式转换为图片或PDF。
- 导出处理程序包要么基于由图表提供的配置项对磁盘执行图片或PDF的写入操作,要么将其回流给浏览器。
二、版本
=======
1.0
三、必备要求
============
1、Inkscape:
Inkscape 是一款开源矢量图像编辑器。它与众不同之处在于将可绽放矢量图像(一种基于XML的开放式 W3C 标准化)用作其原生格式。Inkscape 具备强大的命令行工具接口,且可被用在执行大批量任务(诸如导出和格式转换)的脚本中。详情参见以下网页:
http://inkscape.org/doc/inkscape-man.html
2、ImageMagick:
ImageMagick 是一款免费开源软件套件,能够显示、转换并编辑光栅图像和矢量图像文件。该软件主要由一些操纵图像的命令行接口工具组成。详情参见以下网页:
http://www.imagemagick.org/
四、安装
============
* 首先你得有一台 Windows 或 Linux 服务器,以管理员身份来安装软件。如果用的是共享主机服务的话,这一点就尤为重要。
* 两款必备软件 Inkscape 和 ImageMagick 均需安装,以便整个系统正常运行。请访问各自的网站,并根据以下操作指南进行安装。
* 编辑 web.xml 并在应用的 web.xml 中添加以下 servlet 映射:
FCExporter
FCExporter
com.fusioncharts.exporter.servlet.FCExporter
1
FCExporter
/JSP/ExportExample/FCExporter
* 按需对 URL-pattern 进行适当修改。
* 假设 jsp 渲染图表存在于 /JSP/ExportExample 文件夹中,则指定 exportHandler='FCExporter' 这一项 xml 属性。
* 要配置所生成图像要被保存到服务器的文件夹,在类目录下的 fusioncharts_export.properties 属性文件中进行。
* 配置 Inkscape 和 ImageMagick 这两款必备软件的路径(仅对 Windows 有效):打开类目录下提供的 fusioncharts_export.properties 属性文件并修改为以下值:
********************************fusioncharts_export.properties***********************************
#请确认对路径指向的文件夹拥有 WEB 应用根相对目录的写权限。
#导出的 图像/PDF 文件会被保存在此位置(对于 Linux 服务器来说 SAVEPATH 需相应被变更为相对或绝对路径)
SAVEPATH=/JSP/ExportExample/ExportedImages/
#持久化 HTTP_URI 存储 HTTP 指明的即将保存导出图表的文件夹。
#请输入请文件夹的 HTTP 代理在该持久项中,例如:http://www.yourdomain.com/images/
HTTP_URI=http://localhost:8081/ExportHandler/JSP/ExportExample/ExportedImages/
#设置了 OVERWRITEFILE 项为真后,导出处理程序包在创建新的导出的时会覆盖旧有文件;若将其设置为假,则导出文件不会覆盖。
#在此情形下,如果 INTELLIGENTFILENAMING 项被设置为真,则导出处理程序包会添加一个后缀(随机生成的 UUID)给新文件名。
#另外,也可添加时间戳或随机数作为附加前缀。
FILESUFFIXFORMAT=TIMESTAMP
OVERWRITEFILE=false
INTELLIGENTFILENAMING=true
#在此设置 Inkscape 的路径(仅对 Windows 有效)
INKSCAPE_PATH=C:\\_Prog\\Inkscape-0.91
#在此设置 ImageMagick 的路径(仅对 Windows 有效)
IMAGEMAGICK_PATH=C:\\_Prog\\ImageMagick-7.0.0-0-Q16
***********************************************************************************************
五、许可证
-------
FUSIONCHARTS:
版权所有 (c) FusionCharts 科技有限责任合伙公司
许可信息位于 http://www.fusioncharts.com/license
六、已知问题、局限性:
---------------------------
* 当我们导出一个 SVG 文件时,该文件在浏览器中能正确渲染,但在其他图像软件中的渲染或有不足。
* 如果图表使用了外部图片作为其标识、背景或锚记,导出图片时将会无法获取该外部图片。
* 整个系统专为基于 Windows 或 Linux 的服务器而配置。