[发明专利]打印报表生成方法、装置、设备及存储介质在审
申请号: | 202210134374.7 | 申请日: | 2022-02-14 |
公开(公告)号: | CN114490776A | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 高福东 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/23;G06F16/174;G06F40/186;G06F40/174;G06F40/183 |
代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
地址: | 518000 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 打印 报表 生成 方法 装置 设备 存储 介质 | ||
本发明涉及人工智能技术,揭露了一种打印报表生成方法,包括:接收打印请求参数,其中打印请求参数包含打印报表数据及预设的打印模板名称;将打印报表数据加载到预设的缓存中;根据打印模板名称加载打印模板,将打印模板存入缓存中,将打印报表数据、静态图片名及字体文件名填充到打印模板中,得到初始打印模板;获取对应的静态压缩图片及字体压缩对象,并利用静态压缩图片及字体压缩对象更新初始打印报表,得到打印报表。此外,本发明还涉及区块链技术,打印模板可存储于区块链的节点。本发明还提出一种打印报表生成装置、电子设备以及存储介质。本发明可以提高打印报表生成效率。
技术领域
本发明涉及人工智能技术领域,尤其涉及一种打印报表生成方法、装置、电子设备及计算机可读存储介质。
背景技术
报表通常使用表格来展示动态数据,是数据的最直观表达,各行各业均使用报表记录数据,不同行业不同部门对于报表需要展示的维度不同,例如生产行业需要生产报表、财务人员需要财务报表、市场人员需要市场营销报表、业务人员需要行业数据表。
当前基于开源框架JasperReport的打印报表生成方法存在如下问题:1、图片和模板文件等静态资源频繁加载,消耗了大量CPU;2、相同的字体和图片重复压缩,消耗了大量CPU;3、数据文件xml解析采用DOM方式,消耗了大量内存;4、线程池(ThreadPoolExecutor)中引用大对象,导致存放方法名(finalizer)对象的队列,占用了大量内存。
综上所述,当前打印报表生成的效率有待提升。
发明内容
本发明提供一种打印报表生成方法、装置及计算机可读存储介质,其主要目的在于解决打印报表生成效率低的问题。
为实现上述目的,本发明提供的一种打印报表生成方法,包括:
接收打印请求参数,其中所述打印请求参数包含打印报表数据及预设的打印模板名称;
读取所述打印报表数据,并将所述打印报表数据存到预设的缓存中;
设置打印相关参数;
根据所述打印模板名称加载打印模板,将所述打印模板存入所述缓存,根据所述打印相关参数及所述打印模板获取字体文件名及静态图片名,基于Java报表引擎将所述打印报表数据、所述静态图片名及所述字体文件名填充到所述打印模板中,得到初始打印报表;
基于所述静态图片名及所述字体文件名,从所述缓存中获取对应的静态压缩图片及字体压缩对象,并根据所述静态压缩图片及所述字体压缩对象更新所述初始打印报表,得到打印报表。
可选地,所述根据所述打印模板名称加载打印模板,包括:
基于所述打印模板名称,查询预设的缓存中是否存在对应的打印模板;
当所述缓存中不存在对应的打印模板时,基于所述打印模板名称从预设的服务器获取打印模板,并将所述打印模板存入所述缓存中;
当所述缓存中存在对应的打印模板时,从所述缓存中获取所述打印模板。
可选地,所述基于所述打印模板名称,查询预设的缓存中是否存在对应的打印模板,包括:
读取Java报表引擎的工具jar包中的映射文件,其中所述映射文件包含所述打印模板名称及模板路径;
根据所述打印模板名称及所述模板路径,查询所述缓存中是否存在对应的打印模板对象。
可选地,所述基于Java报表引擎将所述打印报表数据、所述静态图片名及所述字体文件名填充到所述打印模板中,得到初始打印报表,包括:
解析所述打印报表数据,得到填充打印对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210134374.7/2.html,转载请声明来源钻瓜专利网。