flex 打印 预览
2011年03月25日
最近研究了一下 flexReport 开源项目,发现存在一下几个问题:
1.打印时:启动很慢,同时可能出现很多空白页.
2.预览的效果不是很好,预览出来的report page 不清楚.
3.当数据量很大时,预览生成很慢.
4.对于多列超出纸张大小时,不能够拆分表格.
5.如果在body 中加入 图片,分页的效果就会失效.分页不正确.
总的来说,虽然存在很多问题,但是设计思想是值得肯定的.
目前在开发flex 打印预览 功能遇到的问题和解决问题如下。
针对以上出现的问题,解决办法如下:
1.由于flexReport 是以图片的方式预览,所以组件分页和生成图片的消耗内存,和处理时间很长,所以我做了以下方式处理,直接分页通过自定义组件呈现(report page :页眉,body,页脚),呈现预览时,如果是flex 3 版本 ,使用addChild(displayObject),
removeChild(displayObject),如果是flex 4 版本 ,使用addElement(displayObject),removeElement(displayObj ect),来动态呈现。
而不用把组件转成图片在呈现,节省了转换成图片的时间,因为转成一张A4 大小的图片,消耗的时间是76毫秒,如果数据量很大的情况下消耗的时间是非常长的。
2.对于加入图片不能分页的原因,做了一下啊处理,需要算出图片的高度,来计算是否能够呈现在同一张纸张大小的页面上,不行进行分页处理,这种是属于最简单的方法。同时也能处理分页失效的问题。
3.目前有一个问题是,缩略图的生成的时间还是比较长,对于大数据量来说是不可取的,这个有待思考的问题,提高性能。
回头把打印预览功能整理出来,给大家共享。
该组件有以下功能:
1.导出csv\pdf\excel 格式文件
2.预览 数据表,分页功能
3.放大,缩小功能
4.标题设置。
5.页脚内容对齐方式。
6.纸张大小,支持A3,A4,A5,B4,B5,
7.页边距的设置。支持宽的(2厘米),窄的(0.5厘米),适中(1厘米)
8.支持纸张方向(纵向、横向)预览。
9.打印范围设置。
10.有图形视图和表格视图的预览状态。
11.可以对表格和图形单独打印,也可以一起打印。
2011年03月25日
最近研究了一下 flexReport 开源项目,发现存在一下几个问题:
1.打印时:启动很慢,同时可能出现很多空白页.
2.预览的效果不是很好,预览出来的report page 不清楚.
3.当数据量很大时,预览生成很慢.
4.对于多列超出纸张大小时,不能够拆分表格.
5.如果在body 中加入 图片,分页的效果就会失效.分页不正确.
总的来说,虽然存在很多问题,但是设计思想是值得肯定的.
目前在开发flex 打印预览 功能遇到的问题和解决问题如下。
针对以上出现的问题,解决办法如下:
1.由于flexReport 是以图片的方式预览,所以组件分页和生成图片的消耗内存,和处理时间很长,所以我做了以下方式处理,直接分页通过自定义组件呈现(report page :页眉,body,页脚),呈现预览时,如果是flex 3 版本 ,使用addChild(displayObject),
removeChild(displayObject),如果是flex 4 版本 ,使用addElement(displayObject),removeElement(displayObj ect),来动态呈现。
而不用把组件转成图片在呈现,节省了转换成图片的时间,因为转成一张A4 大小的图片,消耗的时间是76毫秒,如果数据量很大的情况下消耗的时间是非常长的。
2.对于加入图片不能分页的原因,做了一下啊处理,需要算出图片的高度,来计算是否能够呈现在同一张纸张大小的页面上,不行进行分页处理,这种是属于最简单的方法。同时也能处理分页失效的问题。
3.目前有一个问题是,缩略图的生成的时间还是比较长,对于大数据量来说是不可取的,这个有待思考的问题,提高性能。
回头把打印预览功能整理出来,给大家共享。
该组件有以下功能:
1.导出csv\pdf\excel 格式文件
2.预览 数据表,分页功能
3.放大,缩小功能
4.标题设置。
5.页脚内容对齐方式。
6.纸张大小,支持A3,A4,A5,B4,B5,
7.页边距的设置。支持宽的(2厘米),窄的(0.5厘米),适中(1厘米)
8.支持纸张方向(纵向、横向)预览。
9.打印范围设置。
10.有图形视图和表格视图的预览状态。
11.可以对表格和图形单独打印,也可以一起打印。