[发明专利]一种基于报表打印模板格式实现的报表打印控件无效
申请号: | 201210287302.2 | 申请日: | 2012-08-13 |
公开(公告)号: | CN102830947A | 公开(公告)日: | 2012-12-19 |
发明(设计)人: | 苏祖辉;陈军 | 申请(专利权)人: | 南京莱斯信息技术股份有限公司 |
主分类号: | G06F3/12 | 分类号: | G06F3/12 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 张弛 |
地址: | 210007 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 报表 打印 模板 格式 实现 控件 | ||
技术领域
本发明属于软件应用系统的设计与开发技术,提供一种报表打印的模板定义方法和基于该模板的控件实现,采用报表数据与显示格式分享的技术,使报表打印开发易于修改和维护。
背景技术
在当今的业务管理信息系统开发中,报表打印功能是一项重要的功能,一般来说,当开发打印程序时,软件开发者必须使用如C#等开发语言来创建打印程序,为打印功能创建专有的打印代码,并要为打印报表的排版、位置、线条和数据手动编写代码,由于各类工具创建的打印程序的底层语言是复杂的,所以软件开发者无法容易地在现在应用程序不修改的情况下对报表格式进行调整。在C/S的开发模式下,打印功能的开发不同的软件开发工具有不同的方法,基本上报表的数据与打印的格式都写在程序中,修改和维护时要调整原程序,发布时重新更新可执行文件或部件,在B/S架构的系统中,客户端浏览器的打印功能很有限,很难在浏览器中实现精确的业务表单套打,在服务器中实现PDF打印也要求客户端安装比较复杂的PDF软件。当前一些报表设计器主要采用分区设计,典型的分为header页眉区、detail明细区和footer页脚区,这种设计将报表格式划分为相对固定的区域,实现中国区的复杂报表就比较难,本发明将detail明细区的功能由记录集数据域来实现,header页眉区由显示页号属性来实现,footer页脚区由跟随对象来实现,使用报表的格式定义更自由,能更灵活地表达报表格式。
因此,需要一种新的技术方案以解决上述问题。
发明内容
针对上述现有技术所存在的问题和不足,本发明的目的是提供一种基于报表打印模板格式实现的报表打印控件,使报表打印开发易于修改和维护。
为实现上述目的,本发明基于报表打印模板格式实现的报表打印控件可采用如下技术方案:
一种基于报表打印模板格式实现的报表打印控件,用以实现报表模板格式与数据分离,由报表打印控件引擎将数据引入模板,并格式化出打印文件。
优选的,所述报表打印模板格式将报表格式设定为由纸张、字体、线条、矩形、图片、文本标签、单项数据域、表格数据域和记录集数据域组成。
优选的,该报表打印控件基于ActiveX控件技术实现,包括读取报表打印模板接口、报表数据设置接口和打印接口,读取报表打印模板接口方法名为loadTemp,报表数据设置接口方法名为putData,打印接口名为print。
优选的,提供一种报表格式对象中的linkObj属性,用于实现复杂布局的报表打印。
优选的,提供格式化引擎格式化出打印文件,所述格式化引擎,包括以下格式化步骤:
a、检测报表打印模板中是否有记录集数据域,或有多个记录集数据域;
b、如果步骤a中无记录集数据域,打印的总页数为模板中其它元素定义的最大页数,如果步骤a中有记录集,则进入步骤c;
c、取记录集数据域关联的报表数据,根据记录集数据域的分页属性计算该记录集数据域的页数;
d、报表打印的总页数为各记录集数据域中页数最大的。
本发明提供一种报表打印的模板定义和基于该模板的打印控件的实现方法,本发明描述的报表打印模板将报表的格式和报表的数据分离,采用MVC设计模式将报表抽象为模板格式定义(View)、报表数据(Model)和打印控件引擎(Controller)三部分,报表打印模板格式定义由本发明所提供的格式元素组成,设计精巧的模板格式元素能将报表模板格式灵活地描述,并很好地将报表模板格式与报表数据分离,报表模板格式一般用XML来描述,但不限于用XML,在符合本发明报表模板格式定义的规范下,可以用自定义格式的文本定义,不依赖于任何具体的开发语言,报表模板还可以独立于应用程序,单独存放并能复用。本发明所描述的打印控件引擎负责对报表模板定义进行格式化,并提供报表数据接口,打印软件可以使用本发明提供的打印控件数据接口提供报表的动态数据。
使用本发明提供的报表打印模板与打印控件,将大大简化各种应用程序打印功能的开发,软件开发人员也能在不修改应用程序代码的基础上对报表格式进行调整。
附图说明
图1为本发明基于报表打印模板格式实现的报表打印控件的总体结构图
图2为本发明基于报表打印模板格式实现的报表打印控件中格式化引擎描述图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京莱斯信息技术股份有限公司,未经南京莱斯信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210287302.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:单相并联型有源滤波器自适应控制方法
- 下一篇:全自动电脑袜机生克罩