CN113011151B - 需求文档模板的生成方法、装置、设备及存储介质 - Google Patents
需求文档模板的生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113011151B CN113011151B CN202110425548.0A CN202110425548A CN113011151B CN 113011151 B CN113011151 B CN 113011151B CN 202110425548 A CN202110425548 A CN 202110425548A CN 113011151 B CN113011151 B CN 113011151B
- Authority
- CN
- China
- Prior art keywords
- template
- document
- processed
- replaced
- document template
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请涉及人工智能技术领域,揭示了一种需求文档模板的生成方法、装置、设备及存储介质,其中方法包括:基于滚动式模板技术根据第一级子模板库、第二级子模板库、第三级子模板库和需求文档模板配置文件得到待处理的需求文档模板;基于Docxtpl技术结合Jinja2技术根据需求文档模板配置文件对待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行替换,得到已替换非内置控件的需求文档模板;基于Win32com技术根据需求文档模板配置文件对已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的内容控件进行替换,得到目标需求文档模板。实现了自动化生成需求文档模板,提升了工作效率。
Description
技术领域
本申请涉及到人工智能技术领域,特别是涉及到一种需求文档模板的生成方法、装置、设备及存储介质。
背景技术
在整个软件开发流程和过程管理中,需求文档的质量对后续的研发和测试的质量起到保护和约束。在撰写构建需求文档模板时,通过对历史的需求文档进行人工剔除和清洗作为模板,人工剔除导致易遗留脏数据、易排版出错。
发明内容
本申请的主要目的为提供一种需求文档模板的生成方法、装置、设备及存储介质,旨在解决现有技术在撰写构建需求文档模板时,通过对历史的需求文档进行人工剔除和清洗作为模板,人工剔除导致易遗留脏数据、易排版出错的技术问题。
为了实现上述发明目的,本申请提出一种需求文档模板的生成方法,所述方法包括:
获取需求文档模板生成请求,所述需求文档模板生成请求携带有需求文档模板配置文件;
响应所述需求文档模板生成请求,获取第一级子模板库、第二级子模板库和第三级子模板库;
基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板;
基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据,对所述待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板;
基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的所述内容控件进行内容替换,得到目标需求文档模板。
进一步的,所述基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板的步骤,包括:
采用从头到尾遍历的方法,从所述需求文档模板配置文件的文档结构配置数据中读取一行数据,得到待处理的行配置数据;
当所述待处理的行配置数据是需求名称时,获取文档替换器名称列表,将所述待处理的行配置数据在所述文档替换器名称列表中进行查找,得到需求名称查找结果,当所述需求名称查找结果为成功时,根据所述需求名称查找结果对应的文档替换器确定当前文档替换器,否则,根据所述待处理的行配置数据构建文档替换器,得到待处理的文档替换器,从所述第一级子模板库中获取第一级子模板,得到待添加的第一级子模板,将所述待添加的第一级子模板添加到所述待处理的文档替换器中,将所述待处理的文档替换器作为所述当前文档替换器;
当所述待处理的行配置数据是用户故事名称时,获取所述当前文档替换器,从所述第二级子模板库中获取第二级子模板,得到待添加的第二级子模板,将所述待添加的第二级子模板添加到所述当前文档替换器;
当所述待处理的行配置数据是关联子***名称时,获取所述当前文档替换器,根据所述待处理的行配置数据从所述第三级子模板库中获取第三级子模板,得到待添加的第三级子模板集合,将所述待添加的第三级子模板集合添加到所述当前文档替换器;
重复执行所述采用从头到尾遍历的方法,从所述需求文档模板配置文件的文档结构配置数据中读取一行数据,得到待处理的行配置数据的步骤,直至完成所述需求文档模板配置文件中所述文档结构配置数据的遍历;
根据所述当前文档替换器,得到所述待处理的需求文档模板。
进一步的,所述基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据,对所述待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板的步骤,包括:
基于Docxtpl技术,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件;
基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述第一待替换的内容控件进行内容替换;
重复执行所述基于Docxtpl技术,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件的步骤,直至完成所述待处理的需求文档模板的遍历;
根据完成遍历的所述待处理的需求文档模板确定所述已替换非内置控件的需求文档模板。
进一步的,所述基于Docxtpl技术,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件的步骤,包括:
通过所述Docxtpl技术的DocxTemplate方法获取所述待处理的需求文档模板;
根据所述待处理的需求文档模板生成Docxtpl容器,得到待处理的Docxtpl容器;
采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件,将所述第一待替换的内容控件存储在所述待处理的Docxtpl容器中;
所述基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述第一待替换的内容控件进行内容替换的步骤,包括:
基于所述待处理的Docxtpl容器,判断所述第一待替换的内容控件是否包含图像,得到分类判断结果;
基于Docxtpl技术结合Jinja2技术,根据所述待处理的Docxtpl容器、所述分类判断结果和所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换。
进一步的,所述基于Docxtpl技术结合Jinja2技术,根据所述待处理的Docxtpl容器、所述分类判断结果和所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换的步骤,包括:
当所述分类判断结果为包含图像时,基于所述待处理的Docxtpl容器,采用所述Docxtpl技术的InlineImage方法根据所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换;
当所述分类判断结果为不包含图像时,基于所述待处理的Docxtpl容器,采用所述Jinja2语法根据所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换。
进一步的,所述基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的所述内容控件进行内容替换,得到目标需求文档模板的步骤,包括:
根据所述已替换非内置控件的需求文档模板生成Win32com容器,得到待处理的Win32com容器;
基于Win32com技术,采用从头到尾遍历的方法,从所述已替换非内置控件的需求文档模板中获取一个对象类型为Word内置内容控件的内容控件,得到第二待替换的内容控件,将所述第二待替换的内容控件存储在所述待处理的Win32com容器中;
基于所述待处理的Win32com容器,根据所述需求文档模板配置文件的所述待替换的内容数据对所述第二待替换的内容控件进行内容替换;
重复执行所述基于Win32com技术,采用从头到尾遍历的方法,从所述已替换非内置控件的需求文档模板中获取一个对象类型为Word内置内容控件的内容控件,得到第二待替换的内容控件,将所述第二待替换的内容控件存储在所述待处理的Win32com容器中的步骤,直至完成所述已替换非内置控件的需求文档模板的遍历;
根据完成遍历的所述已替换非内置控件的需求文档模板确定所述目标需求文档模板。
进一步的,所述基于所述待处理的Win32com容器,根据所述需求文档模板配置文件的所述待替换的内容数据对所述第二待替换的内容控件进行内容替换的步骤,包括:
基于所述待处理的Win32com容器,获取Word内置内容控件集合,根据所述Word内置内容控件集合和所述需求文档模板配置文件的所述待替换的内容数据对所述第二待替换的内容控件进行内容替换。
本申请还提出了一种需求文档模板的生成装置,所述装置包括:
请求获取模块,用于获取需求文档模板生成请求,所述需求文档模板生成请求携带有需求文档模板配置文件;
模板库获取模块,用于响应所述需求文档模板生成请求,获取第一级子模板库、第二级子模板库和第三级子模板库;
需求文档模板框架搭建模块,用于基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板;
非Word内置内容控件内容替换模块,用于基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据,对所述待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板;
Word内置内容控件内容替换模块,用于基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的所述内容控件进行内容替换,得到目标需求文档模板。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的需求文档模板的生成方法、装置、设备及存储介质,通过首先基于滚动式模板技术,根据第一级子模板库、第二级子模板库、第三级子模板库和需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板,然后基于Docxtpl技术结合Jinja2技术,根据需求文档模板配置文件的待替换的内容数据,对待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板,最后基于Win32com技术,根据需求文档模板配置文件的待替换的内容数据,对已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的内容控件进行内容替换,得到目标需求文档模板,从而实现了自动化生成需求文档模板,避免通过对历史的需求文档进行人工剔除和清洗作为模板导致易遗留脏数据、易排版出错的技术问题,提升了产品经理的工作效率;对不同对象类型的内容控件采用不同的方法进行替换,提高了内容控件内容替换的准确性,减少了后续人工修改内容控件的时间,进一步提升了产品经理的工作效率。
附图说明
图1为本申请一实施例的需求文档模板的生成方法的流程示意图;
图2 为本申请一实施例的需求文档模板的生成装置的结构示意框图;
图3 为本申请一实施例的计算机设备的结构示意框图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了解决现有技术中现有技术在撰写构建需求文档模板时,通过对历史的需求文档进行人工剔除和清洗作为模板,人工剔除导致易遗留脏数据、易排版出错的技术问题,本申请提出了一种需求文档模板的生成方法,所述方法应用于人工智能技术领域。所述需求文档模板的生成方法,通过配置文件和子模板库进行需求文档模板的框架搭建,得到待处理的需求文档模板,基于Docxtpl技术结合Jinja2技术对待处理的需求文档模板中的非Word内置内容控件的内容控件进行内容替换,基于Win32com技术对待处理的需求文档模板中的Word内置内容控件的内容控件进行内容替换,完成内容控件的内容替换的待处理的需求文档模板作为目标需求文档模板,从而实现了自动化生成需求文档模板,避免通过对历史的需求文档进行人工剔除和清洗作为模板导致易遗留脏数据、易排版出错的技术问题,提升了产品经理的工作效率;对不同对象类型的内容控件采用不同的方法进行替换,提高了内容控件内容替换的准确性,减少了后续人工修改内容控件的时间,进一步提升了产品经理的工作效率。
参照图1,本申请实施例中提供一种需求文档模板的生成方法,所述方法包括:
S1:获取需求文档模板生成请求,所述需求文档模板生成请求携带有需求文档模板配置文件;
S2:响应所述需求文档模板生成请求,获取第一级子模板库、第二级子模板库和第三级子模板库;
S3:基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板;
S4:基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据,对所述待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板;
S5:基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的所述内容控件进行内容替换,得到目标需求文档模板。
本实施例通过首先基于滚动式模板技术,根据第一级子模板库、第二级子模板库、第三级子模板库和需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板,然后基于Docxtpl技术结合Jinja2技术,根据需求文档模板配置文件的待替换的内容数据,对待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板,最后基于Win32com技术,根据需求文档模板配置文件的待替换的内容数据,对已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的内容控件进行内容替换,得到目标需求文档模板,从而实现了自动化生成需求文档模板,避免通过对历史的需求文档进行人工剔除和清洗作为模板导致易遗留脏数据、易排版出错的技术问题,提升了产品经理的工作效率;对不同对象类型的内容控件采用不同的方法进行替换,提高了内容控件内容替换的准确性,减少了后续人工修改内容控件的时间,进一步提升了产品经理的工作效率。
对于S1,可以获取用户输入的需求文档模板生成请求,还可以是第三方应用***发送的需求文档模板生成请求。
其中,采用Xlrd的open_workbook方法获取需求文档模板配置文件。可以从数据库中获取需求文档模板配置文件,还可以是用户输入的需求文档模板配置文件,还可以是第三方应用***发送的需求文档模板配置文件。需求文档模板配置文件的格式可以是Excel,也可以是.csv。Excel也就是MicrosoftOffice Excel ,是表格处理程序。
Xlrd,是Python的Excel接口,使用 Xlrd 能够很方便的读取Excel文件内容,而且这是个跨平台的库,能够在windows、linux/unix等平台上面使用。
需求文档模板生成请求,是生成软件开发使用的需求文档的模板的请求。
需求文档模板配置文件,包括:文档结构配置数据和待替换的内容数据。文档结构配置数据是对需求名称、用户故事名称、关联子***名称、发布版本、我是谁、要什么、解决什么问题、业务流程图、交互图、***交互图、验收条件、原型图的配置数据。待替换的内容数据包括非Word内置内容控件和Word内置内容控件。非Word内置内容控件包括但不限于:图像控件、文字控件。Word内置内容控件包括文本类控件,文本类包括但不限于:公司、标题、作者、日期。
Word,也就是MicrosoftOffice Word ,是文字处理程序。
对于S2,可以从数据库中获取第一级子模板库、第二级子模板库和第三级子模板库,还可以是用户输入的第一级子模板库、第二级子模板库和第三级子模板库,还可以是第三方应用***发送的第一级子模板库、第二级子模板库和第三级子模板库。
第一级子模板库,是需求文档的开始部分的子模板。第一级子模板库包括但不限于:需求文档标题、日期、作者、修订记录、干系人列表、目录、文档摘要。
第二级子模板库,是需求文档的用户故事正文的子模板。第二级子模板库包括但不限于:故事描述、业务流程、验收条件、UI(界面)交互、***交互。
第三级子模板库,是需求文档的用户故事正文的关联子***的子模板。第三级子模板库包括但不限于:关联子***名称、原型、规则、使用频次、性能要求、用户沟通记录、业务量变量。
对于S3,基于滚动式模板技术,根据所述需求文档模板配置文件的文档结构配置数据从所述第一级子模板库、所述第二级子模板库和所述第三级子模板库中获取子模板,根据获取的子模板生成需求文档模板的框架,将需求文档模板的框架作为待处理的需求文档模板。其中,基于滚动式模板技术,也就是采用从头到尾的顺序遍历所述需求文档模板配置文件的文档结构配置数据获取数据,根据获取的数据从所述第一级子模板库、所述第二级子模板库和所述第三级子模板库获取子模板,从而实现灵活的需求文档模板的框架。
对于S4,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取出对象类型为非Word内置内容控件的内容控件;基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据对提取的对象类型为非Word内置内容控件的内容控件进行内容替换;根据完成所有对象类型为非Word内置内容控件的内容控件的内容替换的所述待处理的需求文档模板确定已替换非内置控件的需求文档模板。
Docxtpl,是一个软件包,主要通过对Docx(微软Word的文件扩展名)文档模板加载,实现对其进行修改。
Jinja2,是基于python的模板引擎,功能比较类似于PHP的smarty,J2ee的Freemarker和velocity。Jinja2能完全支持unicode,并具有集成的沙箱执行环境。
对于S5,采用从头到尾遍历的方法,从所述已替换非内置控件的需求文档模板中提取出对象类型为Word内置内容控件的所述内容控件;基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据对提取的对象类型为Word内置内容控件的所述内容控件进行内容替换;根据完成所有对象类型为Word内置内容控件的所述内容控件的内容替换的所述已替换非内置控件的需求文档模板确定所述目标需求文档模板。也就是说目标需求文档模板是需求文档。
Win32com,Python的包。
可以理解的是,步骤S4至步骤S5可以同步执行。
在一个实施例中,上述基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板的步骤,包括:
S31:采用从头到尾遍历的方法,从所述需求文档模板配置文件的文档结构配置数据中读取一行数据,得到待处理的行配置数据;
S32:当所述待处理的行配置数据是需求名称时,获取文档替换器名称列表,将所述待处理的行配置数据在所述文档替换器名称列表中进行查找,得到需求名称查找结果,当所述需求名称查找结果为成功时,根据所述需求名称查找结果对应的文档替换器确定当前文档替换器,否则,根据所述待处理的行配置数据构建文档替换器,得到待处理的文档替换器,从所述第一级子模板库中获取第一级子模板,得到待添加的第一级子模板,将所述待添加的第一级子模板添加到所述待处理的文档替换器中,将所述待处理的文档替换器作为所述当前文档替换器;
S33:当所述待处理的行配置数据是用户故事名称时,获取所述当前文档替换器,从所述第二级子模板库中获取第二级子模板,得到待添加的第二级子模板,将所述待添加的第二级子模板添加到所述当前文档替换器;
S34:当所述待处理的行配置数据是关联子***名称时,获取所述当前文档替换器,根据所述待处理的行配置数据从所述第三级子模板库中获取第三级子模板,得到待添加的第三级子模板集合,将所述待添加的第三级子模板集合添加到所述当前文档替换器;
S35:重复执行所述采用从头到尾遍历的方法,从所述需求文档模板配置文件的文档结构配置数据中读取一行数据,得到待处理的行配置数据的步骤,直至完成所述需求文档模板配置文件中所述文档结构配置数据的遍历;
S36:根据所述当前文档替换器,得到所述待处理的需求文档模板。
本实施例实现了基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,从而实现了灵活搭建需求文档模板的框架,满足了个性化的需求文档模板需求。
对于S31,采用从头到尾遍历的方法,从所述需求文档模板配置文件的文档结构配置数据中读取一行数据,将读取的数据作为待处理的行配置数据。也就是说,所述文档结构配置数据中每行数据最多只有一个子模板的配置数据。
对于S32,可以从数据库中获取文档替换器名称列表,也可以从第三方应用***获取文档替换器名称列表。文档替换器名称列表中的每个需求名称对应一个文档替换器。
文档替换器,也就是Composer容器。Composer容器,基于docxcompose.composer来实现,用于拼接从所述第一级子模板库、所述第二级子模板库、所述第三级子模板库中获取的子模板。
将所述待处理的行配置数据在所述文档替换器名称列表中进行查找,当在文档替换器名称列表中查找到需求名称时,此时意味着已经存在与待处理的行配置数据对应的文档替换器,因此确定需求名称查找结果为成功;当在文档替换器名称列表中没有查找到需求名称时,此时意味着不存在与待处理的行配置数据对应的文档替换器,因此确定需求名称查找结果为失败。
其中,当所述需求名称查找结果为成功时,将所述需求名称查找结果对应的需求名称对应的文档替换器作为当前文档替换器。当所述需求名称查找结果为失败时,新建一个文档替换器,将所述待处理的行配置数据的文本内容作为新建的文档替换器的名称,然后将新建的文档替换器作为待处理的文档替换器;从所述第一级子模板库中获取第一级子模板,将获取的第一级子模板作为待添加的第一级子模板,将所述待添加的第一级子模板添加到所述待处理的文档替换器中的开始位置;将添加了所述待添加的第一级子模板的所述待处理的文档替换器作为所述当前文档替换器,并且将所述待处理的文档替换器的名称添加到所述文档替换器名称列表中。
对于S33,当所述待处理的行配置数据是用户故事名称时,获取当前正在使用的文档替换器作为所述当前文档替换器,从所述第二级子模板库中获取第二级子模板,将获取的第二级子模板作为待添加的第二级子模板,将所述待添加的第二级子模板添加到所述当前文档替换器中的末尾位置。
对于S34,当所述待处理的行配置数据是关联子***名称时,获取当前正在使用的文档替换器作为所述当前文档替换器,根据所述待处理的行配置数据从所述第三级子模板库中获取第三级子模板,将获取的所有第三级子模板作为待添加的第三级子模板集合,将所述待添加的第三级子模板集合添加到所述当前文档替换器中的末尾位置。
对于S35,重复执行步骤S31至步骤S35,直至完成所述需求文档模板配置文件中所述文档结构配置数据的遍历。
对于S36,将所述当前文档替换器中的数据进行拼接,将拼接得到的文档作为所述待处理的需求文档模板。
在一个实施例中,上述基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据,对所述待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板的步骤,包括:
S41:基于Docxtpl技术,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件;
S42:基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述第一待替换的内容控件进行内容替换;
S43:重复执行所述基于Docxtpl技术,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件的步骤,直至完成所述待处理的需求文档模板的遍历;
S44:根据完成遍历的所述待处理的需求文档模板确定所述已替换非内置控件的需求文档模板。
本实施例实现了基于Docxtpl技术结合Jinja2技术对对象类型为非Word内置内容控件的内容控件进行内容替换,从而不需要对对象类型为非Word内置内容控件的内容控件控进行人工修改替换,减少了后续人工修改内容控件的时间,进一步提升了产品经理的工作效率。
对于S41,通过Docxtpl的DocxTemplate方法获取所述待处理的需求文档模板;基于Docxtpl技术,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,将提取的内容控件作为第一待替换的内容控件。
对于S42,基于Docxtpl技术结合Jinja2技术,将所述第一待替换的内容控件从所述需求文档模板配置文件的所述待替换的内容数据中进行查找,得到第一目标内容数据,将第一目标内容数据对所述第一待替换的内容控件进行内容替换。
对于S43,重复执行步骤S41至步骤S43,直至完成所述待处理的需求文档模板的遍历,从而自动完成了对所述待处理的需求文档模板中所有对象类型为非Word内置内容控件的内容控件的内容替换。
对于S44,根据对所述第一待替换的内容控件进行内容替换的结果,以及完成遍历并完成非Word内置内容控件的内容控件的内容替换的所述待处理的需求文档模板,确定所述已替换非内置控件的需求文档模板。
在一个实施例中,上述基于Docxtpl技术,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件的步骤,包括:
S411:通过所述Docxtpl技术的DocxTemplate方法获取所述待处理的需求文档模板;
S412:根据所述待处理的需求文档模板生成Docxtpl容器,得到待处理的Docxtpl容器;
S413:采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件,将所述第一待替换的内容控件存储在所述待处理的Docxtpl容器中;
所述基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述第一待替换的内容控件进行内容替换的步骤,包括:
S421:基于所述待处理的Docxtpl容器,判断所述第一待替换的内容控件是否包含图像,得到分类判断结果;
S422:基于Docxtpl技术结合Jinja2技术,根据所述待处理的Docxtpl容器、所述分类判断结果和所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换。
本实施例实现了基于Docxtpl技术结合Jinja2技术对对象类型为非Word内置内容控件的内容控件进行内容替换,从而不需要对对象类型为非Word内置内容控件的内容控件控进行人工修改替换,减少了后续人工修改内容控件的时间,进一步提升了产品经理的工作效率。
对于S411,通过所述Docxtpl技术的DocxTemplate方法获取所述待处理的需求文档模板。
对于S412,生成一个Docxtpl容器,将所述待处理的需求文档模板的标识作为生成的Docxtpl容器的标识,将生成的Docxtpl容器作为待处理的Docxtpl容器。
待处理的Docxtpl容器采用KV设计。待处理的Docxtpl容器包括一个key和一个Value,其中,key是第一待替换的内容控件对应的Jinja2占位符,第一待替换的内容控件对应的Jinja2占位符是DocxTemplate模板内预先埋下的Jinja2占位符,Value中存储的是第一待替换的内容控件需要替换的值。
对于S413,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,将提取的内容控件作为第一待替换的内容控件;将所述第一待替换的内容控件存储在所述待处理的Docxtpl容器中,以用于后续基于所述待处理的Docxtpl容器对所述第一待替换的内容控件进行内容替换。
对于S421,判断所述待处理的Docxtpl容器中的所述第一待替换的内容控件是否包含图像,当包含图像时确定分类判断结果为包含图像,当不包含图像时确定分类判断结果为不包含图像。
对于S422,基于Docxtpl技术结合Jinja2技术,根据所述分类判断结果的不同值采用不同的方法对所述待处理的Docxtpl容器中的所述第一待替换的内容控件对应的Value进行替换。
可选的,所述根据完成遍历的所述待处理的需求文档模板确定所述已替换非内置控件的需求文档模板的步骤,包括:根据所述待处理的需求文档模板和所述待处理的Docxtpl容器进行文档生成,将生成的文档作为所述已替换非内置控件的需求文档模板。也就是说,将待处理的Docxtpl容器中的数据对所述待处理的需求文档模板中对象类型为非Word内置内容控件的内容控件进行替换,将替换结束的所述待处理的需求文档模板作为所述已替换非内置控件的需求文档模板。
在一个实施例中,上述基于Docxtpl技术结合Jinja2技术,根据所述待处理的Docxtpl容器、所述分类判断结果和所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换的步骤,包括:
S4241:当所述分类判断结果为包含图像时,基于所述待处理的Docxtpl容器,采用所述Docxtpl技术的InlineImage方法根据所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换;
S4242:当所述分类判断结果为不包含图像时,基于所述待处理的Docxtpl容器,采用所述Jinja2语法根据所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换。
本实施例针对分类判断结果不同的值采用不同的替换方法,从而不需要对对象类型为非Word内置内容控件的内容控件控进行人工修改替换,减少了后续人工修改内容控件的时间,进一步提升了产品经理的工作效率。
对于S4241,当所述分类判断结果为包含图像时,根据所述第一待替换的内容控件从所述需求文档模板配置文件的所述待替换的内容数据中查找,将查找到的数据作为第一目标内容数据;采用所述Docxtpl技术的InlineImage方法根据所述第一目标内容数据,对所述待处理的Docxtpl容器中所述第一待替换的内容控件对应的Value进行替换,也就是将所述待处理的Docxtpl容器中所述第一待替换的内容控件对应的Value中的str对象替换为InlineImage对象(也就是所述第一目标内容数据)。
对于S4242,当所述分类判断结果为不包含图像时,根据所述第一待替换的内容控件从所述需求文档模板配置文件的所述待替换的内容数据中查找,确定第一目标内容数据;采用所述Jinja2语法根据所述第一目标内容数据,对所述待处理的Docxtpl容器中所述第一待替换的内容控件对应的Value进行替换。
在一个实施例中,上述基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的所述内容控件进行内容替换,得到目标需求文档模板的步骤,包括:
S51:根据所述已替换非内置控件的需求文档模板生成Win32com容器,得到待处理的Win32com容器;
S52:基于Win32com技术,采用从头到尾遍历的方法,从所述已替换非内置控件的需求文档模板中获取一个对象类型为Word内置内容控件的内容控件,得到第二待替换的内容控件,将所述第二待替换的内容控件存储在所述待处理的Win32com容器中;
S53:基于所述待处理的Win32com容器,根据所述需求文档模板配置文件的所述待替换的内容数据对所述第二待替换的内容控件进行内容替换;
S54:重复执行所述基于Win32com技术,采用从头到尾遍历的方法,从所述已替换非内置控件的需求文档模板中获取一个对象类型为Word内置内容控件的内容控件,得到第二待替换的内容控件,将所述第二待替换的内容控件存储在所述待处理的Win32com容器中的步骤,直至完成所述已替换非内置控件的需求文档模板的遍历;
S55:根据完成遍历的所述已替换非内置控件的需求文档模板确定所述目标需求文档模板。
本实施例实现了基于Win32com技术对对象类型为Word内置内容控件的内容控件进行内容替换,从而不需要对对象类型为Word内置内容控件的内容控件控进行人工修改替换,减少了后续人工修改内容控件的时间,进一步提升了产品经理的工作效率。
对于S51,根据所述已替换非内置控件的需求文档模板生成Win32com容器,将生成的Win32com容器作为待处理的Win32com容器;
待处理的Win32com容器采用KV设计。待处理的Win32com容器包括一个key和一个Value,其中,key是第二待替换的内容控件的Word内置content control id,Value中存储的是第二待替换的内容控件需要替换的值。
可以理解的是,每个Word内置内容控件都有一个唯一的Word内置contentcontrol id。
对于S52,通过Win32com技术的Client方法启动Word APP,然后通过启动的WordAPP获取所述待处理的需求文档模板;基于Win32com技术,采用从头到尾遍历的方法,从所述已替换非内置控件的需求文档模板中获取一个对象类型为Word内置内容控件的内容控件,将提取的内容控件作为第二待替换的内容控件。
对于S53,基于所述待处理的Win32com容器,将所述第二待替换的内容控件从所述需求文档模板配置文件的所述待替换的内容数据中进行查找,将查找到的数据作为第二目标内容数据;采用Win32com的Client方法,根据第二目标内容数据对所述第二待替换的内容控件进行内容替换。
对于S54,重复执行步骤S52至步骤S54,直至完成所述已替换非内置控件的需求文档模板的遍历,从而自动完成了对所述待处理的需求文档模板中所有对象类型为Word内置内容控件的内容控件的内容替换。
对于S55,根据完成遍历的所述已替换非内置控件的需求文档模板和待处理的Win32com容器进行文档生成,将生成的文档作为所述目标需求文档模板。也就是说,将待处理的Win32com容器中的内容对所述已替换非内置控件的需求文档模板中对象类型为Word内置内容控件的所述内容控件进行替换,将替换结束的所述已替换非内置控件的需求文档模板作为所述目标需求文档模板。
在一个实施例中,上述基于所述待处理的Win32com容器,根据所述需求文档模板配置文件的所述待替换的内容数据对所述第二待替换的内容控件进行内容替换的步骤,包括:
S531:基于所述待处理的Win32com容器,获取Word内置内容控件集合,根据所述Word内置内容控件集合和所述需求文档模板配置文件的所述待替换的内容数据对所述第二待替换的内容控件进行内容替换。
本实施例实现了基于Win32com技术对对象类型为Word内置内容控件的内容控件进行内容替换,从而不需要对对象类型为Word内置内容控件的内容控件控进行人工修改替换,减少了后续人工修改内容控件的时间,进一步提升了产品经理的工作效率。
对于S531,获取Word内置内容控件集合,将所述待处理的Win32com容器中所述第二待替换的内容控件对应的key在所述Word内置内容控件集合中进行查找,当查找成功时,将在所述Word内置内容控件集合中查找到的ID对应的对象作为待替换的对象;采用contencontrol.Range.text将待替换的对象对所述待处理的Win32com容器中所述第二待替换的内容控件对应的Value进行替换。
参照图2,本申请还提出了一种需求文档模板的生成装置,所述装置包括:
请求获取模块100,用于获取需求文档模板生成请求,所述需求文档模板生成请求携带有需求文档模板配置文件;
模板库获取模块200,用于响应所述需求文档模板生成请求,获取第一级子模板库、第二级子模板库和第三级子模板库;
需求文档模板框架搭建模块300,用于基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板;
非Word内置内容控件内容替换模块400,用于基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据,对所述待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板;
Word内置内容控件内容替换模块500,用于基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的所述内容控件进行内容替换,得到目标需求文档模板。
本实施例通过首先基于滚动式模板技术,根据第一级子模板库、第二级子模板库、第三级子模板库和需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板,然后基于Docxtpl技术结合Jinja2技术,根据需求文档模板配置文件的待替换的内容数据,对待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板,最后基于Win32com技术,根据需求文档模板配置文件的待替换的内容数据,对已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的内容控件进行内容替换,得到目标需求文档模板,从而实现了自动化生成需求文档模板,避免通过对历史的需求文档进行人工剔除和清洗作为模板导致易遗留脏数据、易排版出错的技术问题,提升了产品经理的工作效率;对不同对象类型的内容控件采用不同的方法进行替换,提高了内容控件内容替换的准确性,减少了后续人工修改内容控件的时间,进一步提升了产品经理的工作效率。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于储存需求文档模板的生成方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种需求文档模板的生成方法。所述需求文档模板的生成方法,包括:获取需求文档模板生成请求,所述需求文档模板生成请求携带有需求文档模板配置文件;响应所述需求文档模板生成请求,获取第一级子模板库、第二级子模板库和第三级子模板库;基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板;基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据,对所述待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板;基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的所述内容控件进行内容替换,得到目标需求文档模板。
本实施例通过首先基于滚动式模板技术,根据第一级子模板库、第二级子模板库、第三级子模板库和需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板,然后基于Docxtpl技术结合Jinja2技术,根据需求文档模板配置文件的待替换的内容数据,对待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板,最后基于Win32com技术,根据需求文档模板配置文件的待替换的内容数据,对已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的内容控件进行内容替换,得到目标需求文档模板,从而实现了自动化生成需求文档模板,避免通过对历史的需求文档进行人工剔除和清洗作为模板导致易遗留脏数据、易排版出错的技术问题,提升了产品经理的工作效率;对不同对象类型的内容控件采用不同的方法进行替换,提高了内容控件内容替换的准确性,减少了后续人工修改内容控件的时间,进一步提升了产品经理的工作效率。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种需求文档模板的生成方法,包括步骤:获取需求文档模板生成请求,所述需求文档模板生成请求携带有需求文档模板配置文件;响应所述需求文档模板生成请求,获取第一级子模板库、第二级子模板库和第三级子模板库;基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板;基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据,对所述待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板;基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的所述内容控件进行内容替换,得到目标需求文档模板。
上述执行的需求文档模板的生成方法,通过首先基于滚动式模板技术,根据第一级子模板库、第二级子模板库、第三级子模板库和需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板,然后基于Docxtpl技术结合Jinja2技术,根据需求文档模板配置文件的待替换的内容数据,对待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板,最后基于Win32com技术,根据需求文档模板配置文件的待替换的内容数据,对已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的内容控件进行内容替换,得到目标需求文档模板,从而实现了自动化生成需求文档模板,避免通过对历史的需求文档进行人工剔除和清洗作为模板导致易遗留脏数据、易排版出错的技术问题,提升了产品经理的工作效率;对不同对象类型的内容控件采用不同的方法进行替换,提高了内容控件内容替换的准确性,减少了后续人工修改内容控件的时间,进一步提升了产品经理的工作效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种需求文档模板的生成方法,其特征在于,所述方法包括:
获取需求文档模板生成请求,所述需求文档模板生成请求携带有需求文档模板配置文件;
响应所述需求文档模板生成请求,获取第一级子模板库、第二级子模板库和第三级子模板库;
基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板;
基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据,对所述待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板;
基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的所述内容控件进行内容替换,得到目标需求文档模板;
其中,所述基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板的步骤,包括:
采用从头到尾遍历的方法,从所述需求文档模板配置文件的文档结构配置数据中读取一行数据,得到待处理的行配置数据;
当所述待处理的行配置数据是需求名称时,获取文档替换器名称列表,将所述待处理的行配置数据在所述文档替换器名称列表中进行查找,得到需求名称查找结果,当所述需求名称查找结果为成功时,根据所述需求名称查找结果对应的文档替换器确定当前文档替换器,否则,根据所述待处理的行配置数据构建文档替换器,得到待处理的文档替换器,从所述第一级子模板库中获取第一级子模板,得到待添加的第一级子模板,将所述待添加的第一级子模板添加到所述待处理的文档替换器中,将所述待处理的文档替换器作为所述当前文档替换器;
当所述待处理的行配置数据是用户故事名称时,获取所述当前文档替换器,从所述第二级子模板库中获取第二级子模板,得到待添加的第二级子模板,将所述待添加的第二级子模板添加到所述当前文档替换器;
当所述待处理的行配置数据是关联子***名称时,获取所述当前文档替换器,根据所述待处理的行配置数据从所述第三级子模板库中获取第三级子模板,得到待添加的第三级子模板集合,将所述待添加的第三级子模板集合添加到所述当前文档替换器;
重复执行所述采用从头到尾遍历的方法,从所述需求文档模板配置文件的文档结构配置数据中读取一行数据,得到待处理的行配置数据的步骤,直至完成所述需求文档模板配置文件中所述文档结构配置数据的遍历;
根据所述当前文档替换器,得到所述待处理的需求文档模板。
2.根据权利要求1所述的需求文档模板的生成方法,其特征在于,所述基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据,对所述待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板的步骤,包括:
基于Docxtpl技术,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件;
基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述第一待替换的内容控件进行内容替换;
重复执行所述基于Docxtpl技术,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件的步骤,直至完成所述待处理的需求文档模板的遍历;
根据完成遍历的所述待处理的需求文档模板确定所述已替换非内置控件的需求文档模板。
3.根据权利要求2所述的需求文档模板的生成方法,其特征在于,所述基于Docxtpl技术,采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件的步骤,包括:
通过所述Docxtpl技术的DocxTemplate方法获取所述待处理的需求文档模板;
根据所述待处理的需求文档模板生成Docxtpl容器,得到待处理的Docxtpl容器;
采用从头到尾遍历的方法,从所述待处理的需求文档模板中提取一个对象类型为非Word内置内容控件的内容控件,作为第一待替换的内容控件,将所述第一待替换的内容控件存储在所述待处理的Docxtpl容器中;
所述基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述第一待替换的内容控件进行内容替换的步骤,包括:
基于所述待处理的Docxtpl容器,判断所述第一待替换的内容控件是否包含图像,得到分类判断结果;
基于Docxtpl技术结合Jinja2技术,根据所述待处理的Docxtpl容器、所述分类判断结果和所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换。
4.根据权利要求3所述的需求文档模板的生成方法,其特征在于,所述基于Docxtpl技术结合Jinja2技术,根据所述待处理的Docxtpl容器、所述分类判断结果和所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换的步骤,包括:
当所述分类判断结果为包含图像时,基于所述待处理的Docxtpl容器,采用所述Docxtpl技术的InlineImage方法根据所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换;
当所述分类判断结果为不包含图像时,基于所述待处理的Docxtpl容器,采用所述Jinja2语法根据所述需求文档模板配置文件的所述待替换的内容数据对所述第一待替换的内容控件进行内容替换。
5.根据权利要求1所述的需求文档模板的生成方法,其特征在于,所述基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的所述内容控件进行内容替换,得到目标需求文档模板的步骤,包括:
根据所述已替换非内置控件的需求文档模板生成Win32com容器,得到待处理的Win32com容器;
基于Win32com技术,采用从头到尾遍历的方法,从所述已替换非内置控件的需求文档模板中获取一个对象类型为Word内置内容控件的内容控件,得到第二待替换的内容控件,将所述第二待替换的内容控件存储在所述待处理的Win32com容器中;
基于所述待处理的Win32com容器,根据所述需求文档模板配置文件的所述待替换的内容数据对所述第二待替换的内容控件进行内容替换;
重复执行所述基于Win32com技术,采用从头到尾遍历的方法,从所述已替换非内置控件的需求文档模板中获取一个对象类型为Word内置内容控件的内容控件,得到第二待替换的内容控件,将所述第二待替换的内容控件存储在所述待处理的Win32com容器中的步骤,直至完成所述已替换非内置控件的需求文档模板的遍历;
根据完成遍历的所述已替换非内置控件的需求文档模板确定所述目标需求文档模板。
6.根据权利要求5所述的需求文档模板的生成方法,其特征在于,所述基于所述待处理的Win32com容器,根据所述需求文档模板配置文件的所述待替换的内容数据对所述第二待替换的内容控件进行内容替换的步骤,包括:
基于所述待处理的Win32com容器,获取Word内置内容控件集合,根据所述Word内置内容控件集合和所述需求文档模板配置文件的所述待替换的内容数据对所述第二待替换的内容控件进行内容替换。
7.一种需求文档模板的生成装置,其特征在于,所述装置包括:
请求获取模块,用于获取需求文档模板生成请求,所述需求文档模板生成请求携带有需求文档模板配置文件;
模板库获取模块,用于响应所述需求文档模板生成请求,获取第一级子模板库、第二级子模板库和第三级子模板库;
需求文档模板框架搭建模块,用于基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板;
非Word内置内容控件内容替换模块,用于基于Docxtpl技术结合Jinja2技术,根据所述需求文档模板配置文件的待替换的内容数据,对所述待处理的需求文档模板中的对象类型为非Word内置内容控件的内容控件进行内容替换,得到已替换非内置控件的需求文档模板;
Word内置内容控件内容替换模块,用于基于Win32com技术,根据所述需求文档模板配置文件的所述待替换的内容数据,对所述已替换非内置控件的需求文档模板中的对象类型为Word内置内容控件的所述内容控件进行内容替换,得到目标需求文档模板;
其中,所述基于滚动式模板技术,根据所述第一级子模板库、所述第二级子模板库、所述第三级子模板库和所述需求文档模板配置文件进行需求文档模板的框架搭建,得到待处理的需求文档模板的步骤,包括:
采用从头到尾遍历的方法,从所述需求文档模板配置文件的文档结构配置数据中读取一行数据,得到待处理的行配置数据;
当所述待处理的行配置数据是需求名称时,获取文档替换器名称列表,将所述待处理的行配置数据在所述文档替换器名称列表中进行查找,得到需求名称查找结果,当所述需求名称查找结果为成功时,根据所述需求名称查找结果对应的文档替换器确定当前文档替换器,否则,根据所述待处理的行配置数据构建文档替换器,得到待处理的文档替换器,从所述第一级子模板库中获取第一级子模板,得到待添加的第一级子模板,将所述待添加的第一级子模板添加到所述待处理的文档替换器中,将所述待处理的文档替换器作为所述当前文档替换器;
当所述待处理的行配置数据是用户故事名称时,获取所述当前文档替换器,从所述第二级子模板库中获取第二级子模板,得到待添加的第二级子模板,将所述待添加的第二级子模板添加到所述当前文档替换器;
当所述待处理的行配置数据是关联子***名称时,获取所述当前文档替换器,根据所述待处理的行配置数据从所述第三级子模板库中获取第三级子模板,得到待添加的第三级子模板集合,将所述待添加的第三级子模板集合添加到所述当前文档替换器;
重复执行所述采用从头到尾遍历的方法,从所述需求文档模板配置文件的文档结构配置数据中读取一行数据,得到待处理的行配置数据的步骤,直至完成所述需求文档模板配置文件中所述文档结构配置数据的遍历;
根据所述当前文档替换器,得到所述待处理的需求文档模板。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110425548.0A CN113011151B (zh) | 2021-04-20 | 2021-04-20 | 需求文档模板的生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110425548.0A CN113011151B (zh) | 2021-04-20 | 2021-04-20 | 需求文档模板的生成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113011151A CN113011151A (zh) | 2021-06-22 |
CN113011151B true CN113011151B (zh) | 2022-03-18 |
Family
ID=76389025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110425548.0A Active CN113011151B (zh) | 2021-04-20 | 2021-04-20 | 需求文档模板的生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113011151B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610927A (zh) * | 2016-12-19 | 2017-05-03 | 厦门二五八网络科技集团股份有限公司 | 一种基于翻译模板的互联网文章的建构方法与*** |
CN110837727A (zh) * | 2019-10-23 | 2020-02-25 | 深圳价值在线信息科技股份有限公司 | 一种文档模板生成方法、装置、终端设备及介质 |
CN111950247A (zh) * | 2020-07-08 | 2020-11-17 | 北京明略软件***有限公司 | 一种基于配置的Word文档生成方法 |
CN112329413A (zh) * | 2019-08-02 | 2021-02-05 | 阿里巴巴集团控股有限公司 | 模板搭建方法、文件生成方法、模板***、装置及计算机设备 |
-
2021
- 2021-04-20 CN CN202110425548.0A patent/CN113011151B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610927A (zh) * | 2016-12-19 | 2017-05-03 | 厦门二五八网络科技集团股份有限公司 | 一种基于翻译模板的互联网文章的建构方法与*** |
CN112329413A (zh) * | 2019-08-02 | 2021-02-05 | 阿里巴巴集团控股有限公司 | 模板搭建方法、文件生成方法、模板***、装置及计算机设备 |
CN110837727A (zh) * | 2019-10-23 | 2020-02-25 | 深圳价值在线信息科技股份有限公司 | 一种文档模板生成方法、装置、终端设备及介质 |
CN111950247A (zh) * | 2020-07-08 | 2020-11-17 | 北京明略软件***有限公司 | 一种基于配置的Word文档生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113011151A (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297656B (zh) | 基于配置模型评审代码的方法、装置及计算机设备 | |
CN110472219B (zh) | 电子文件生成方法、装置、计算机设备和存储介质 | |
CN109933754B (zh) | 查找合同修改部分的方法、装置、计算机设备和存储介质 | |
CN113536735B (zh) | 一种基于关键词的文本标记方法、***和存储介质 | |
CN110765741A (zh) | 数据处理的方法、装置、计算机设备和存储介质 | |
CN111831920A (zh) | 用户需求分析方法、装置、计算机设备及存储介质 | |
CN111813630A (zh) | 收集日志信息的方法、装置和计算机设备 | |
CN113011151B (zh) | 需求文档模板的生成方法、装置、设备及存储介质 | |
CN108897727B (zh) | 合同备案方法、装置、计算机设备和存储介质 | |
CN112580122B (zh) | 图纸处理方法、装置、计算机设备和存储介质 | |
CN112541739B (zh) | 问答意图分类模型的测试方法、装置、设备及介质 | |
CN112528882A (zh) | 基于ocr识别房产证信息确定方法、装置、设备及介质 | |
CN113408244B (zh) | Java应用生成Word文档方法、装置、设备及介质 | |
CN109657210B (zh) | 基于语义解析的文本准确率计算方法、装置、计算机设备 | |
CN113986245A (zh) | 基于halo平台的目标代码生成方法、装置、设备及介质 | |
CN114968346A (zh) | Ddl脚本的字段注释检测方法、装置、设备及存储介质 | |
CN113448982A (zh) | Ddl语句的解析方法、装置、计算机设备及存储介质 | |
CN113918461A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN113760361A (zh) | 代码文件生成方法、计算机设备及可读存储介质 | |
CN114387429A (zh) | 基于rpa及ai的车辆产权证处理方法、装置、设备及介质 | |
CN113128191B (zh) | 一种仲裁文书脚本化生成的方法及装置 | |
CN109710904B (zh) | 基于语义解析的文本准确率计算方法、装置、计算机设备 | |
CN114661713B (zh) | 数据同步方法、装置、设备及存储介质 | |
CN113850081B (zh) | 基于人工智能的文本处理方法、装置、设备及介质 | |
CN115062252B (zh) | 一种解决网页生成文件在WPS和Word打开时格式冲突的方法 |
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 |