CN110569488A - 一种基于xml标记语言的模块化模板word生成方法 - Google Patents
一种基于xml标记语言的模块化模板word生成方法 Download PDFInfo
- Publication number
- CN110569488A CN110569488A CN201910802942.4A CN201910802942A CN110569488A CN 110569488 A CN110569488 A CN 110569488A CN 201910802942 A CN201910802942 A CN 201910802942A CN 110569488 A CN110569488 A CN 110569488A
- Authority
- CN
- China
- Prior art keywords
- word
- xml
- template
- file
- markup language
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明属于信息处理技术领域,公开了一种基于XML标记语言的模块化模板WORD生成方法,将存在某种格式需要的WORD文件进行解压,获取其相关的文档节点XML文件,分析抽离出对应格式的节点内容,配置成可通用的模块化WORD文档片段模板,通过自定义选择模板组合从而形成一份具有特定格式的WORD最终文档文件。本发明通过模板化生成WORD文件来避免过于依赖第三方开发库以及基于第三方开发库生成的WORD文件格式不统一问题,实现模板生成轻量化、配置化、灵活化。
Description
技术领域
本发明属于信息处理技术领域,涉及一种基于XML标记语言的模块化模板 WORD生成方法,可用于任意操作系统环境。
背景技术
目前,最接近的现有技术:
当前业内提供了多种多样的WORD文档生成方式,例如:PageOffice、Apache POI等。
随着信息化的发展,现很多业务系统上都存在一定格式的WORD模板输出 的需求,并且也不是简单的WORD内容输出,而是需要按照一定标准格式进行 生成WORD文档,才适用于特定环境下。例如:政府行业的公文、文书;企业 行业的业务流程审批表单等。
综上所述,现有技术存在的问题是:
(1)过于依赖第三方中间件,或采用的中间件过于依赖OFFICE套件(必 须在装有OFFICE套件的服务器上才能生成相关WORD文档)。
(2)生成出来的文档与期望的WORD文档格式存在一定的差距。
(3)不能自由灵活的针对各种需求进行组合自己想要定制化生成的WORD 文档。
解决上述技术问题的难度:
需要能考虑到以一种简单、高效、不过于依赖第三方中间件且比较灵活的 生成各种自定义WORD文档。
解决上述技术问题的意义:
通过标准化相关WORD文档常用格式为具体WORD模板片段,从而能自 主自定义要生成相关WORD文档的格式,且有不过于依赖相关(部署)环境, 从而减少研发成本的投入又能满足生成出来的WORD文档格式符合期望目标。
发明内容
针对现有技术存在的问题,本发明提供了一种基于XML标记语言的模块化 模板WORD生成方法。
本发明是这样实现的,一种基于XML标记语言的模块化模板WORD生成 方法,具体包括以下几个步骤:
步骤1、模板文件解压:根据业务需求对带有某种格式的WORD模板(docx 文件)进行解压;
步骤2、模板文件分析:在解压后的word文件夹中提取出业务关注的WORD XML节点片段;
步骤3、模板片段定义:针对提出出来的模板片段进行定义及保存到相关数 据库;
步骤4、模板片段组合:根据业务需求对相关的模板片段进行自定义组合;
步骤5、最终文件生成:对组合后的模板文件进行最终的压缩生成。
进一步,所述的步骤1中解压的文件必须基于docx格式的WORD文件。
进一步,所述的步骤3中的模板片段定义,必须基于XML标记语言为结构, 其它动态模板实现语言(JAVA、PHP、ASP.NET、GO、PYTHON等)为逻辑 处理核心。本方案采用JAVA国内开源模板引擎ENJOY,进行动态数据的回填 及符合WORD规范的XML格式节点生成。
进一步,所述的步骤4中的模板片段组合,可进行自定义选择要生成的 WORD文档格式方案。
进一步,所述的步骤5中的最终文件生成,有别于传统基于WORD或第三 方WORD中间件的方法进行生成文档(传统依赖WORD或第三方WORD中间 件的方法,在很大程度上需要把相关生成文档的功能部署在WINDOWS操作系 统上且服务器上安装有OFFICE套件的情况下才能使用;以及生成出来的文档 格式与实际想要的格式相对比,有存在一定的误差),而是采用压缩的方法, 通过对渲染后的WORD模板文件进行打包压缩成DOCX格式文件,从而达到文 档生成的目的。
本发明另一目的在于提供一种实施所述基于XML标记语言的模块化模板 WORD生成方法的基于XML标记语言的模块化模板WORD生成系统。
本发明另一目的在于提供一种计算机程序产品,所述计算机程序产品运行 于计算机,运行时执行所述基于XML标记语言的模块化模板WORD生成方法。
本发明另一目的在于提供一种实现所述基于XML标记语言的模块化模板 WORD生成方法的信息数据处理终端。
本发明另一目的在于提供一种计算机可读存储介质,包括指令,当其在计 算机上运行时,使得计算机执行所述的基于XML标记语言的模块化模板WORD 生成方法。
综上所述,本发明的优点及积极效果为:
本发明通过模板化生成WORD文件来避免过于依赖第三方开发库(环境)以 及基于第三方开发库生成的WORD文件格式不统一问题,实现模板生成轻量化、 配置化、灵活化(自由组合生成相关文档)。
本发明通过针对word/document.xml、word/footer*.xml、word/header*.xml等文件中的内容进行了嵌套标记相关ENJOY模板引擎语法标记。最后进行模板渲 染生成具体要展示的内容,从而实现文件内容自定义替换的目的,达到最终期 望的效果。
附图说明
图1是本发明实施例提供的基于XML标记语言的模块化模板WORD生成 方法流程示意图。
图2是本发明实施例提供的基于XML标记语言的模块化模板WORD生成 方法原理图。
具体实施方法
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例, 对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以 解释本发明,并不用于限定本发明。
现有技术中,一般WORD文档生成需要依赖于OFFCIE套件或者第三方提 供的OFFICE办公组件,这首先在成本以及环境的依赖上就造成了一定的限制, 并且功过相关中间件生成出来的WORD文档格式与期望生成的WORD文档格 式相比,存在一定的差距,为了解决上述问题,下面对具体方案作详细说明。
图1是本发明实施例提供的基于XML标记语言的模块化模板WORD生成 方法具体包括以下步骤:
S101,模板文件解压:根据业务需求对带有某种格式的WORD模板(docx文 件)进行解压。
S102,模板文件分析:在解压后的word文件夹中提取出业务关注的WORD XML 节点片段。
S103,模板片段定义:针对提出出来的模板片段进行定义及保存到相关数 据库。
S104,模板片段组合:根据业务需求对相关的模板片段进行自定义组合。
S105、最终文件生成:对组合后的模板文件进行最终的压缩生成。
图2是本发明实施例提供的基于XML标记语言的模块化模板WORD生成 方法原理图。
在本发明实施例中,步骤S101中模板文件解压包括:
首先针对生成的文档文件格式必须为docx,也就是OFFICE2007以及之后 版本所创建的WORD文件。因为:docx是Microsoft OFFICE2007之后版本使用 的,用新的基于XML的压缩文件格式取代了其目前专有的默认文件格式,在传 统的文件名扩展名后面添加了字母“x”(即“.docx”取代“.doc”),并且docx 文件比doc文件所占用的磁盘空间更小。微软也推出了OFFICE兼容补丁包,通 过应用这兼容性补丁包,WinXP、Win7、Win8.x的用户可以打开、编辑、保存 WORD文件。docx格式的文件本质上是一个ZIP文件。将一个docx文件的后 缀改为ZIP后是可以用解压工具打开或是解压的。事实上,WORD2007(及之后 版本)的基本文件就是ZIP格式的,可以算作是docx文件的容器。将.docx格式 的文件后缀改为ZIP后解压,可以看到解压出来的文件夹中有word这样一个文 件夹,它包含了Word文档的大部分内容。而其中的document.xml文件则包含 了文档的主要文本内容。因此,我们需要把相关文档通过ZIP解压从而获得具 体的WORD内容文件。
步骤S102模板文件分析包括:
通过获得解压后的WORD文件(包含:document.xml、header*.xml、 footer*.xml等),对其内容进行分析,从中抽取出对应可作为通用文档格式模版 的节点内容。
步骤S103模板片段定义包括:
针对抽取出的节点内容进行命名及保存,对于部分需要替换,或者生成特 殊格式的地方用ENJOY模板指令进行标记,例如:内容替换、生成表格、文档 不选选中状态字符替换、区块文字样式切换等功能。具体指令可通过扩展ENJOY 模板的共享函数来实现。
步骤S104模板片段组合包括:
通过上诉步骤已实现一定的模板库的情况下,具体业务功能所需要生成的 模板,可通过自定义组合相关WORD模板片段的方式进行拼接成一份最终想要的 格式模板。
步骤S105最终文件生成包括:
由于是基于压缩方式进行生成docx文件,所以对WORD文档生成的操作系 统环境以及第三方中间件不存在什么依赖关系,从而实现与操作系统无关性, 达到任意环境可部署生成WORD文档的目的。
在本发明中,一份基础的WORD文档通过解压会获得以下内容(基于DOCX 格式):
通过针对word/document.xml、word/footer*.xml、word/header*.xml等文件中的内容进行嵌套标记相关ENJOY模板引擎语法标记后(如下):
最后进行模板渲染生成具体要展示的内容,从而实现文件内容自定义替换的 目的,达到最终期望的效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组 合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程 序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指 令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可 以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算 机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向 另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、 计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或 无线(例如红外、无线、微波等)方法向另一个网站站点、计算机、服务器或数据 中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用 介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。 所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、 或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
Claims (9)
1.一种基于XML标记语言的模块化模板WORD生成方法,其特征在于,所述基于XML标记语言的模块化模板WORD生成方法包括以下步骤:
步骤1、对带有某种格式的WORD模板进行解压;
步骤2、在解压后的word文件夹中提取出业务关注的WORD XML节点片段;
步骤3、对提出来的WORD XML节点片段进行定义及保存到相关数据库;
步骤4、对相关的WORD XML节点片段进行自定义组合;
步骤5、对组合后的WORD XML节点文件进行最终的压缩生成。
2.如权利要求1所述de基于XML标记语言的模块化模板WORD生成方法,其特征在于,所述的步骤1中解压的文件基于docx格式的WORD文件。
3.如权利要求1所述基于XML标记语言的模块化模板WORD生成方法,其特征在于,所述的步骤3中的WORD XML节点片段进行定义,基于XML标记语言为结构,利用动态模板实现语言进行动态数据的回填及符合WORD规范的XML格式节点生成。
4.如权利要求1所述基于XML标记语言的模块化模板WORD生成方法,其特征在于,所述的步骤4中的WORD XML节点片段组合中,进行自定义选择要生成的WORD文档格式方案。
5.如权利要求1所述基于XML标记语言的模块化模板WORD生成方法,其特征在于,所述的步骤5中的最终文件生成,采用压缩的方法,通过对渲染后的WORD模板文件进行打包压缩成DOCX格式文件,实现文档生成。
6.一种实施权利要求1所述基于XML标记语言的模块化模板WORD生成方法的基于XML标记语言的模块化模板WORD生成系统。
7.一种计算机程序产品,其特征在于,所述计算机程序产品运行于计算机,运行时执行权利要求1~5任意一项所述基于XML标记语言的模块化模板WORD生成方法。
8.一种实现权利要求1~5任意一项所述基于XML标记语言的模块化模板WORD生成方法的信息数据处理终端。
9.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-5任意一项所述的基于XML标记语言的模块化模板WORD生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910802942.4A CN110569488A (zh) | 2019-08-28 | 2019-08-28 | 一种基于xml标记语言的模块化模板word生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910802942.4A CN110569488A (zh) | 2019-08-28 | 2019-08-28 | 一种基于xml标记语言的模块化模板word生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110569488A true CN110569488A (zh) | 2019-12-13 |
Family
ID=68776597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910802942.4A Pending CN110569488A (zh) | 2019-08-28 | 2019-08-28 | 一种基于xml标记语言的模块化模板word生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569488A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111626016A (zh) * | 2020-05-14 | 2020-09-04 | 中国航空无线电电子研究所 | 一种将接口控制数据转换为可视化xml的程序 |
CN112765948A (zh) * | 2020-12-31 | 2021-05-07 | 山西三友和智慧信息技术股份有限公司 | 一种文档生成编辑方法 |
CN113128178A (zh) * | 2019-12-31 | 2021-07-16 | 安徽佰通教育科技发展有限公司 | 一种通过xml文档对office文件解析的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030101416A1 (en) * | 2001-11-26 | 2003-05-29 | Evolution Consulting Group Plc | Creating XML documents |
CN102103573A (zh) * | 2009-12-17 | 2011-06-22 | 北大方正集团有限公司 | 一种快速生成开放格式文档的方法及系统 |
CN104598635A (zh) * | 2015-02-06 | 2015-05-06 | 无锡江南计算技术研究所 | 一种基于xml描述的复杂文档自动生成方法 |
-
2019
- 2019-08-28 CN CN201910802942.4A patent/CN110569488A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030101416A1 (en) * | 2001-11-26 | 2003-05-29 | Evolution Consulting Group Plc | Creating XML documents |
CN102103573A (zh) * | 2009-12-17 | 2011-06-22 | 北大方正集团有限公司 | 一种快速生成开放格式文档的方法及系统 |
CN104598635A (zh) * | 2015-02-06 | 2015-05-06 | 无锡江南计算技术研究所 | 一种基于xml描述的复杂文档自动生成方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113128178A (zh) * | 2019-12-31 | 2021-07-16 | 安徽佰通教育科技发展有限公司 | 一种通过xml文档对office文件解析的方法 |
CN111626016A (zh) * | 2020-05-14 | 2020-09-04 | 中国航空无线电电子研究所 | 一种将接口控制数据转换为可视化xml的程序 |
CN111626016B (zh) * | 2020-05-14 | 2023-06-27 | 中国航空无线电电子研究所 | 一种将接口控制数据转换为可视化xml的方法 |
CN112765948A (zh) * | 2020-12-31 | 2021-05-07 | 山西三友和智慧信息技术股份有限公司 | 一种文档生成编辑方法 |
CN112765948B (zh) * | 2020-12-31 | 2024-01-19 | 山西三友和智慧信息技术股份有限公司 | 一种文档生成编辑方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106575166B (zh) | 手写输入字符的处理、数据拆分和合并及编解码处理方法 | |
US7930680B2 (en) | XML schema design for environment-specific types based on base types | |
KR101859775B1 (ko) | 컴퓨터 구현 사전 시스템 및 방법 | |
US10599772B2 (en) | Cognitive copy and paste | |
CN109933752B (zh) | 一种导出电子文档的方法和装置 | |
US20110115797A1 (en) | Dynamic Streaming of Font Subsets | |
US7721271B2 (en) | Language localization and intercepting data using translation tables | |
US20200110902A1 (en) | Adaptive redaction and data releasability systems using dynamic parameters and user defined rule sets | |
CN110569488A (zh) | 一种基于xml标记语言的模块化模板word生成方法 | |
IE20030061A1 (en) | Document transformation | |
US20190334975A1 (en) | System and Method to Standardize and Improve Implementation Efficiency of User Interface Content | |
CN113495730A (zh) | 资源包的生成及解析方法和装置 | |
US9298480B2 (en) | Programmatic editing of text files | |
CN104536769A (zh) | 一种国际化文档实现方法 | |
KR20180131009A (ko) | 대용량 애플리케이션 변환 장치 및 방법 | |
CN115841095A (zh) | 一种文档建立方法、系统、介质及设备 | |
CN111310434B (zh) | 文本生成方法和装置、电子设备和存储介质 | |
US8321426B2 (en) | Electronically linking and rating text fragments | |
US20210056118A1 (en) | Forwards and backwards compatibility for dynamically evolving information-based platforms | |
US20150324333A1 (en) | Systems and methods for automatically generating hyperlinks | |
JP2007249770A (ja) | 個人情報隠蔽サービスシステム | |
CN110705209A (zh) | 一种在线修改稿件的方法及其系统 | |
US20110107201A1 (en) | Representing complex document structure via simpler structure through isomorphism | |
US20070220019A1 (en) | Dynamic site definition | |
CN111279350B (zh) | 用于在服务管理应用接口中提供全球化特征的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191213 |