1.本发明涉及文档预览技术领域,尤其涉及一种文档预览实现系统。
背景技术:
2.随着互联网技术的发展,人们在日常工作、生活中经常需要通过网络查询文档资料。一般情况下,人们需要把网络文档下载到计算机本地打开才能查看其中的文档内容,但通常文档中并不是所有内容都对人们有用,并且一些比较大的文档下载需要花费较长时间,在文档中仅有部分内容有效时,下载所花费的额外时间会极大地降低用户的体验。在将文档下载到计算机本地后,若文档容量较大,打开文档也会花去较长时间,并且文档中的内容是从头逐页生成显示,并不能直接让用户看到自己需要的内容,其显示速度受计算机性能制约,因此需要一种能够根据用户需求快速显示文档相应内容实现预览的系统。
技术实现要素:
3.鉴于此,本发明的目的在于提供一种文档预览实现系统,以克服或至少部分解决现有技术所存在的上述问题。
4.为实现上述发明目的,本发明提供一种文档预览实现系统,包括:
5.文档获取模块,用于用户输入所指定的文档的存放路径,根据存放路径获取用户指定文档;
6.文档拆分模块,用于将所获取的用户指定文档根据文档内容类型拆分为多个相连接的拼接结构块;
7.条件设置模块,用于用户输入预览内容限制条件;
8.预览结构确定模块,根据预览内容限制条件查询关联度最高的拼接结构块并确定预览范围,所述关联度最高的拼接结构块称为中心结构块,基于中心结构块和预览范围确定中心结构块周围的拼接结构块,所述中心结构块周围的处于预览范围内的拼接结构块称为边缘结构块;
9.预览生成模块,用于将中心结构块和边缘结构块相互拼接组成预览结构体,根据预览结构体生成相应的预览内容,通过可视化界面显示预览内容。
10.进一步的,所述文档获取模块包括文档预览插件,所述文档预览插件部署于浏览器中,用于在监听到用户预览网络文档的指令时,获取网络文档的url信息,根据url信息将网络文档下载到云服务器中。
11.进一步的,所述文档拆分模块具体包括:
12.内容识别子模块,用于识别用户指定文档的文档内容类型,所述文档内容类型包括文字、图像、表格和多媒体;
13.拆分子模块,用于根据文档内容类型将用户指定文档拆分为多个拼接结构块,所述拼接结构块包括块本体和拼接部,所述块本体中存储有文档内容,所述拼接部中存储有连接识别信息,所述连接识别信息用于确定与该拼接结构块连接的其他拼接结构块以及连
接方式;
14.存储子模块,用于以文档为单位创建数据库,按照文档内容类型将用户指定文档的所有拼接结构块分别存储到数据库不同的子库中。
15.进一步的,所述预览结构确定模块具体用于根据预览范围确定预览结构体总体积,根据预览结构体总体积和中心结构块体积确定边缘结构块体积,根据边缘结构块体积计算待添加到预览结构体中的边缘结构块数量,在边缘结构块数量的约束条件下,根据中心结构块的拼接部识别与中心结构块相连接的边缘结构块。
16.进一步的,所述连接识别信息包括一数组,所述数组中每一元素对应一与该拼接结构块直接相连的拼接结构块,每个元素均由方向位和编号位组成,所述方向位用于表示该元素所对应的拼接结构块所处方向,所述编号位用于存储该元素所对应的拼接结构块的唯一识别编号。
17.进一步的,所述系统还包括散列计算模块和拼接校验模块,
18.所述散列计算模块用于将每一拼接结构块对块本体按照九宫格样式进行切分,对于该拼接结构块和与其直接相连的其他拼接结构块,取九宫格中距离另一方最接近的格子内容,对格子内容通过散列函数进行计算,将计算结果保存在另一方的拼接部中;
19.所述拼接校验模块用于在预览生成模块组成预览结构体后,依次对预览结构体中各个边缘拼接块的块本体进行九宫格切分,并取其中最接近中心结构体的格子内容,对该格子内容通过散列函数进行计算,并与中心结构体拼接部中存储的连接识别信息进行比对,根据比对结果生成拼接校验结果。
20.进一步的,所述文档拆分模块具体还包括加密子模块,所述加密子模块用于对拆分子模块拆分得到的拼接结构块进行加密处理。
21.进一步的,所述子库包括文字库、图像库、表格库和多媒体库。
22.进一步的,所述预览结构确定模块在确定中心结构块和边缘结构块后,将中心结构块和边缘结构块以随机顺序发送到预览生成模块。
23.与现有技术相比,本发明的有益效果是:
24.本发明所提供的一种文档预览实现系统,可以将用户指定的预览文档根据其内容类型拆分为多个相连接的拼接结构块,用户输入阅览内容限制条件后,系统可以根据预览内容限制条件查询关联度最高的中心结构块,并确定预览范围,根据中心结构块和预览范围确定边缘结构块,再将中心结构块和边缘结构块组成为预览结构体,从而快速生成相应的预览内容,本发明能够降低计算机性能对于文档预览速度的影响,并响应用户需求实现文档局部预览,提升用户的使用体验。
附图说明
25.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的优选实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1是本发明实施例提供的一种文档预览实现系统整体结构示意图。
27.图2是本发明实施例提供的文档拆分模块整体结构示意图。
28.图中,1文档获取模块,2文档拆分模块,201内容识别子模块,202拆分子模块,203存储子模块,204加密子模块,3条件设置模块,4预览结构确定模块,5预览生成模块。
具体实施方式
29.以下结合附图对本发明的原理和特征进行描述,所列举实施例只用于解释本发明,并非用于限定本发明的范围。
30.参照图1,本实施例提供一种文档预览实现系统,所述系统可以是运行于笔记本、台式机、平板电脑等计算机设备上,也可以是运行于云服务器上。所述系统包括:
31.文档获取模块1,用于用户输入所指定的文档的存放路径,根据存放路径获取用户指定文档。当用户所需预览的文件存放于计算机本地时,用户需通过文档获取模块1输入文件所在的盘符和具体路径,当文档获取模块1获取到用户指定文档后,通过可视化界面向用户进行提示。
32.文档拆分模块2,用于将所获取的用户指定文档根据文档内容类型拆分为多个相连接的拼接结构块。每个拼接结构块对应一部分的文档内容,当一篇文档中所有的片接结构块按照特定顺序连接在一起时,能够构成文档原先的内容与排版。
33.条件设置模块3,用于用户输入预览内容限制条件,所述预览内容限制条件用于限制文档预览内容,以便于系统能够根据用户需求快速查找到文档的相应内容并实现预览。
34.预览结构确定模块4,根据预览内容限制条件查询关联度最高的拼接结构块并确定预览范围,所述关联度最高的拼接结构块称为中心结构块,基于中心结构块和预览范围确定中心结构块周围的拼接结构块,所述中心结构块周围的处于预览范围内的拼接结构块称为边缘结构块。
35.预览生成模块5,用于将中心结构块和边缘结构块相互拼接组成预览结构体,根据预览结构体生成相应的预览内容,通过可视化界面显示预览内容。
36.示例性地,当用户需要预览某份文档中的部分内容时,首先通过文档获取模块1录入该文档的存放路径,当文档获取模块1提示用户已获取指定文档后,文档拆分模块2将用户指定文档拆分为多个拼接结构块。用户可以根据自己的需求设置预览内容限制条件,例如预览内容所包含的关键词、所在页码等。预览结构确定模块根据用户所设置的预览内容限制条件,确定所有拼接结构块中与预览内容限制条件最相符的拼接结构块并将其作为中心结构块,再根据中心结构块和预设的预览范围限制条件确定中心结构块周围处于预览范围内的边缘结构块,将中心结构块和边缘结构块发送到预览生成模块,所述预览生成模块将中心结构块和边缘结构块根据其连接关系拼接成预览结构体,并根据预览结构体生成相应的预览内容,通过可视化界面显示给用户查看。本发明通过将文档内容拆分为多个拼接结构块,在后台根据用户的预览内容限制条件确定预览范围内的拼接结构块,再将其拼接组成预览结构体,一方面能够有效降低预览长篇文档时计算机性能对于预览速度的影响,另一方面能够根据用户的需求直接预览特定部分的文档内容,能够有效提升用户的使用体验。
37.作为一种可选的实施方式,所述文档获取模块1具体包括文档预览插件,所述文档预览插件部署于浏览器中,用于监听用户在浏览器中的操作指令,并在监听到用户预览网络文档的指令时,获取网络文档的url信息,根据所述url信息将对应的网络文档下载到云
服务器中,并进一步通过文档拆分模块2进行处理。当用户需要预览网络文档的内容时,通过文档预览插件实现对网络文档特定内容的预览,无需将网络文档下载到本体,也无需等待浏览器从头逐步加载网络文档的全部内容,网络文档的处理在云服务器上进行,预览速度基本不受网速的限制。
38.具体的,参照图2,所述文档拆分模块2具体包括内容识别子模块201、拆分子模块202和存储子模块203。
39.所述内容识别子模块201用于识别用户指定文档的文档内容类型,所述文档内容类型包括文字、图像、表格和多媒体。内容识别子模块201会根据文档各部分内容的类型,为该部分内容进行类型预标记,后续拆分子模块202在类型预标记的基础上,进一步将文档内容拆分为多个拼接结构块。
40.所述拆分子模块202用于根据文档内容类型将用户指定文档拆分为多个拼接结构块。示例性地,一篇内容丰富的文档中可能会同时拥有文字、图片、表格、音频、视频等多种类型的内容,内容识别子模块201在识别文档内容类型时,会对每种类型的内容分别进行不同的类型预标记,每个类型预标记会标记一段连续的同类型内容,例如好几段连续的文字、几张连续的表格,表格标题文字可视为表格的一部分,图片的标注同理。拆分子模块202则根据预设的拼接结构块大小,对每部分内容进行拆分得到拼接结构块,使得每个拼接结构块中的文档内容都是同一类型。不同类型的拼接结构块的大小可以不相同,对于图像、表格和多媒体类型的拼接结构块,每个拼接结构块中至少对应一张图片/表格或一个完整的多媒体内容。
41.示例性地,所述拼接结构块包括块本体和拼接部,所述块本体中存储有部分文档内容;所述拼接部中存储有连接识别信息,所述连接识别信息用于确定与该拼接结构块连接的其他拼接结构块,以及两者之间的连接方式。
42.所述存储子模块203用于以文档为单位创建数据库,即每份文档对应创建一个数据库;按照文档内容类型将用户指定文档的所有拼接结构块分别存储到数据库不同的子库中。示例性地,所述子库包括文字库、图像库、表格库和多媒体库,每个子库用于存储对应类型的拼接结构块。
43.所述预览结构确定模块3具体用于根据预览范围确定预览结构体总体积,根据预览结构体总体积和中心结构块大小确定边缘结构块体积,预览结构体的总体积应不小于中心结构块和所有边缘结构块的总体积。根据边缘结构块的总体积计算待添加到预览结构体中的边缘结构块数量,在计算边缘结构块数量时,应当考虑到不同类型的边缘结构块的大小可能不相同,因此不能直接用总体积除去固定的单位体积,而是要考虑到可能存在的边缘结构块类型,根据不同类型的边缘结构块大小进一步计算边缘结构块数量。在边缘结构块数量的约束条件下,根据中心结构块的拼接部识别与中心结构块相连的边缘结构块。
44.所述根据中心结构块的拼接部识别与中心结构块相连的边缘结构块,具体为根据中心结构块的拼接部内的连接识别信息识别与该中心结构块相连的边缘结构块,以及中心结构块和边缘结构块的连接方式。从前述实施例中可以得知,每个拼接结构块与其他拼接结构块之间的连接方式是固定的,只有在按照特定顺序将多个拼接结构块连接在一起时,才能还原文档相应部分的内容。
45.作为一种优选的示例,所述连接识别信息包括一数组,所述数组中存储有多个元
素,将连接识别信息所属的拼接结构块称为第一拼接结构块,与第一拼接结构块直接相连的拼接结构块称为第二拼接结构块,每个元素对应一个第二拼接结构块。每个元素均由方向位和编号位组成,所述方向位上的字符用于表示该元素所对应的第二拼接结构块处于第一拼接结构块的哪一方向上;所述编号位用于存储该元素所对应的第二拼接结构块的唯一识别编号。在确定边缘结构块时,可以读取中心结构块拼接部中的连接识别信息,抽取数组中各个元素的编号位来确定直接与中心结构块相连的边缘结构块,并确定与中心结构块直接相连的边缘结构块的总体积加上中心结构块体积是否等于确定的预览结构体总体积,若等于则直接输出确定的中心结构块和边缘结构块;若小于确定的预览结构体总体积,则再读取边缘结构块的拼接部中的连接识别信息,在除去其中关于中心结构块的连接识别信息后确定与已确定的边缘结构块相连接的边缘结构块,并再次判断此时所有边缘结构块的总体积加上中心结构块体积是否等于确定的预览结构体体积,并根据判断结果对边缘结构块进行调整,使其符合预览范围限制,得到最终确定的边缘结构块。
46.作为一种优选的示例,所述系统还包括散列计算模块和拼接校验模块。
47.其中,所述散列计算模块用于将每一拼接结构块对块本体按照九宫格样式进行切分,即将块本体中的文档内容切分为三行三列共计九个格子,对于该拼接结构块和与其直接相连的其他拼接结构块,取九宫格中距离另一方最接近的格子内容,对格子内容通过散列函数进行计算,将计算结果保存在另一方的拼接部中。例如第二拼接结构块位于第一拼接结构块上方偏左的位置,则距离第二拼接结构块最近的就是第一拼接结构块中由上至下由左至右第一行第一个格子,对该格子中的内容进行散列函数计算,并将计算结果保存在第二拼接结构块的拼接部中。
48.所述拼接校验模块用于在预览生成模块组成预览结构体后,依次对预览结构体中各个边缘拼接块的块本体进行九宫格切分,并取其中最接近中心结构体的格子内容,对该格子内容通过散列函数进行计算,并与中心结构体拼接部中存储的连接识别信息进行比对,根据比对结果生成拼接校验结果。通过所述拼接校验结果可以判断中心结构块与边缘结构块之间的连接关系是否正确,从而确保最终形成的预览内容能够正确显示用户所想要了解的内容。
49.作为一种优选的实例,所述文档拆分模块2还包括加密子模块204,所述加密子模块204用于对拆分子模块202拆分用户指定文档得到的拼接结构块进行加密处理。示例性地,对拼接结构块进行加密可以是对其块本体中的文档内容进行加密,还可以进一步对拼接部中的连接识别信息进行加密。加密后的拼接结构块保存在数据库中,在预览结构确定模块4或预览生成模块5需要对拼接结构块进行处理时,再对其进行解密处理。加密子模块204的设置可以提高保密要求较高的文档的内容安全。
50.作为一种优选的示例,所述预览结构确定模块4在确定中心结构块和边缘结构块后,将中心结构块和边缘结构块以随机顺序发送到预览生成模块5。示例性地,当预览生成模块5是在用户计算机本地将中心结构块和边缘结构块拼接为预览结构体时,云端的预览结构确定模块4通过随机顺序发送中心结构块和边缘结构块给预览生成模块5,能够避免数据恶意拦截方根据发送顺序还原文档内容,从而起到防止文档内容泄露的效果。
51.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种文档预览实现系统,其特征在于,所述系统包括:文档获取模块,用于用户输入所指定的文档的存放路径,根据存放路径获取用户指定文档;文档拆分模块,用于将所获取的用户指定文档根据文档内容类型拆分为多个相连接的拼接结构块;条件设置模块,用于用户输入预览内容限制条件;预览结构确定模块,根据预览内容限制条件查询关联度最高的拼接结构块并确定预览范围,所述关联度最高的拼接结构块称为中心结构块,基于中心结构块和预览范围确定中心结构块周围的拼接结构块,所述中心结构块周围的处于预览范围内的拼接结构块称为边缘结构块;预览生成模块,用于将中心结构块和边缘结构块相互拼接组成预览结构体,根据预览结构体生成相应的预览内容,通过可视化界面显示预览内容。2.根据权利要求1所述的一种文档预览实现系统,其特征在于,所述文档获取模块包括文档预览插件,所述文档预览插件部署于浏览器中,用于在监听到用户预览网络文档的指令时,获取网络文档的url信息,根据url信息将网络文档下载到云服务器中。3.根据权利要求1所述的一种文档预览实现系统,其特征在于,所述文档拆分模块具体包括:内容识别子模块,用于识别用户指定文档的文档内容类型,所述文档内容类型包括文字、图像、表格和多媒体;拆分子模块,用于根据文档内容类型将用户指定文档拆分为多个拼接结构块,所述拼接结构块包括块本体和拼接部,所述块本体中存储有文档内容,所述拼接部中存储有连接识别信息,所述连接识别信息用于确定与该拼接结构块连接的其他拼接结构块以及连接方式;存储子模块,用于以文档为单位创建数据库,按照文档内容类型将用户指定文档的所有拼接结构块分别存储到数据库不同的子库中。4.根据权利要求3所述的一种文档预览实现系统,其特征在于,所述预览结构确定模块具体用于根据预览范围确定预览结构体总体积,根据预览结构体总体积和中心结构块体积确定边缘结构块体积,根据边缘结构块体积计算待添加到预览结构体中的边缘结构块数量,在边缘结构块数量的约束条件下,根据中心结构块的拼接部识别与中心结构块相连接的边缘结构块。5.根据权利要求3所述的一种文档预览实现系统,其特征在于,所述连接识别信息包括一数组,所述数组中每一元素对应一与该拼接结构块直接相连的拼接结构块,每个元素均由方向位和编号位组成,所述方向位用于表示该元素所对应的拼接结构块所处方向,所述编号位用于存储该元素所对应的拼接结构块的唯一识别编号。6.根据权利要求5所述的一种文档预览实现系统,其特征在于,所述系统还包括散列计算模块和拼接校验模块,所述散列计算模块用于将每一拼接结构块对块本体按照九宫格样式进行切分,对于该拼接结构块和与其直接相连的其他拼接结构块,取九宫格中距离另一方最接近的格子内容,对格子内容通过散列函数进行计算,将计算结果保存在另一方的拼接部中;
所述拼接校验模块用于在预览生成模块组成预览结构体后,依次对预览结构体中各个边缘拼接块的块本体进行九宫格切分,并取其中最接近中心结构体的格子内容,对该格子内容通过散列函数进行计算,并与中心结构体拼接部中存储的连接识别信息进行比对,根据比对结果生成拼接校验结果。7.根据权利要求3所述的一种文档预览实现系统,其特征在于,所述文档拆分模块具体还包括加密子模块,所述加密子模块用于对拆分子模块拆分得到的拼接结构块进行加密处理。8.根据权利要求3所述的一种文档预览实现系统,其特征在于,所述子库包括文字库、图像库、表格库和多媒体库。9.根据权利要求1所述的一种文档预览实现系统,其特征在于,所述预览结构确定模块在确定中心结构块和边缘结构块后,将中心结构块和边缘结构块以随机顺序发送到预览生成模块。
技术总结
本发明提供一种文档预览实现系统,通过文档拆分模块将用户指定的预览文档根据其内容类型拆分为多个相连接的拼接结构块,用户通过条件设置模块输入阅览内容限制条件后,预览结构确定模块可以根据预览内容限制条件查询关联度最高的中心结构块,并确定预览范围,根据中心结构块和预览范围确定边缘结构块,再由预览生成模块将中心结构块和边缘结构块组成为预览结构体,从而快速生成相应的预览内容,本发明能够降低计算机性能对于文档预览速度的影响,并响应用户需求实现文档局部预览,提升用户的使用体验。用户的使用体验。用户的使用体验。
技术研发人员:张家铭 冼开宽 王宁 吴钟发 陈文 周忠仁
受保护的技术使用者:海南航众科技有限公司
技术研发日:2021.11.05
技术公布日:2022/3/7