当前位置:首页 > 技术知识 > 正文内容

Fusioncharts教程之图表组件导出图片和PDF文件

maynowei7个月前 (09-21)技术知识86

关于Fusioncharts图表组件导出图片、PDF文件的详细操作步骤如下,这里:

1、下载相关文件

要想导出图片必须下载fusionCharts 3.1以上的破解版,除了自己需要的swf文件外(包括FCExporter.swf) 还要两个js文件:

相信各位应该很清楚FCExporter.swf和这两个js的用途,在这我就不做多解释了!将两个js导入jsp页面:

2、生成报表

实现报表很简单,只需要一下几行代码即可:

1.columnChart = new FusionCharts("FCF_Column3D.swf","Report", "400", "300", "0", "1");//其他参数不做解释,最后一个参数设置为1 表示非debug模式显示报表

2.columnChart.setDataXML(data);//data为数据源 加载数据

3.columnChart.render("ReportDiv");//需要显示在哪个div里 绑定div的id属性

OK各位,当说到这里的时候,我要插入一点,fusionCharts加载数据有三种方式: Xml文件格式加载,Javascript的json格式加载,字符串拼凑加载。

最重要的是,在chart的属性上要包括以下三个属性:

3、右键导出

当你的界面能看到超炫的报表了,而且确保是fusionCharts 3.1以上的版本,此时您在报表上右键是绝对可以看到导出菜单的:

呵呵,到了这里,奉劝各位别高兴太早!尽管你现在导出jpg、png、或pdf都没用的,根本就没导出。别急,我们回到最开始的数据源代码,想要导出图片必须加上以下参数:

1.exportEnabled='1'(开启导出模式)

2.exportAtClient='1'(确定客户端导出)

3.exportHandler='fcExporter1' (对应前台导出处理程序的标识,网络说是写一个jsp、asp或php的路径,那是服务端导出,在这里不用)

4.exportDialogMessage='正在生成,请稍候...' (导出时的提示语)

5.exportFormats='JPG=生成JPG图片|PDF=生成PDF文件'(右键菜单格式化成中文)

到这里虽然你还无法导出图片,当就快接近尾声了,此时你可以看到的效果已经变成中文的了的。

4、前台编写导出脚本

还记得我么之前说的exportHandler='fcExporter1'吗?属性值是绑定前台导出处理程序的标识。那现在我们就来写这个处理程序。在你生成报表代码的后面添加如下代码:

01.var myExportComponent = new FusionChartsExportObject("fcExporter1","FCExporter.swf"); //参数1:为处理程序标识,参数二为:上文中提到的导出需要用到的swf文件

02.myExportComponent.componentAttributes.btnColor = 'EAF4FD';

03.myExportComponent.componentAttributes.btnBorderColor = '0372AB';

04.myExportComponent.componentAttributes.btnFontFace = 'Verdana';

05.myExportComponent.componentAttributes.btnFontColor = '0372AB';

06.myExportComponent.componentAttributes.btnFontSize = '12';

07.//Title of button


08.myExportComponent.componentAttributes.btnsavetitle = '另存为'


09.myExportComponent.componentAttributes.btndisabledtitle = '右键生成图片';

以上都是导出按钮的样式设置 不做解释

最关键的是以下这行代码:参数exproterDiv表示导出按钮将在哪个div里面显示,即:我们必须在页面加上一个div 且id=exproterDiv

1.myExportComponent.Render("exproterDiv");

当这一切都成功的设置后,您再尝试右键生成jpg图片之后,你可以在id为exproterDiv里面看到:

点击’另存为’将弹出保存框:

本站文章除注明转载外,均为本站原创或翻译

相关文章

第四章:产品设计(2.3)PRD写作 - 原型设计

2.3、原型设计(界面线框图)当我们逐渐清晰了产品的需求后,并梳理了产品的各个频道及页面,那么这一步就要开始验证这些想法的具体界面表现和方案的可行性了。原型设计是帮助我们更细致的思考,并做各项需求的评...

C++并发同步核心-mutex深度解析:守护共享数据的关键

在多线程编程中,当多个线程需要访问和修改共享数据时,如果没有任何同步机制,就可能发生数据竞争(Data Race),导致程序行为不可预测、数据损坏甚至崩溃。C++标准库通过<mutex>头...

btrace 3.0 重磅新增 iOS 支持!免插桩原理大揭秘!

重磅更新btrace 是由字节跳动抖音基础技术团队自主研发的面向移动端的性能数据采集工具,它能够高效的助力移动端应用采集性能 Trace 数据,深入剖析代码的运行状况,进而辅助优化提升移动端应用的性能...

C++11 同步机制:互斥锁和条件变量

前段时间,我研究了 ROS2(Jazzy)机器人开发系统,并将官网中比较重要的教程和概念,按照自己的学习顺序翻译成了中文,进行了整理和记录。到目前为止,已经整理了20多篇文章。如果你想回顾之前的内容,...

go语言并发原语RWMutex实现原理及闭坑指南

1.RWMutex常用方法Lock/UnlockRLock/RUnlockRLocker 为读操作返回一个Locker接 口的对象2. RWMutex使用方法 func main() { var c...

c++ 继承简介(c++继承的概念)

24.1 — 继承简介2024 年 6 月 5 日在上一章中,我们讨论了对象组合,即从更简单的类和类型构建复杂类。对象组合非常适合构建与其部分具有“has-a”关系的新对象。但是,对象组合只是 C++...