基于html模板的报表打印方法及系统的制作方法

文档序号:8257857阅读:1212来源:国知局
基于html模板的报表打印方法及系统的制作方法
【技术领域】
[0001] 本发明涉及计算机技术领域,尤其涉及一种基于HTML模板的报表打印方法及系 统。
【背景技术】
[0002] 无论在办公领域还是工厂生产等领域报表打印都是最为常见的日常工作。对于简 单的、静态的内容,MicrosoftWord,MicrosoftExcel都可用作报表的制作、打印工具;而 大数据动态内容的报表,如财务、物料等则使用专用组件或控件,基于数据库系统实现报表 的生成和打印。典型的控件主要有水晶报表、FastReport、FineReport、KDReports等,整 套系统相当庞大和专业。
[0003] 对于一些工厂产品,出厂前需在专用试验设备进行试验验证,记录试验数据,打印 试验报告;这需要控制软件可以测试记录并能动态打印试验报告,这些数据多是非结构性 的小量数据,并且由于产品型号、客户不同,打印内容与布局也有所不同,在程序开发时,通 过固定位置的布局打印,在打印布局更改时需重新编写程序,可维护性差,无法满足实际要 求。一般试验设备程序后端不使用数据库,数据量较小;除了报告显示打印功能外,试验设 备程序更主要的功能是设备的操作控制,程序中使用专用报表控件显得过于臃肿,专用控 件报表样式更改时,需要专用模板编辑软件,需重新学习和熟悉;而且模板文件多为专用格 式,不适合传播交流。

【发明内容】

[0004] 本发明的目的是提供一种基于HTML模板的报表打印方法及系统,可以实现基于 模板的动态打印功能,降低开发和后期维护成本。
[0005] 本发明的目的是通过以下技术方案实现的:
[0006] -种基于HTML模板的报表打印方法,该方法包括:
[0007] 根据报表的呈现要求创建HTML模版文件,该HTML模版文件中嵌入了模版语言,且 包含模版文件以及用于存储显示样式与配置信息的CSS文件;其中,依照模板语言规则将 报表中的动态内容部分以变量的形式称嵌入到模版文件中,形成所述模版文件;
[0008] 获取生成该报表所需的动态数据;
[0009] 采用映射字典实现动态数据与对应变量的替换,生成标准HTML文件;
[0010] 利用布局引擎对所述标准HTML文件进行渲染,生成对应的报表;
[0011] 根据CSS文件中的配置信息将该报表输出并打印。
[0012] 进一步的,该方法还包括:
[0013] 根据模版文件中的变量和获取到的动态数据建立一对一的映射字典。
[0014] 进一步的,所述采用映射字典实现动态数据与对应变量的替换,生成标准HTML文 件包括:
[0015] 根据模板语言规则,利用正则表达式处理HTML模板文件,处理结果以列表的形式 储存在内存中;然后根据映射字典,利用获得的动态数据填充替换相应的列表项中的变量, 并处理循环、逻辑流程,最终连接列表,在内存中形成标准HTML文件。
[0016] 进一步的,所述根据CSS文件中的配置信息将该报表输出并打印包括:
[0017] 根据配置信息中的页面打印信息将该报表输出至真实打印机进行打印,或者输出 至虚拟打印机打印成PDF文件。
[0018] -种基于HTML模板的报表打印系统,该系统包括:
[0019] HTML模版文件创建模块,用于根据报表的呈现要求创建HTML模版文件,该HTML 模版文件中嵌入了模版语言,且包含模版文件以及用于存储显示样式与配置信息的css文 件;其中,依照模板语言规则将报表中的动态内容部分以变量的形式称嵌入到模版文件中, 形成所述模版文件;
[0020] 动态数据获取模块,用于获取生成该报表所需的动态数据;
[0021] 标准HTML文件生成模块,用于采用映射字典实现动态数据与对应变量的替换,生 成标准HTML文件;
[0022] 报表生成模块,用于利用布局引擎对所述标准HTML文件进行渲染,生成对应的报 表;
[0023] 输出打印模块,用于根据CSS文件中的配置信息将该报表输出并打印。
[0024] 进一步的,该系统还包括:
[0025] 映射字典建立模块,用于根据模版文件中的变量和获取到的动态数据建立一对一 的映射字典。
[0026] 进一步的,所述采用映射字典实现动态数据与对应变量的替换,生成标准HTML文 件包括:
[0027] 根据模板语言规则,利用正则表达式处理HTML模板文件,处理结果以列表的形式 储存在内存中;然后根据映射字典,利用获得的动态数据填充替换相应的列表项中的变量, 并处理循环、逻辑流程,最终连接列表,在内存中形成标准HTML文件。
[0028] 进一步的,所述根据CSS文件中的配置信息将该报表输出并打印包括:
[0029] 根据配置信息中的页面打印信息将该报表输出至真实打印机进行打印,或者输出 至虚拟打印机打印成PDF文件。
[0030] 由上述本发明提供的技术方案可以看出,降低了程序开发中模板打印实现的难 度;避免了使用复杂的专用报表控件,优化程序结构,使开发专注于程序本身功能(如检 测、控制、存储记录等);降低了开发成本,缩短了开发周期;模板文件采用HTML+CSS,本质 上要求精确控制布局,对齐表格与文字,避免手动对齐,并且内容和样式分离,可以针对相 同内容形成不同的报表风格;模板文件为普通文本格式,可以采用通用文本编辑器创建修 改。
【附图说明】
[0031] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 附图。
[0032] 图1为本发明实施例一提供的一种基于HTML模板的报表打印方法的流程图;
[0033] 图2为本发明实施例一提供的一种HTML模板文件的不意图;
[0034] 图3为本发明实施例一提供的基于本方案获得的报表的示意图;
[0035] 图4为本发明实施例二提供的一种基于HTML模板的报表打印系统的示意图。
【具体实施方式】
[0036] 下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本发明的保护范围。
[0037] 实施例一
[0038] 图1为本发明实施例一提供的一种基于HTML模板的报表打印方法的流程图。如 图1所示,该方法主要包括如下步骤:
[0039] 步骤11、根据报表的呈现要求创建HTML模版文件,该HTML模版文件中嵌入了模版 语言,且包含模版文件以及用于存储显示样式与配置信息的CSS文件;其中,依照模板语言 规则将报表中的动态内容部分以变量的形式称嵌入到模版文件中,形成所述模版文件。
[0040] 具体来说,HTML是一种Web上通用的标记语言,以文本的形式储存结构化的内容。 为了便于后期维护,遵循内容与样式分离的原则,采用CSS样式表来控制报表的显示样式; 例如,颜色、字体、背景、位置等信息储存于CSS样式表中。HTML文件和CSS文件均为纯文本 格式文件,可直接采用通用文本编辑器或专用工具编辑,模板修改编辑非常方便。
[0041] Django是一种网站开发框架,利用其模板语言可实现HTML文件动态数据填充、替 换,本发明实施例使用了其模板语言的一个子集。模板语言内置于HTML模板文件中,在报 表生成渲染阶段模板语言部分被识别处理,被动态生成的内容代替,最终生成标准的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1