CN110569488A - 一种基于xml标记语言的模块化模板word生成方法 - Google Patents

一种基于xml标记语言的模块化模板word生成方法 Download PDF

Info

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
Application number
CN201910802942.4A
Other languages
English (en)
Inventor
甘俊奇
林晨晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Weidun Science And Technology Group Co Ltd
Original Assignee
Fujian Weidun Science And Technology Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Weidun Science And Technology Group Co Ltd filed Critical Fujian Weidun Science And Technology Group Co Ltd
Priority to CN201910802942.4A priority Critical patent/CN110569488A/zh
Publication of CN110569488A publication Critical patent/CN110569488A/zh
Pending legal-status Critical Current

Links

Abstract

本发明属于信息处理技术领域,公开了一种基于XML标记语言的模块化模板WORD生成方法,将存在某种格式需要的WORD文件进行解压,获取其相关的文档节点XML文件,分析抽离出对应格式的节点内容,配置成可通用的模块化WORD文档片段模板,通过自定义选择模板组合从而形成一份具有特定格式的WORD最终文档文件。本发明通过模板化生成WORD文件来避免过于依赖第三方开发库以及基于第三方开发库生成的WORD文件格式不统一问题,实现模板生成轻量化、配置化、灵活化。

Description

一种基于XML标记语言的模块化模板WORD生成方法
技术领域
本发明属于信息处理技术领域,涉及一种基于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生成方法。
CN201910802942.4A 2019-08-28 2019-08-28 一种基于xml标记语言的模块化模板word生成方法 Pending CN110569488A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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描述的复杂文档自动生成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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