CN108763171A - 一种基于格式模板的文档自动化生成方法 - Google Patents
一种基于格式模板的文档自动化生成方法 Download PDFInfo
- Publication number
- CN108763171A CN108763171A CN201810361418.3A CN201810361418A CN108763171A CN 108763171 A CN108763171 A CN 108763171A CN 201810361418 A CN201810361418 A CN 201810361418A CN 108763171 A CN108763171 A CN 108763171A
- Authority
- CN
- China
- Prior art keywords
- judged
- label
- transferred
- document
- text
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
Abstract
本发明公开了一种基于格式模板的文档自动化生成方法,包括如下步骤:创建dot格式模板文档,并对其中需要用户自定的内容进行插入点标记,对所述标记的dot格式模板文档进行组织以形成XML标签集合并构造XML结构树,遍历所述XML结构树的各个标记节点构建含有标签属性的标签数组;根据所述标签数组以及各标签的属性,形成用户输入界面,供用户输入待插入的内容,将已完成的插入内容以节点值的形式存储到所述XML结构树中,再次遍历所述XML结构树,在所述dot格式模板文档中查找并插入标签值形成新的文档模板。本发明的文档自动化生成方法,使得一份程序代码配套不同的模板格式描述文件,可以批量生成基于任意模板的文档文件,从而提高文档生成的灵活性和可靠性。
Description
技术领域
本发明属于文档生成技术领域,更具体地,涉及一种基于格式模板的文档自动化生成方法。
背景技术
文档是指基于微软Office套件的后缀名为doc或docx的电子文档,文档模板一般是指后缀名为dot格式的文件,常使用COM(cluster communication port)接口技术,即串行接口技术操作dot文档。电子文档是现代社会生活以及各行各业中必不可少的沟通、交流和协作的一种载体形式。借助于诸多的文字处理工具,电子文档和传统纸质文档相比,具有易制作、易修改、易复制、易保存的优点。
随着电子文档的流行,很多行业逐渐形成标准化、格式化的文档模板,如格式合同、流转公文、商业信件等。此外,除标准模板外,许多企业也根据自身科研、生产实际,对相关的过程、活动制定相关的过程模板。如软件工程领域的需求规格说明、设计说明书、测试计划、测试报告等。使用模板能够显著提高文档的生成效率,使用户从繁重的文档编辑修改工作中解放出来。同时,使用模板能够提高文档的格式规范性,便于信息系统抓取文档中的关键数据,提高文档的结构化程度,从而便于文档的索引和搜索。
当前的文档自动化生成方法大都基于特定的文档模板进行定制,使用专门的代码实现特定文档的生成,当文档模板修改或者需要增加新的文档生成时,往往需要重新编制代码或程序,灵活性非常差。文档模板和生成代码紧密耦合,不利于代码的管理,可维护性、可测试性比较差。此外,现有的文档自动化生成模板,大多仅支持文字段落的插入,对文档中的表格、日期时间、以及特定内容选取方面支持较差,用户体验较差。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于格式模板的文档自动化生成方法,通过创建dot格式文档模板并对其中需要用户自定的内容进行插入点标记,通过可扩展标记语言XML对模板中插入点标记进行统一组织和管理,并通过遍历方法遍历XML结构树的各个标记节点构建含有标签属性的标签数组,根据所述标签数组以及各标签的属性,形成用户输入界面,供用户输入待插入的内容,在所述dot格式模板文档中查找并插入标签值,形成新的文档模板,使得一份程序代码配套不同的模板格式描述文件,可以批量生成基于任意模板的文档文件。从而提高文档生成的灵活性和可靠性,增加了模板文档的通用性和灵活性,解决了当文档模板修改或者需要增加新的文档生成时往往需要重新编制代码或程序,灵活性非常差等问题。
为实现上述目的,本发明提供了一种基于格式模板的文档自动化生成方法,包括如下步骤:
S1:创建dot格式模板文档,并对其中需要用户自定的内容进行插入点标记;
S2:对步骤S1中所述标记的dot格式模板文档进行组织以形成XML标签集合,并构造XML结构树;
S3:遍历所述XML结构树的各个标记节点,构建含有标签属性的标签数组;
S4:根据所述标签数组以及各标签的属性,形成用户输入界面,供用户输入待插入的内容;
S5:将已完成的插入内容以节点值的形式存储到所述XML结构树中;
S6:再次遍历所述XML结构树,在所述dot格式模板文档中查找并插入标签值,形成新的文档模板。
进一步地,步骤S2中每个标记具有如下属性结构:<label id=”xx”name=”xx”inputtype=”xx”bookmark=”xx”tip=”xx”refer=”xx”…></label>;其中,
所述id标签属性为标签的唯一标识,所述name标签属性为标签的助记名称,所述inputtype标签属性为待插入的用户自定义内容的类型,所述bookmark标签类型为文档模板中自定义的插入点标记名,所述tip标签属性为用户输入文档内容时的提示,所述refer标签属性为引用已有的标签。
进一步地,所述inputtype标签属性共划分如下7种类型:
a)单行文本:在插入点后插入若干数量的文本;
b)段落文本:在插入点后插入整段文本;
c)单选文本:在插入点后插入若干数量的文本内容,所述文本内容从预定义的文本块中选取一个;
d)多选文本:在插入点后插入若干数量的文本内容,所述文本内容从预定义的文本块中选取若干个;
e)日期:在插入点后插入当前日期或指定日期;
f)行式表格:在插入点后插入自定义表格,表头位于第一行;
g)列式表格:在插入点后插入自定义表格,表头位于第一列。
进一步地,对于行式表格和列式表格,步骤S2中每个标记还包括tabletitle和gridcoltitle、gridrowtitle标签。
进一步地,所述步骤S3遍历具体包括如下步骤:
S31:检查dot模板中所述插入点标记,判断是否为新章节,若判断为是则插入node节点并转入步骤S32,若判断为否则直接转入步骤S32;
S32:判断是否为静态文本,若判断为是则插入text节点并转入步骤S33,若判断为否则直接转入步骤S33;
S33:判断是否为段落文本,若判断为是则插入multitext节点并转入步骤S34,若判断为否则直接转入步骤S34;
S34:判断是否为多选文本,若判断为是则插入multiselect节点并转入步骤S35,若判断为否则直接转入步骤S35;
S35:判断是否为单选文本,若判断为是则插入combo节点并转入步骤S36,若判断为否则直接转入步骤S36;
S36:判断是否为日期,若判断为是则插入date节点并转入步骤S37,若判断为否则直接转入步骤S37;
S37:判断是否为行式表格,若判断为是则插入table节点并转入步骤S38,若判断为否则直接转入步骤S38;
S38:判断是否为列式表格;若判断为是则插入grid节点并转入步骤S39,若判断为否则直接转入步骤S39;
S39:判断是否已检查完所有文档部件;若判断为是则结束遍历,若判断为否则返回检查dot模板插入点标记。
进一步地,所述步骤S6中遍历具体包括如下步骤:
S61:判断是否为node节点,若判断为是则创建新段落并转入步骤S62,若判断为否则直接转入步骤S62;
S62:判断是否为next节点,若判断为是则在dot模板中查找标记,插入文本并转入步骤S63,若判断为否则直接转入步骤S63;
S63:判断是否为multitext节点,若判断为是则在模板中查找标记,创建新段落,插入段落文本并转入步骤S64,若判断为否直接转入步骤S64;
S64:判断是否为multiselect节点,若判断为是则载入数据字典,弹出多选对话框,生成文本并格式化,在模板标记处插入文本并转入步骤S65,若判断为否则直接转入步骤S65;
S65:判断是否为combo节点,若判断为是则载入数据字典,弹出下拉列表,生成文本,在模板标记处插入文本并转入步骤S66,若判断为否则直接转入步骤S66;
S66:判断是否为date节点,若判断为是则创建日期控件,在模板标记处插入日期并转入步骤S67,若判断为否则直接转入步骤S67;
S67:判断是否为table节点,若判断为是则根据节点属性,生成行式表格,在用户填写完后模板标记处插入表格并转入步骤S68,若判断为否则直接转入步骤S68;
S68:判断是否为grid节点,若判断为是则根据节点属性,生成列式表格,用户填写完后模板标记处插入表格并转入步骤S69,若判断为否则直接转入步骤S69;
S69:判断是否遍历结束,若判断为是则结束遍历,若判断为否则跳转至是否为node节点判断,直至所有节点都被遍历。
进一步地,所述S1步骤中dot模板首先要识别文档的静态内容和动态内容,在动态内容起始处插入点标记并进入循环直至所有用户需求的动态内容起始处都插有点标记。
进一步地,所述的步骤S1中所插标记应在文档模板中全局唯一。
进一步地,所述的步骤S6中在文档模板中查找并插入标签值的根据是bookmark属性。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
(1)本发明的基于格式模板的文档自动化生成方法,通过创建dot格式文档模板并对其中需要用户自定的内容进行插入点标记,通过可扩展标记语言XML对模板中插入点标记进行统一组织和管理,并通过遍历方法遍历XML结构树的各个标记节点构建含有标签属性的标签数组,根据所述标签数组以及各标签的属性,形成用户输入界面,供用户输入待插入的内容,在所述dot格式模板文档中查找并插入标签值,形成新的文档模板,使得一份程序代码配套不同的模板格式描述文件,可以批量生成基于任意模板的文档文件。从而提高文档生成的灵活性和可靠性,增加了模板文档的通用性和灵活性,解决了当文档模板修改或者需要增加新的文档生成时往往需要重新编制代码或程序,灵活性非常差等问题。
(2)本发明的基于格式模板的文档自动化生成方法,在原本纯文本内容的基础上,通过增加id标签、name标签、inputtype标签、bookmark标签、tip标签以及refer标签等属性、约定格式的形式,实现了文档模板与文档生成代码的解耦,扩展出多种结构化的文档部件,提高文档自动化生成内容的丰富性。提高了批量文档生成的效率,提高了代码的重用性能。
(3)本发明的基于格式模板的文档自动化生成方法,对于行式表格和列式表格,每个标记还包括tabletitle和gridcoltitle、gridrowtitle标签属性,同时提供了表格、日期、选项文本等文档部件的生成接口,进一步提高了生成文档内容的丰富程度。
(4)本发明的基于格式模板的文档自动化生成方法,inputtype标签属性共划分如单行文本、段落文本、单选文本、多选文本、日期、行式表格、列式表格等多种标签属性形式,能够满足大部分文档格式需求,进一步提高了生成文档内容的丰富程度。
附图说明
图1为本发明实施例一种基于格式模板的文档自动化生成方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1为本发明实施例一种基于格式模板的文档自动化生成方法的流程图。如图1所示,本发明基于Office软件的dot模板和COM技术。文档自动化生成的基本原理是在dot模板创建插入点,再通过程序查找标记的插入点,在插入点写入待插入的文本。本发明在此基础上,通过可扩展标记语言XML对模板中插入点标记进行统一组织和管理,并对插入点标记按照常用文档部件类型进行分类管理,在原本纯文本内容的基础上,通过增加属性、约定格式的形式,扩展出多种结构化的文档部件,提高文档自动化生成内容的丰富性。本发明的文档自动化生成方法,包括如下步骤:
(1)创建文档模板,生成dot格式的文件,并对其中需要用户自定的内容进行插入点标记,标记名必须在文档模板内全局唯一。具体包括如下步骤:
1.创建dot模板
文档自动化生成从创建dot模板开始,dot模板描述文档的组织结构、排版样式以及部分静态内容,dot模板首选需要识别文档的静态内容和动态内容,在动态内容起始处创建插入点,每个插入点唯一标识a,模板可用如下集合T描述:
T={an|0≤n≤N,N为模板中的标记总数}
2.创建模板描述文件
根据T,对an进行分类,形成标签集合L:
L={lm|0≤m≤M,M为标签总数,M≥N}
an到lm的映射分类函数定义如下:
每个标签lm具有如下的通用结构:
<label id=”xx”name=”xx”inputtype=”xx”bookmark=”xx”tip=”xx”refer=”xx”…></label>。
(2)根据文档模板的段落结构,对标记名按照XML标准,进行组织,形成XML标签集合,构造XML结构树。
每个标记的标签具有如下的属性结构:
<label id=”xx”name=”xx”inputtype=”xx”bookmark=”xx”tip=”xx”refer=”xx”…></label>
id:标签的唯一标识,当本标签的内容在文档中需要多次出现时,常设置此属性,用于refer属性的引用,从而避免重复定义相同填入内容的标签。
name:标签的助记名称,和插入的具体内容有关。
inputtype:待插入的用户自定义内容的类型,共划分如下7种类型:
a)单行文本:在插入点后插入若干数量的文本,不破坏文档已有的段落结构。
b)段落文本:在插入点后插入整段文本,文本独立成段落。
c)单选文本:在插入点后插入若干数量的文本,文本内容从预定义的文本块中选取一个。
d)多选文本:在插入点后插入若干数量的文本,文本内容从预定义的文本块中选取若干个。
e)日期:在插入点后插入当前日期或指定日期。
f)行式表格:在插入点后插入自定义表格,表头位于第一行。
g)列式表格:在插入点后插入自定义表格,表头位于第一列。
bookmark:文档模板中定义的插入点标记名。
tip:用户输入文档内容时的提示或者约束。
refer:用于引用已有的标签,说明此插入点的插入内容与被引用的标签插入内容相同。
此外,对于行式表格和列式表格,还有tabletitle和gridcoltitle、gridrowtitle标签。
(3)使用前序遍历方法,遍历整个XML结构树的各个标记节点,构建含有标签属性的一维数组;根据lm分类的不同,增加或删减部分标签属性,具体包括如下步骤:
首先检查dot模板中所述插入点标记,判断是否为新章节,若判断为是则插入node节点,进入是否为静态文本的判断,若判断为否则直接进入是否为静态文本的判断;若所述静态文本的判断为是则插入text节点,进入是否为段落文本的判断,若判断为否则直接进入是否为段落文本的判断;若所述段落文本判断为是则插入multitext节点,进入是否为多选文本的判断,若判断为否则直接进入是否为多选文本的判断;若所述多选文本判断为是则插入multiselect节点,进入是否为单选文本的判断,若判断为否则直接进入是否为单选文本的判断;若所述是否为单选文本的判断为是则插入combo节点,进入是否为日期的判断,若判断为否则直接进入是否为日期的判断;若所述是否为日期的判断为是则插入date节点,进入是否为行式表格的判断,若判断为否则直接进入是否为行式表格的判断;若是否为行式表格的判断为是则插入table节点,进入是否为列式表格的判断,若判断为否则直接进入是否为列式表格的判断;若是否为列式表格的判断为是则插入grid节点,进入是否已检查完所有文档部件的判断,若判断为否则直接进入是否已检查完所有文档部件的判断;若所述是否已检查完所有文档部件的判断为是则进入结束遍历,若判断为否则返回检查dot模板插入点标记。
其中node的标签样式:<node name="xxx"></node>,可嵌套。name为文档段落标题,主要用于说明文档结构;
text的标签样式:<label id="xx"name="xx"inputtype="text"bookmark=""refer="xx"tip="xx"/>,不可嵌套。id为标签的全局标识,当模板中多处引用本标签的内容时,被引用标签需定义id属性,引用标签使用refer属性指向被引用标签的id;name为标签的解释性名称;tip为文字性提示;
multitext的标签样式:<label id="xx"name="xx"inputtype="multitext"bookmark="xx"refer="xx"tip="xx"/>,不可嵌套,相关属性说明同text标签;
multiselect的标签样式:<label name="xx"inputtype="multiselect"bookmark="xx"tabletitle="t1@t2@...@tn"/>,不可嵌套。相同属性说明同已列出的标签属性。增加了tabletitle属性,该属性描述多选项内容的组成,组成元素使用t1,t2…tn标识,n最大值为5,相邻两个组成元素使用@符号进行分隔;
combo的标签样式:
<label name="xx"inputtype="combo"bookmark="xxx"helpsrc="xx"/>,不可嵌套。相同属性说明同已列出的标签属性。对于复杂的文档部件,使用tip标签无法说明或解释待填入内容时,可以使用helpsrc标签通过帮助文件或说明图片的形式做进一步说明,如流程图、框图等;
date标签样式:<label name="xx"inputtype="date"bookmark="xx"/>,不可嵌套。相同属性说明同已列出的标签属性;
table的标签样式:<label name="xx"inputtype="table"bookmark="xx"tip="xx"tabletitle="t1@t2@...@tn"/>,不可嵌套。相同属性说明同已列出的标签属性。tabletitle表示新增行式表格的表头行,t1,t2…tn依次为表头的各个字段,中间用@符号分隔;
grid标签样式:<label name="xx"inputtype="grid"bookmark="xx"gridcoltitle="c1@c2@...@cn"gridrowtitle="r1@r2@...@rn"/>,不可嵌套。相同属性说明同已列出的标签属性。gridcoltitle表示新增列式表格的表头行,c1,c2…cn依次为表头的各个字段,中间用@符号分隔;gridrowtitle表示新增列式表格的表头列,r1,r2…rn依次为表头的各个字段,中间用@符号分隔。
(4)根据标签数组以及各标签的属性(name、inputtype、tip等属性),形成用户输入界面,供用户输入待插入的内容;
(5)将已完成的插入内容以节点值的形式,存储到XML结构树中;
(6)再次前序遍历XML结构树,根据标签的bookmark,在文档模板中查找并插入标签值,形成新的文档,具体包括如下步骤:
判断是否为node节点,若判断为是则创建新段落,进入是否为next节点判断,若判断为否则进入是否为text节点判断;若所述是否为next节点判断为是则在dot模板中查找标记,插入文本,并进入是否为multitext节点判断,若判断为否则直接进入是否为multitext节点判断;若所述是否为multitext节点判断为是则在模板中查找标记,创建新段落,插入段落文本,并进入是否为multiselect节点判断,若判断为否直接进是入否为multiselect节点判断;若所述是否为multiselect节点判断为是则载入数据字典,弹出多选对话框,生成文本并格式化,在模板标记处插入文本,并进入是否为date节点的判断,若判断为否则直接进入是否为combo节点的判断;若所述是否为combo节点的判断为是则载入数据字典,弹出下拉列表,生成文本,在模板标记处插入文本,并进入是否为date节点的判断,若判断为否则直接进入是否为date节点的判断;若所述是否为date节点的判断为是则创建日期控件,在模板标记处插入日期,并进入是否为table节点的判断,若判断为否则直接进入是否为tabel节点的判断;若所述是否为table节点的判断为是则根据节点属性,生成行式表格,在用户填写完后模板标记处插入表格,并进入是否为grid节点判断,若判断为否则直接进入是否为grid节点判断;若所述是否为grid节点判断为是则根据节点属性,生成列式表格,用户填写完后模板标记处插入表格,并进入是否遍历结束判断,若判断为否则直接进入是否遍历结束判断;若是否遍历结束判断为是则结束遍历,若判断为否则跳转至是否为node节点判断,直至所有节点都被遍历。
其中标签为node节点,生成段落Paragraph部件;
标签为text节点,读取待插入单行文本,生成文本部件,在bookmark属性处插入该部件;
标签为multitext节点,读取待插入多行段落文本,生成文本部件,在bookmark属性处新建段落,然后插入该部件;
标签为multiselect节点,根据标签name属性,查找并生成属性表(属性对话框),供用户选择。用户选定后,生成文本部件,在bookmark属性处新建段落,然后插入该部件;
标签为combo节点,根据标签name属性,查找并生成下拉列表(单选对话框),供用户选择。用户选定后,生成文本部件,在bookmark属性处新建段落,然后插入该部件;
标签为date节点,根据标签name属性,生成日期选择框,供用户选择。用户选定后,生成文本部件,在bookmark属性处插入该部件;
标签为table节点,根据标签tabletitle属性,生成表格及表头,用户新增若干行后,形成完整表格内容。若tabletitle属性的部分字段tn和其他标签name相同或和预定义的分类相同,则表格的该列默认填入标签值或提供下拉选择;
在bookmark属性处新建段落,根据标签name属性创建表格名称的文本部件,然后创建表格部件,并在表格部件中填入用户已输入的值,最后调整表格的格式(行列间距、合并及拆分单元格);
标签为grid节点,根据标签gridcoltitle和gridrowtitle属性,生成表格及行列表头,用户新增若干行后,形成完整表格内容。若gridcoltitle、gridrowtitle属性的部分字段tn和其他标签name相同或和预定义的分类相同,则表格的该列默认填入标签值或提供下拉选择;
在bookmark属性处新建段落,根据标签name属性创建表格名称的文本部件,然后创建表格部件,并在表格部件中填入用户已输入的值,最后调整表格的格式(行列间距、合并及拆分单元格)。
对所有已生成的文档部件,检查部件插入位置是否存在。利用dot文档模板提供的COM接口,将部件组合进文档,形成最终完整的文档。
本发明的有益效果是通过描述文档模板格式的XML文件,实现了文档模板与文档生成代码的解耦,提高了批量文档生成的效率,提高了代码的重用性能。提供了标准化的表格、日期、选项文本等文档部件的生成接口,提高了生成文档内容的丰富程度。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于格式模板的文档自动化生成方法,其特征在于,包括如下步骤:
S1:创建dot格式模板文档,并对其中需要用户自定的内容进行插入点标记;
S2:对步骤S1中所述标记的dot格式模板文档进行组织以形成XML标签集合,并构造XML结构树;
S3:遍历所述XML结构树的各个标记节点,构建含有标签属性的标签数组;
S4:根据所述标签数组以及各标签的属性,形成用户输入界面,供用户输入待插入的内容;
S5:将已完成的插入内容以节点值的形式存储到所述XML结构树中;
S6:再次遍历所述XML结构树,在所述dot格式模板文档中查找并插入标签值,形成新的文档模板。
2.根据权利要求1所述的基于格式模板的文档自动生成方法,其特征在于,步骤S2中每个标记具有如下属性结构:<label id=”xx”name=”xx”inputtype=”xx”bookmark=”xx”tip=”xx”refer=”xx”…></label>;其中,
所述id标签属性为标签的唯一标识,所述name标签属性为标签的助记名称,所述inputtype标签属性为待插入的用户自定义内容的类型,所述bookmark标签类型为文档模板中自定义的插入点标记名,所述tip标签属性为用户输入文档内容时的提示,所述refer标签属性为引用已有的标签。
3.根据权利要求2所述的基于格式模板的文档自动生成方法,其特征在于,所述inputtype标签属性共划分如下7种类型:
a)单行文本:在插入点后插入若干数量的文本;
b)段落文本:在插入点后插入整段文本;
c)单选文本:在插入点后插入若干数量的文本内容,所述文本内容从预定义的文本块中选取一个;
d)多选文本:在插入点后插入若干数量的文本内容,所述文本内容从预定义的文本块中选取若干个;
e)日期:在插入点后插入当前日期或指定日期;
f)行式表格:在插入点后插入自定义表格,表头位于第一行;
g)列式表格:在插入点后插入自定义表格,表头位于第一列。
4.根据权利要求1所述的基于格式模板的文档自动生成方法,其特征在于,对于行式表格和列式表格,步骤S2中每个标记还包括tabletitle和gridcoltitle、gridrowtitle标签。
5.根据权利要求1所述的基于格式模板的文档自动生成方法,其特征在于,所述步骤S3遍历具体包括如下步骤:
S31:检查dot模板中所述插入点标记,判断是否为新章节,若判断为是则插入node节点并转入步骤S32,若判断为否则直接转入步骤S32;
S32:判断是否为静态文本,若判断为是则插入text节点并转入步骤S33,若判断为否则直接转入步骤S33;
S33:判断是否为段落文本,若判断为是则插入multitext节点并转入步骤S34,若判断为否则直接转入步骤S34;
S34:判断是否为多选文本,若判断为是则插入multiselect节点并转入步骤S35,若判断为否则直接转入步骤S35;
S35:判断是否为单选文本,若判断为是则插入combo节点并转入步骤S36,若判断为否则直接转入步骤S36;
S36:判断是否为日期,若判断为是则插入date节点并转入步骤S37,若判断为否则直接转入步骤S37;
S37:判断是否为行式表格,若判断为是则插入table节点并转入步骤S38,若判断为否则直接转入步骤S38;
S38:判断是否为列式表格;若判断为是则插入grid节点并转入步骤S39,若判断为否则直接转入步骤S39;
S39:判断是否已检查完所有文档部件;若判断为是则结束遍历,若判断为否则返回检查dot模板插入点标记。
6.根据权利要求1所述的基于格式模板的文档自动生成方法,其特征在于,所述步骤S6中遍历具体包括如下步骤:
S61:判断是否为node节点,若判断为是则创建新段落并转入步骤S62,若判断为否则直接转入步骤S62;
S62:判断是否为next节点,若判断为是则在dot模板中查找标记,插入文本并转入步骤S63,若判断为否则直接转入步骤S63;
S63:判断是否为multitext节点,若判断为是则在模板中查找标记,创建新段落,插入段落文本并转入步骤S64,若判断为否直接转入步骤S64;
S64:判断是否为multiselect节点,若判断为是则载入数据字典,弹出多选对话框,生成文本并格式化,在模板标记处插入文本并转入步骤S65,若判断为否则直接转入步骤S65;
S65:判断是否为combo节点,若判断为是则载入数据字典,弹出下拉列表,生成文本,在模板标记处插入文本并转入步骤S66,若判断为否则直接转入步骤S66;
S66:判断是否为date节点,若判断为是则创建日期控件,在模板标记处插入日期并转入步骤S67,若判断为否则直接转入步骤S67;
S67:判断是否为table节点,若判断为是则根据节点属性,生成行式表格,在用户填写完后模板标记处插入表格并转入步骤S68,若判断为否则直接转入步骤S68;
S68:判断是否为grid节点,若判断为是则根据节点属性,生成列式表格,用户填写完后模板标记处插入表格并转入步骤S69,若判断为否则直接转入步骤S69;
S69:判断是否遍历结束,若判断为是则结束遍历,若判断为否则跳转至是否为node节点判断,直至所有节点都被遍历。
7.根据权利要求1所述的基于格式模板的文档自动生成方法,其特征在于,所述S1步骤中dot模板首先要识别文档的静态内容和动态内容,在动态内容起始处插入点标记并进入循环直至所有用户需求的动态内容起始处都插有点标记。
8.根据权利要求1或7所述的基于格式模板的文档自动生成方法,其特征在于,所述的步骤S1中所插标记应在文档模板中全局唯一。
9.根据权利要求1所述的基于格式模板的文档自动生成方法,其特征在于,所述的步骤S6中在文档模板中查找并插入标签值的根据是bookmark属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810361418.3A CN108763171B (zh) | 2018-04-20 | 2018-04-20 | 一种基于格式模板的文档自动化生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810361418.3A CN108763171B (zh) | 2018-04-20 | 2018-04-20 | 一种基于格式模板的文档自动化生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108763171A true CN108763171A (zh) | 2018-11-06 |
CN108763171B CN108763171B (zh) | 2021-12-07 |
Family
ID=64011173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810361418.3A Active CN108763171B (zh) | 2018-04-20 | 2018-04-20 | 一种基于格式模板的文档自动化生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108763171B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766726A (zh) * | 2018-12-24 | 2019-05-17 | 武汉思路富邦工程咨询有限公司 | 一种基于Word实现准确定位的文档批量签章方法 |
CN110096689A (zh) * | 2019-05-17 | 2019-08-06 | 北京市律典通科技有限公司 | 模板式法律文书信息填充方法及装置 |
CN110263221A (zh) * | 2019-06-21 | 2019-09-20 | 福建南威软件有限公司 | 一种基于xml操作word文档的方法及系统 |
CN110457658A (zh) * | 2019-08-16 | 2019-11-15 | 中国银行股份有限公司 | 文本文件配置方法及装置 |
CN110705226A (zh) * | 2019-08-22 | 2020-01-17 | 平安科技(深圳)有限公司 | 电子表格的创建方法、装置及计算机设备 |
CN111159995A (zh) * | 2020-01-16 | 2020-05-15 | 江西金格科技股份有限公司 | 一种模板化生成word文档的方法 |
CN111414741A (zh) * | 2018-12-19 | 2020-07-14 | 北大方正集团有限公司 | 出版物的版式模板制作方法、装置、设备及介质 |
CN111444697A (zh) * | 2020-03-27 | 2020-07-24 | 中南大学 | 一种基于动态模板获取规范化文档的方法及装置 |
CN111507082A (zh) * | 2020-04-23 | 2020-08-07 | 北京奇艺世纪科技有限公司 | 文本处理方法和装置、存储介质和电子装置 |
CN112100122A (zh) * | 2019-06-18 | 2020-12-18 | 珠海金山办公软件有限公司 | 一种存储图片的方法及装置 |
CN112329399A (zh) * | 2019-08-05 | 2021-02-05 | 珠海金山办公软件有限公司 | 一种文档管理方法、装置及电子设备 |
CN112486073A (zh) * | 2020-12-03 | 2021-03-12 | 用友网络科技股份有限公司 | 机器人控制方法、控制系统和可读存储介质 |
CN112528593A (zh) * | 2020-12-11 | 2021-03-19 | 北京百度网讯科技有限公司 | 文档处理方法、装置、电子设备及存储介质 |
CN112560423A (zh) * | 2020-12-22 | 2021-03-26 | 北京来也网络科技有限公司 | 结合rpa和ai的文档处理方法、装置、设备及介质 |
CN112733515A (zh) * | 2020-12-31 | 2021-04-30 | 贝壳技术有限公司 | 文本生成方法、装置、电子设备及可读存储介质 |
CN113128193A (zh) * | 2021-04-20 | 2021-07-16 | 国泰新点软件股份有限公司 | 文档处理方法及装置 |
CN113297826A (zh) * | 2020-06-28 | 2021-08-24 | 上海交通大学 | 在自然语言文本上进行标记的方法 |
CN114237737A (zh) * | 2021-11-25 | 2022-03-25 | 北京轩宇信息技术有限公司 | 一种对Word文件数据结构化条目化的处理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541829A (zh) * | 2012-01-17 | 2012-07-04 | 中国工商银行股份有限公司 | 一种多用户并发的电子文档生成装置及方法 |
CN102830979A (zh) * | 2012-08-30 | 2012-12-19 | 江苏省交通科学研究院股份有限公司 | 基于ObjectArx的CAD图纸信息批量处理方法 |
US8589366B1 (en) * | 2007-11-01 | 2013-11-19 | Google Inc. | Data extraction using templates |
EP2800065A1 (de) * | 2006-10-27 | 2014-11-05 | Deutsche Post AG | Verfahren zum Erzeugen eines Labels, Computerprogrammprodukt und System zur Durchführung des Verfahrens |
CN106384282A (zh) * | 2016-06-14 | 2017-02-08 | 平安科技(深圳)有限公司 | 构建决策模型的方法和装置 |
CN106936871A (zh) * | 2015-12-30 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 界面展示数据的方法及装置 |
CN107203627A (zh) * | 2017-05-27 | 2017-09-26 | 山东浪潮通软信息科技有限公司 | 一种结构化数据与Word文档之间互相转换的方法 |
-
2018
- 2018-04-20 CN CN201810361418.3A patent/CN108763171B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2800065A1 (de) * | 2006-10-27 | 2014-11-05 | Deutsche Post AG | Verfahren zum Erzeugen eines Labels, Computerprogrammprodukt und System zur Durchführung des Verfahrens |
US8589366B1 (en) * | 2007-11-01 | 2013-11-19 | Google Inc. | Data extraction using templates |
CN102541829A (zh) * | 2012-01-17 | 2012-07-04 | 中国工商银行股份有限公司 | 一种多用户并发的电子文档生成装置及方法 |
CN102830979A (zh) * | 2012-08-30 | 2012-12-19 | 江苏省交通科学研究院股份有限公司 | 基于ObjectArx的CAD图纸信息批量处理方法 |
CN106936871A (zh) * | 2015-12-30 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 界面展示数据的方法及装置 |
CN106384282A (zh) * | 2016-06-14 | 2017-02-08 | 平安科技(深圳)有限公司 | 构建决策模型的方法和装置 |
CN107203627A (zh) * | 2017-05-27 | 2017-09-26 | 山东浪潮通软信息科技有限公司 | 一种结构化数据与Word文档之间互相转换的方法 |
Non-Patent Citations (2)
Title |
---|
LE LEI SCHOOL OF ECONOMY & MANAGEMENT TONGJI UNIVERSITY SHANGHAI: ""Exchanging Data in Heterogeneous Relational Databases via XML Documents"", 《PROCEEDINGS OF 2011 13TH IEEE JOINT INTERNATIONAL COMPUTER SCIENCE AND INFORMATION TECHNOLOGY CONFERENCE(JICSIT 2011) VOL.01》 * |
郭茂威: ""试谈在Word上建立标准编写格式模板文件"", 《交通化标准》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414741A (zh) * | 2018-12-19 | 2020-07-14 | 北大方正集团有限公司 | 出版物的版式模板制作方法、装置、设备及介质 |
CN111414741B (zh) * | 2018-12-19 | 2022-06-14 | 北大方正集团有限公司 | 出版物的版式模板制作方法、装置、设备及介质 |
CN109766726B (zh) * | 2018-12-24 | 2023-06-13 | 武汉思路富邦工程咨询有限公司 | 一种基于Word实现准确定位的文档批量签章方法 |
CN109766726A (zh) * | 2018-12-24 | 2019-05-17 | 武汉思路富邦工程咨询有限公司 | 一种基于Word实现准确定位的文档批量签章方法 |
CN110096689A (zh) * | 2019-05-17 | 2019-08-06 | 北京市律典通科技有限公司 | 模板式法律文书信息填充方法及装置 |
CN112100122A (zh) * | 2019-06-18 | 2020-12-18 | 珠海金山办公软件有限公司 | 一种存储图片的方法及装置 |
CN112100122B (zh) * | 2019-06-18 | 2022-11-04 | 珠海金山办公软件有限公司 | 一种存储图片的方法及装置 |
CN110263221A (zh) * | 2019-06-21 | 2019-09-20 | 福建南威软件有限公司 | 一种基于xml操作word文档的方法及系统 |
CN112329399A (zh) * | 2019-08-05 | 2021-02-05 | 珠海金山办公软件有限公司 | 一种文档管理方法、装置及电子设备 |
CN110457658B (zh) * | 2019-08-16 | 2023-10-27 | 中国银行股份有限公司 | 文本文件配置方法及装置 |
CN110457658A (zh) * | 2019-08-16 | 2019-11-15 | 中国银行股份有限公司 | 文本文件配置方法及装置 |
CN110705226A (zh) * | 2019-08-22 | 2020-01-17 | 平安科技(深圳)有限公司 | 电子表格的创建方法、装置及计算机设备 |
CN111159995A (zh) * | 2020-01-16 | 2020-05-15 | 江西金格科技股份有限公司 | 一种模板化生成word文档的方法 |
CN111444697A (zh) * | 2020-03-27 | 2020-07-24 | 中南大学 | 一种基于动态模板获取规范化文档的方法及装置 |
CN111507082A (zh) * | 2020-04-23 | 2020-08-07 | 北京奇艺世纪科技有限公司 | 文本处理方法和装置、存储介质和电子装置 |
CN113297826B (zh) * | 2020-06-28 | 2022-06-10 | 上海交通大学 | 在自然语言文本上进行标记的方法 |
CN113297826A (zh) * | 2020-06-28 | 2021-08-24 | 上海交通大学 | 在自然语言文本上进行标记的方法 |
CN112486073A (zh) * | 2020-12-03 | 2021-03-12 | 用友网络科技股份有限公司 | 机器人控制方法、控制系统和可读存储介质 |
CN112528593A (zh) * | 2020-12-11 | 2021-03-19 | 北京百度网讯科技有限公司 | 文档处理方法、装置、电子设备及存储介质 |
CN112528593B (zh) * | 2020-12-11 | 2023-09-01 | 北京百度网讯科技有限公司 | 文档处理方法、装置、电子设备及存储介质 |
CN112560423A (zh) * | 2020-12-22 | 2021-03-26 | 北京来也网络科技有限公司 | 结合rpa和ai的文档处理方法、装置、设备及介质 |
CN112733515A (zh) * | 2020-12-31 | 2021-04-30 | 贝壳技术有限公司 | 文本生成方法、装置、电子设备及可读存储介质 |
CN113128193A (zh) * | 2021-04-20 | 2021-07-16 | 国泰新点软件股份有限公司 | 文档处理方法及装置 |
CN114237737A (zh) * | 2021-11-25 | 2022-03-25 | 北京轩宇信息技术有限公司 | 一种对Word文件数据结构化条目化的处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108763171B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763171A (zh) | 一种基于格式模板的文档自动化生成方法 | |
CN107315771B (zh) | 一种基于扩展库表数据字典的数据汇交系统定制化方法 | |
CN101025738B (zh) | 一种免模板动态网站生成方法 | |
US7673235B2 (en) | Method and apparatus for utilizing an object model to manage document parts for use in an electronic document | |
US6282539B1 (en) | Method and system for database publishing | |
US20050203869A1 (en) | Hierarchical database apparatus, components selection method in hierarchical database, and components selection program | |
US7756819B2 (en) | Integrated authoring system for electronic technical manual and paper technical manual using logistics support analysis data and authoring method therefor | |
CN107247697A (zh) | 一种Excel文件转换为汽车网络DBC文件的方法 | |
JP2005526314A (ja) | 文書構造識別器 | |
US20070204215A1 (en) | Device for analyzing log files generated by process automation tools | |
CN110543303A (zh) | 一种可视化业务平台 | |
CN106776495A (zh) | 一种文档逻辑结构重建方法 | |
US6175843B1 (en) | Method and system for displaying a structured document | |
CN110502667A (zh) | 基于dom框架的odx文档解析和生成技术 | |
CN112380823A (zh) | 民用飞机的飞行类手册编制系统及编制方法 | |
US8423888B2 (en) | Document conversion and use system | |
CN112668292B (zh) | 一种从系统配置规则中自动提取追踪矩阵的方法及其应用 | |
JP5747698B2 (ja) | 要件管理支援装置 | |
KR100326765B1 (ko) | 특허 맵 생성방법 | |
CN109948133B (zh) | 一种基于Layui的数据表格的实现方法 | |
JPH09146931A (ja) | 文書型定義生成装置 | |
JP3724878B2 (ja) | キーワード抽出ルール生成方法 | |
US20090217156A1 (en) | Method for Storing Localized XML Document Values | |
CN114139517A (zh) | 一种基于章节标签自动组合报告的方法及系统 | |
CN112488642A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |