一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文档生成方法、装置、设备及存储介质与流程

2022-06-11 07:43:15 来源:中国专利 TAG:


1.本技术涉及人工智能的技术领域,尤其涉及一种文档生成方法、装置、设备及存储介质。


背景技术:

2.当前,在工作过程中经常会涉及到信息的交互、公文的制定等内容,现有技术中,报告文档的输出大多采用硬编码的方式来实现,对于这种实现方法,一旦文档模板内容、格式或者数据源发生修改,都得对应修改代码,不够灵活。


技术实现要素:

3.本技术的主要目的在于提供一种文档生成方法、装置、设备及存储介质,旨在实现文档内容的灵活修改以及目标格式文档的输出。
4.第一方面,本技术提供一种文档生成方法,包括:
5.当接收到文档生成指令时,根据所述文档生成指令获取原始文档、数据源标识信息以及目标文档格式;
6.识别所述原始文档中的通配符信息,并根据所述通配符信息获取数据加载器类型以及数据描述信息;
7.根据所述数据源标识信息以及所述数据加载器类型获取目标数据加载器;
8.根据所述数据描述信息从所述目标数据加载器中获取目标数据;
9.将所述原始文档的所述通配符信息替换为所述目标数据,得到中间文档;
10.根据所述目标文档格式匹配文档格式转换器,并根据所述文档格式转换器对所述中间文档进行格式转换,得到目标文档。
11.第二方面,本技术还提供一种文档生成装置,所述文档生成装置包括:
12.指令接收模块,用于当接收到文档生成指令时,根据所述文档生成指令获取原始文档、数据源标识信息以及目标文档格式;
13.识别模块,用于识别所述原始文档中的通配符信息,并根据所述通配符信息获取数据加载器类型以及数据描述信息;
14.数据加载器匹配模块,用于根据所述数据源标识信息以及所述数据加载器类型获取目标数据加载器;
15.目标数据获取模块,用于根据所述数据描述信息从所述目标数据加载器中获取目标数据;
16.中间文档生成模块,用于将所述原始文档的所述通配符信息替换为所述目标数据,得到中间文档;
17.目标文档生成模块,用于根据所述目标文档格式匹配文档格式转换器,并根据所述文档格式转换器对所述中间文档进行格式转换,得到目标文档。
18.第三方面,本技术还提供一种计算机设备,所述计算机设备包括处理器、存储器、
以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上所述的文档生成方法的步骤。
19.第四方面,本技术还提供一种存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上所述的文档生成方法的步骤。
20.本技术提供一种文档生成方法、装置、设备及存储介质,本技术中,当接收到文档生成指令时,获取原始文档、数据源标识信息以及目标文档格式;识别原始文档中的通配符信息,并根据通配符信息以及数据源标识信息确定目标数据加载器,且利用通配符信息中的数据描述信息从目标数据加载器中获取目标数据,将原始文档的通配符信息替换为目标数据后,即可根据目标文档格式来匹配文档格式转换器,并进行文档格式转换,得到目标文档。通过本技术所提出的技术方案,实现了文档内容的灵活修改以及目标文档格式的转换输出。另外,利用同一份原始文档,通过更改数据源标识信息或目标文档格式,即可输出不同的目标文档,可实现模板文档的批量输出。
附图说明
21.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1为本技术实施例提供的一种文档生成方法的步骤流程示意图;
23.图2为本技术实施例提供的一种文档生成装置的示意性框图;
24.图3为本技术实施例提供的一种计算机设备的结构示意性框图。
25.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
26.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。
28.本技术实施例提供一种文档生成方法、装置、设备及存储介质。其中,该文档生成方法可应用于终端设备或服务器中,该终端设备可以为手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备;该服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。以下以该文档生成方法应用于服务器为例进行解释说明。
29.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
30.请参照图1,图1为本技术实施例提供的一种文档生成方法的步骤流程示意图。
31.如图1所示,该文档生成方法包括步骤s10至步骤s15。
32.步骤s10、当接收到文档生成指令时,根据所述文档生成指令获取原始文档、数据源标识信息以及目标文档格式。
33.可以理解,当本技术应用于服务器时,文档生成指令可以为服务器接收到的来自终端设备的网络请求,也可以为其他形式的文档操作命令,在此不做限制。相应的,当本技术应用于终端设备时,文档生成指令可以为终端设备捕捉到的触摸屏幕事件或者点击鼠标事件,也可以为其他形式的文档操作指令,在此不做限制。
34.根据文档生成指令可以获取原始文档、数据源标识信息以及目标文档格式。其中,原始文档为待处理的文档;根据数据源标识信息可以确定用于修改原始文档的数据源;目标文档格式为对原始文档进行处理后,得到的目标文档对应的格式。
35.步骤s11、识别所述原始文档中的通配符信息,并根据所述通配符信息获取数据加载器类型以及数据描述信息。
36.在一些实施方式中,通配符信息可以为由特定字符以及括号包围的信息,其中,括号内包含有数据加载器类型以及数据描述信息;通配符信息也可以为根据其他约定好的规则编写得到的字符信息,在此不做限制。
37.示例性的,假设原始文档中包括以下内容:“为了让公司更好的发展,经商议,现决定任命${companyinfodataloader.username:text:0,10}为公司董事”。其中,“${companyinfodataloader.username:text:0,10}”为原始文档中的通配符信息,“companyinfodataloader”为数据加载器类型,“username:text:0,10”为数据描述信息。
38.可以理解,通配符信息还可以为由其他约定好的字符包围的信息,在此不做限制,利用通配符信息可以提取数据加载器类型以及数据描述信息。并且,原始文档中可以包括任意数量的通配符信息,在此不做限制。
39.步骤s12、根据所述数据源标识信息以及所述数据加载器类型获取目标数据加载器。
40.其中,数据源标识信息为可以标识数据源的信息。示例性的,可以为用于标识订单的订单id,也可以为其他用于标识数据身份的对象id以及类型,在此不做限制。在一些实施方式中,数据源为json数据,也可以为其他类型的可以承载内容的数据,在此不做限制。
41.可以理解,不同的数据源有不同的数据结构,比如用户信息数据源的数据结构包括用户名、年龄、性别、头像等;保险单信息数据源的数据结构则包括参保品类、参保金额、投保人信息、生效日期等。相应的,不同的数据源需要使用不同类型的数据加载器来加载,示例性的,当需要加载的数据源为用户信息时,对应的目标数据加载器为数据加载器类型对应用户信息的数据加载器;同理,当需要加载的数据源为公司信息时,则对应的目标数据加载器为数据加载器类型对应公司信息的数据加载器。
42.利用数据加载器类型匹配对应的数据加载器,数据加载器再根据数据源标识信息加载数据源,即得到目标数据加载器。
43.在一些实施方式中,步骤s12包括:
44.从缓存空间中获取与所述数据源标识信息匹配的数据加载器;
45.当所述缓存空间中不存在所述数据加载器时,从本地磁盘中获取所述数据加载器,并将所述数据加载器存储到所述缓存空间中;
46.从数据库中获取与所述数据源标识信息匹配的目标数据源,并根据所述目标数据
源加载所述数据加载器,得到目标数据加载器。
47.可以理解,从缓存空间中获取数据加载器要比从本地磁盘中获取数据加载器的速度更快、效率更高。因此,优先尝试从缓存空间获取数据加载器,如果从缓存空间中获取数据加载器失败,再从本地磁盘中获取数据加载器。获取成功后,将数据加载器存储到缓存空间中,可以避免下次还需要用到这个数据加载器的时候,还得从本地磁盘获取,可以节省获取数据加载器的时间。
48.步骤s13、根据所述数据描述信息从所述目标数据加载器中获取目标数据。
49.其中,结合目标数据加载器以及数据描述信息可以确定原始文档在对应通配符的位置所要展示的内容,也即目标数据。
50.在一些实施方式中,所述数据描述信息包括匹配关键字、关键值类型以及关键值描述信息,所述根据所述数据描述信息从所述目标数据加载器中获取目标数据,包括:
51.从所述目标数据加载器中获取与所述匹配关键字匹配的目标关键值;
52.根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据。
53.可以理解,根据数据描述信息中的匹配关键字可以从目标数据加载器中获取目标关键值;另外,数据描述信息中的关键值类型为目标关键值的展示类型,根据数据描述信息中的关键值描述信息则可以确定目标关键值如何展示,以得到目标数据。
54.在一些实施方式中,关键值类型包括:“text”、“checkbox”、“pic”等类型,其中,“text”对应文字类型,“checkbox”对应选框类型,“pic”对应图片类型。另外,关键值类型还可以包括其他类型,并且,也可以使用其他字符来对应文字类型、选框类型以及图片类型,在此不做限制。
55.在一些实施方式中,所述根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据,包括:
56.当所述关键值类型为图片类型时,从所述关键值描述信息中获取目标长度以及目标宽度;
57.构建图片渲染控件,并根据所述目标长度设置所述图片渲染控件的长度,且根据所述目标宽度设置所述图片渲染控件的宽度;
58.根据所述目标关键值加载所述图片渲染控件,得到目标数据。
59.在一些实施方式中,当关键值类型的值等于“pic”时,确定关键值类型为图片类型,当然,也可以使用其他如“photo”之类的字符来表征图片类型。具体使用什么字符来表征图片类型,与原始文档编写方约定好即可,在此不做限定。
60.当关键值类型为图片类型时,获取到的目标关键值为对应展示图片的加载地址,也可以为展示图片的二进制数据,还可以为其他类型的用于加载展示图片的数据,在此不做限制。
61.相应的,关键值描述信息中记录有展示图片的长度以及宽度,分别对应目标长度以及目标宽度。根据目标长度以及目标宽度来设置图片渲染控件的长度以及宽度,图片渲染控件再根据目标关键值来加载展示图片,即得到目标数据。
62.根据本实施方式所提供的技术方案,可以让最终输出的文档在展示图片信息时,指定图片展示的长度以及宽度。
63.示例性的,假设目标数据加载器包括的信息如下表一所示。
64.表一、
65.keyvalueusername张三age18gender男sign努力学习,天天向上,努力工作,认真生活headportraitwww.xxxxx.com/header?uri=xxxx
66.假设数据描述信息为“headportrait:pic:800_600”,此时,对应的匹配关键字为“headportrait”,关键值类型为“pic”,关键值描述信息为“800_600”。
67.因为关键值类型的值为“pic”,则确定该数据描述信息对应的通配符信息所要展示的为图片数据。根据匹配关键字“headportrait”从目标数据加载器中获取到的目标关键值“www.xxxxx.com/header?uri=xxxx”,为图片加载地址。并且,从关键值描述信息中获取到的目标长度为800px,目标高度为600px。
68.则,将图片渲染控件的宽度设置为800px,将图片渲染控件的高度设置为600px,并以“www.xxxxx.com/header?uri=xxxx”作为图片地址来让图片渲染控件进行加载,即得到目标数据。
69.在一些实施方式中,所述根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据,包括:
70.当所述关键值类型为选框类型时,从所述关键值描述信息中获取选项列表;
71.构建文字渲染控件,并根据预设的分隔字符将所述选项列表渲染到所述文字渲染控件中;
72.根据所述目标关键值设置所述所述文字渲染控件的选项选中状态,得到目标数据。
73.在一些实施方式中,当关键值类型的值等于“checkbox”时,确定关键值类型为选框类型,当关键值类型为选框类型时,选框可以是单选框,也可以是多选框。当然,也可以使用其他如“choices”之类的字符来表征选框类型。具体使用什么字符来表征选框类型,与原始文档编写方约定好即可,在此不做限定。
74.另外,当关键值类型为选框类型时,获取到的目标关键值为当前选中的选项,相应的,关键值描述信息中记录的是备选的选项列表信息。
75.在一些实施方式中,预设的分隔字符可以设置为如“\n”的换行加空格的组合字符,也可以设置为其他字符,在此不做限制。设置选项选中状态时,可以设置目标关键值对应的选项的字体颜色为如红色的特定颜色,也可以通过其他方式来让目标关键值对应的选项与其他选项进行区分显示,在此不做限制。
76.根据本实施方式所提供的技术方案,可以让最终输出的文档在展示选框信息时,既可以显示出备选的选项列表,又可以智能匹配突出显示当前选中的选项。
77.示例性的,假设目标数据加载器包括的信息如表一所示.假设数据描述信息为“gender:checkbox:['男','女','保密']”,此时,对应的匹配关键字为“gender”,关键值类型为“checkbox”,关键值描述信息为“['男','女','保密']”。
[0078]
因为关键值类型的值为“checkbox”,故确定该数据描述信息对应的通配符信息所
要展示的为选框数据。根据匹配关键字“gender”从目标数据加载器中获取到的目标关键值为“男”。并且,从关键值描述信息中获取到的选项列表包括三个选项,分别为"男"、"女"以及"保密"。在渲染的过程中,通过预设的分隔字符分别将"男"、"女"以及"保密"这三个选项渲染到文字渲染控件中,再将“男”这个选项设为选中状态,即可得到目标数据。
[0079]
在一些实施方式中,所述根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据,包括:
[0080]
当所述关键值类型为文字类型时,从所述关键值描述信息中获取文字截取起始位置以及文字截取长度;
[0081]
根据所述文字截取起始位置以及所述文字截取长度对所述目标关键值进行文字截取,得到文字截取结果;
[0082]
构建文字渲染控件,并将所述文字截取结果渲染到所述文字渲染控件中,得到目标数据。
[0083]
在一些实施方式中,当关键值类型的值等于“text”时,确定关键值类型为文字类型,当然,也可以使用其他字符来表征文字类型。具体使用什么字符来表征文字类型,与原始文档编写方约定好即可,在此不做限定。
[0084]
当关键值类型为文字类型时,获取到的目标关键值为初始文字内容。相应的,关键值描述信息中记录有文字截取起始位置以及文字截取长度,用于对初始文字内容进行截取,得到用于展示的文字截取结果。
[0085]
根据本实施方式所提供的技术方案,可以让最终输出的文档在展示文字信息时限制展示长度,只展示用户想要展示的蚊子内容,灵活性高。
[0086]
示例性的,假设目标数据加载器包括的信息如表一所示。假设关键值描述信息为“sign:text:0,10”,此时,对应的匹配关键字为“sign”,关键值类型为“text”,关键值描述信息为“0,10”。
[0087]
因为关键值类型的值为“text”,则确定该通配符信息所要展示的为文字数据。根据匹配关键字“sign”从目标数据加载器中获取到的目标关键值为“努力学习,天天向上,努力工作,认真生活”。并且,从关键值描述信息中获取到的文字截取起始位置为0,获取到的文字截取长度为10。则根据文字截取起始位置以及文字截取长度对目标关键值进行文字截取,截取掉的部分用省略号表示,则所得到文字截取结果为“努力学习,天天向上,...”。利用文字渲染控件渲染文字截取结果,即得到目标数据。
[0088]
现有技术中,若通过数组来存储数据,数组是通过桶数据来存储数据的,多个桶数据构成桶列表,形成数组。
[0089]
需要获取数组中的桶数据时,通常需要先确定桶数据在桶列表所处的位置,再根据该位置从数组中获取得到;如果无法确定桶数据在桶列表所处的位置,则需要通过遍历桶列表来逐个分辨,识别到是匹配需要的桶数据时再获取,这种方式效率低下,十分麻烦。
[0090]
在一些实施方式中,本技术在目标数据加载器为数组类型时,在目标数据加载器存取匹配关键字以及目标关键值的时候,会先计算匹配关键字对应的哈希值与桶列表的桶数量的求余结果。再根据求余结果来存取数据,可以极大地提高数据存取效率,节省数据存取时间。
[0091]
具体的,所述从所述目标数据加载器中获取与所述匹配关键字匹配的目标关键
值,包括:
[0092]
获取所述目标数据加载器用于存储数据的桶列表;
[0093]
确定所述桶列表的桶数量为第一数值,并确定所述匹配关键字对应的哈希值为匹配哈希值;
[0094]
利用所述匹配哈希值对所述第一数值进行求余处理,得到第二数值;
[0095]
从所述桶列表中获取存储位置对应所述第二数值的目标桶数据,并从所述目标桶数据中提取桶关键字以及桶关键值;
[0096]
当所述桶关键字与所述匹配关键字匹配时,确定所述桶关键值为目标关键值。
[0097]
可以理解,目标数据加载器为数组类型时,目标数据加载器会先构建预设个数的空的桶数据,以得到桶列表,并通过桶列表来存储数据。桶列表的桶数量即为第一数值,匹配关键字对应的哈希值即为匹配哈希值,匹配哈希值对第一数值的求余结果即为第二数值。
[0098]
可以理解,第二数值必定小于第一数值。在目标数据加载器存储匹配关键字以及目标关键值时,可以先判断桶列表对应第二数值的位置是否存储有数据,如果未存储有数据,则将匹配关键字以及目标关键值存储到桶列表对应第二数值的位置中。
[0099]
相应的,在根据匹配关键字从目标数据加载器获取目标关键值时,也可以先从桶列表中获取对应第二数值的位置的目标桶数据。再判断目标桶数据中的桶关键字是否与匹配关键字匹配,如果匹配,则确定桶关键值为目标关键值。
[0100]
在一些实施方式中,所述当所述桶关键字与所述匹配关键字匹配时,确定所述桶关键值为目标关键值之后,所述方法还包括:
[0101]
当所述桶关键字与所述匹配关键字不匹配时,判断所述第二数值是否大于0;
[0102]
当所述第二数值大于0时,对所述第二数值进行减一处理,并重新执行所述从所述桶列表中获取存储位置对应所述第二数值的目标桶数据的步骤;
[0103]
当所述第二数值等于0时,确定所述第二数值为所述第一数值,并对所述第二数值进行减一处理,且重新执行所述从所述桶列表中获取存储位置对应所述第二数值的目标桶数据的步骤。
[0104]
可以理解,在目标数据加载器存储匹配关键字以及目标关键值时,如果桶列表对应第二数值的位置已经存储有数据,则可以先判断第二数值是否大于0,如果第二数值大于0,则对第二数值进行减一处理,再判断桶列表对应第二数值的位置是否存储有数据,如此类推,直到找到桶列表未存储有桶数据的位置,以将匹配关键字以及目标关键值存储到该位置中。如果第二数值等于0,则确定第二数值为第一数值,再判断桶列表对应第二数值的位置是否存储有数据,如此类推,直到找到桶列表未存储有桶数据的位置,将匹配关键字以及目标关键值存储到该位置中。
[0105]
相应的,在根据匹配关键字从目标数据加载器获取目标关键值时,如果桶列表对应第二数值的位置已经存储有数据,则可以先判断第二数值是否大于0,如果第二数值大于0,则对第二数值进行减一处理,再重新执行上述从桶列表中获取存储位置对应第二数值的目标桶数据的步骤,直到找到桶关键字与匹配关键字匹配对应的桶数据,并从该桶数据中获取目标关键值。同理,如果第二数值等于0,则确定第二数值为第一数值,再重新执行上述从桶列表中获取存储位置对应第二数值的目标桶数据的步骤,直到找到桶关键字与匹配关
键字匹配对应的桶数据,并从该桶数据中获取目标关键值。
[0106]
步骤s14、将所述原始文档的所述通配符信息替换为所述目标数据,得到中间文档。
[0107]
可以理解,确定好原始文档中各个通配符信息对应的目标数据后,将原始文档中的各个通配符信息替换为对应的目标数据,所得到的文档即为中间文档。
[0108]
步骤s15、根据所述目标文档格式匹配文档格式转换器,并根据所述文档格式转换器对所述中间文档进行格式转换,得到目标文档。
[0109]
可以理解,不同的文档格式转换器可以将中间文档转换成不同的格式,格式转换后得到的文档即为目标文档。
[0110]
示例性的,当目标文档格式为pdf格式时,匹配得到的文档格式转换器为pdf格式转换器,利用该文档格式转换器可以将中间文档转换成pdf格式;当目标文档格式为html格式时,匹配得到的文档格式转换器为html格式转换器,利用该文档格式转换器可以将中间文档转换成html格式,如此类推。
[0111]
本技术中,当接收到文档生成指令时,获取原始文档、数据源标识信息以及目标文档格式;识别原始文档中的通配符信息,并根据通配符信息以及数据源标识信息确定目标数据加载器,且利用通配符信息中的数据描述信息从目标数据加载器中获取目标数据,将原始文档的通配符信息替换为目标数据后,即可根据目标文档格式来匹配文档格式转换器,并进行文档格式转换,得到目标文档。通过本技术所提出的技术方案,实现了文档内容的灵活修改以及目标文档格式的转换输出。另外,利用同一份原始文档,通过更改数据源标识信息或目标文档格式,即可输出不同的目标文档,可实现模板文档的批量输出。
[0112]
请参照图2,图2为本技术实施例提供的一种文档生成装置的示意性框图。
[0113]
如图2所示,该文档生成装置201,包括:
[0114]
指令接收模块2011,用于当接收到文档生成指令时,根据所述文档生成指令获取原始文档、数据源标识信息以及目标文档格式;
[0115]
识别模块2012,用于识别所述原始文档中的通配符信息,并根据所述通配符信息获取数据加载器类型以及数据描述信息;
[0116]
数据加载器匹配模块2013,用于根据所述数据源标识信息以及所述数据加载器类型获取目标数据加载器;
[0117]
目标数据获取模块2014,用于根据所述数据描述信息从所述目标数据加载器中获取目标数据;
[0118]
中间文档生成模块2015,用于将所述原始文档的所述通配符信息替换为所述目标数据,得到中间文档;
[0119]
目标文档生成模块2016,用于根据所述目标文档格式匹配文档格式转换器,并根据所述文档格式转换器对所述中间文档进行格式转换,得到目标文档。
[0120]
在一些实施方式中,所述数据描述信息包括匹配关键字、关键值类型以及关键值描述信息,所述目标数据获取模块2014在根据所述数据描述信息从所述目标数据加载器中获取目标数据时,包括:
[0121]
从所述目标数据加载器中获取与所述匹配关键字匹配的目标关键值;
[0122]
根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据。
[0123]
在一些实施方式中,所述目标数据获取模块2014在根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据时,包括:
[0124]
当所述关键值类型为图片类型时,从所述关键值描述信息中获取目标长度以及目标宽度;
[0125]
构建图片渲染控件,并根据所述目标长度设置所述图片渲染控件的长度,且根据所述目标宽度设置所述图片渲染控件的宽度;
[0126]
根据所述目标关键值加载所述图片渲染控件,得到目标数据。
[0127]
在一些实施方式中,所述目标数据获取模块2014在根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据时,包括:
[0128]
当所述关键值类型为选框类型时,从所述关键值描述信息中获取选项列表;
[0129]
构建文字渲染控件,并根据预设的分隔字符将所述选项列表渲染到所述文字渲染控件中;
[0130]
根据所述目标关键值设置所述所述文字渲染控件的选项选中状态,得到目标数据。
[0131]
在一些实施方式中,所述目标数据获取模块2014在根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据时,包括:
[0132]
当所述关键值类型为文字类型时,从所述关键值描述信息中获取文字截取起始位置以及文字截取长度;
[0133]
根据所述文字截取起始位置以及所述文字截取长度对所述目标关键值进行文字截取,得到文字截取结果;
[0134]
构建文字渲染控件,并将所述文字截取结果渲染到所述文字渲染控件中,得到目标数据。
[0135]
在一些实施方式中,所述目标数据获取模块2014在从所述目标数据加载器中获取与所述匹配关键字匹配的目标关键值时,包括:
[0136]
获取所述目标数据加载器用于存储数据的桶列表;
[0137]
确定所述桶列表的桶数量为第一数值,并确定所述匹配关键字对应的哈希值为匹配哈希值;
[0138]
利用所述匹配哈希值对所述第一数值进行求余处理,得到第二数值;
[0139]
从所述桶列表中获取存储位置对应所述第二数值的目标桶数据,并从所述目标桶数据中提取桶关键字以及桶关键值;
[0140]
当所述桶关键字与所述匹配关键字匹配时,确定所述桶关键值为目标关键值。
[0141]
在一些实施方式中,所述目标数据获取模块2014在当所述桶关键字与所述匹配关键字匹配时,确定所述桶关键值为目标关键值之后,还包括:
[0142]
当所述桶关键字与所述匹配关键字不匹配时,判断所述第二数值是否大于0;
[0143]
当所述第二数值大于0时,对所述第二数值进行减一处理,并重新执行所述从所述桶列表中获取存储位置对应所述第二数值的目标桶数据的步骤;
[0144]
当所述第二数值等于0时,确定所述第二数值为所述第一数值,并对所述第二数值进行减一处理,且重新执行所述从所述桶列表中获取存储位置对应所述第二数值的目标桶数据的步骤。
[0145]
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块及单元的具体工作过程,可以参考前述文档生成方法实施例中的对应过程,在此不再赘述。
[0146]
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。
[0147]
请参阅图3,图3为本技术实施例提供的一种计算机设备的结构示意性框图。该计算机设备包括但不限定于服务器。
[0148]
如图3所示,该计算机设备301包括通过系统总线连接的处理器3011、存储器和网络接口,其中,存储器可以包括存储介质3012和内存储器3015,存储介质3012可以是非易失性的,也可以是易失性的。
[0149]
存储介质3012可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器3011执行任意一种文档生成方法。
[0150]
处理器3011用于提供计算和控制能力,支撑整个计算机设备的运行。
[0151]
内存储器3015为存储介质3012中的计算机程序的运行提供环境,该计算机程序被处理器3011执行时,可使得处理器3011执行任意一种文档生成方法。
[0152]
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0153]
应当理解的是,处理器3011可以是中央处理单元(central processing unit,cpu),该处理器3011还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0154]
其中,在一些实施方式中,所述处理器3011用于运行存储在存储器中的计算机程序,以实现如下步骤:
[0155]
当接收到文档生成指令时,根据所述文档生成指令获取原始文档、数据源标识信息以及目标文档格式;
[0156]
识别所述原始文档中的通配符信息,并根据所述通配符信息获取数据加载器类型以及数据描述信息;
[0157]
根据所述数据源标识信息以及所述数据加载器类型获取目标数据加载器;
[0158]
根据所述数据描述信息从所述目标数据加载器中获取目标数据;
[0159]
将所述原始文档的所述通配符信息替换为所述目标数据,得到中间文档;
[0160]
根据所述目标文档格式匹配文档格式转换器,并根据所述文档格式转换器对所述中间文档进行格式转换,得到目标文档。
[0161]
在一些实施方式中,所述数据描述信息包括匹配关键字、关键值类型以及关键值描述信息,所述处理器3011在根据所述数据描述信息从所述目标数据加载器中获取目标数据时,用于实现:
[0162]
从所述目标数据加载器中获取与所述匹配关键字匹配的目标关键值;
[0163]
根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据。
[0164]
在一些实施方式中,所述处理器3011在根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据时,用于实现:
[0165]
当所述关键值类型为图片类型时,从所述关键值描述信息中获取目标长度以及目标宽度;
[0166]
构建图片渲染控件,并根据所述目标长度设置所述图片渲染控件的长度,且根据所述目标宽度设置所述图片渲染控件的宽度;
[0167]
根据所述目标关键值加载所述图片渲染控件,得到目标数据。
[0168]
在一些实施方式中,所述处理器3011在根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据时,用于实现:
[0169]
当所述关键值类型为选框类型时,从所述关键值描述信息中获取选项列表;
[0170]
构建文字渲染控件,并根据预设的分隔字符将所述选项列表渲染到所述文字渲染控件中;
[0171]
根据所述目标关键值设置所述所述文字渲染控件的选项选中状态,得到目标数据。
[0172]
在一些实施方式中,所述处理器3011在根据所述目标关键值、所述关键值类型以及所述关键值描述信息确定目标数据时,用于实现:
[0173]
当所述关键值类型为文字类型时,从所述关键值描述信息中获取文字截取起始位置以及文字截取长度;
[0174]
根据所述文字截取起始位置以及所述文字截取长度对所述目标关键值进行文字截取,得到文字截取结果;
[0175]
构建文字渲染控件,并将所述文字截取结果渲染到所述文字渲染控件中,得到目标数据。
[0176]
在一些实施方式中,所述处理器3011在从所述目标数据加载器中获取与所述匹配关键字匹配的目标关键值时,用于实现:
[0177]
获取所述目标数据加载器用于存储数据的桶列表;
[0178]
确定所述桶列表的桶数量为第一数值,并确定所述匹配关键字对应的哈希值为匹配哈希值;
[0179]
利用所述匹配哈希值对所述第一数值进行求余处理,得到第二数值;
[0180]
从所述桶列表中获取存储位置对应所述第二数值的目标桶数据,并从所述目标桶数据中提取桶关键字以及桶关键值;
[0181]
当所述桶关键字与所述匹配关键字匹配时,确定所述桶关键值为目标关键值。
[0182]
在一些实施方式中,所述处理器3011在当所述桶关键字与所述匹配关键字匹配时,确定所述桶关键值为目标关键值之后,还用于实现:
[0183]
当所述桶关键字与所述匹配关键字不匹配时,判断所述第二数值是否大于0;
[0184]
当所述第二数值大于0时,对所述第二数值进行减一处理,并重新执行所述从所述桶列表中获取存储位置对应所述第二数值的目标桶数据的步骤;
[0185]
当所述第二数值等于0时,确定所述第二数值为所述第一数值,并对所述第二数值
进行减一处理,且重新执行所述从所述桶列表中获取存储位置对应所述第二数值的目标桶数据的步骤。
[0186]
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述计算机设备的具体工作过程,可以参考前述文档生成方法实施例中的对应过程,在此不再赘述。
[0187]
本技术实施例还提供一种存储介质,该存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本技术文档生成方法的各个实施例。
[0188]
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
[0189]
应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0190]
还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0191]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献