[发明专利]一种基于freemarker生成docx格式文档的方法及系统在审
申请号: | 202110697779.7 | 申请日: | 2021-06-23 |
公开(公告)号: | CN113378535A | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 汤先伟;张华 | 申请(专利权)人: | 浪潮软件科技有限公司 |
主分类号: | G06F40/186 | 分类号: | G06F40/186;G06F40/149;G06F16/174;G06F16/83;G06F16/838 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250100 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 freemarker 生成 docx 格式 文档 方法 系统 | ||
本发明公开了一种基于freemarker生成docx格式文档的方法及系统,属于文档生成实现技术领域。本发明的基于freemarker生成docx格式文档的方法,按照docx中文档内容编写ftl模板文件,生成文档时从数据库中查询相关内容,使用freemaker生成xml文件,同时生成文档图片,将相关内容压缩生成docx文档。该发明的基于freemarker生成docx格式文档的方法只需要修改ftl模板文件就可以实现对docx文档格式快速调整,具有很好的推广应用价值。
技术领域
本发明涉及文档生成实现技术领域,具体提供一种基于freemarker生成docx格式文档的方法及系统。
背景技术
在某些业务场景中,需要按照固定的格式结合实际的生产数据生成报告文档,一般的实现方式是基于文本变量替换的方式,在生成文件时需要遍历文本进行替换,然后再使用poi生成文档,后期修改需要重新打包编译,不便于维护,且对于文档中的图片生成没有很好的实现方式。FreeMarker是一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的模板引擎。模板编写为FreeMarker TemplateLanguage(FTL)。它是简单的、专用的语言,不是像PHP那样成熟的编程语言。在模板中,可以专注于如何展现数据,而在模板之外可以专注于要展示什么数据。为了更灵活的实现docx文档的生成,便于后期维护,以及实现文档中展示图片的功能,有待进一步的改进。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种只需要修改ftl模板文件就可以实现对docx文档格式快速调整的基于freemarker生成docx格式文档的方法。
本发明进一步的技术任务是提供一种基于freemarker生成docx格式文档的系统。
为实现上述目的,本发明提供了如下技术方案:
一种基于freemarker生成docx格式文档的方法,按照docx中文档内容编写ftl模板文件,生成文档时从数据库中查询相关内容,使用freemaker生成xml文件,同时生成文档图片,将相关内容压缩生成docx文档。
作为优选,该基于freemarker生成docx格式文档的方法包括以下步骤:
S1、制作模板:获取文档xml内容,整理document.xml文件,编写ftl模板文件;
S2、生成xml文件:查询数据,解压docx模板,生成xml;
S3、生成图片:查询数据,前端渲染,后端生成;
S4、生成文档:压缩文件。
作为优选,获取文档xml内容时,通过压缩工具解压docx文件,获取docx文件中的document.xml文件,及需要生成的图片的名称。
整理document.xml文件:由于document.xml是使用xml语言描述了docx文件的内容及格式,存在语句断开的情况,需要进行整理,使内容连贯。
作为优选,编写ftl模板文件时,将document.xml文件中需动态生成的内容使用freemarker语法替换为变量,需判断的语句使用freemarker语法进行判断。
作为优选,生成xml文件的查询数据为从数据库中查询需展示在文档中的数据,数据类型为Map或Json。
解压docx模板:docx模板文件的主要作用是解压后,作为生成新的文档的基础文件,提供除document.xml及图片之外的其他的文件,包括styles.xml、settings.xml等文件。生成xml:通过指定的ftl模板将查询到的数据传入ftl模板,freemarker通过文件输出生成xml文件,生成的document.xml文件位置位于word目录下。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件科技有限公司,未经浪潮软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110697779.7/2.html,转载请声明来源钻瓜专利网。