一种Office文件在线预览的方法及系统转让专利

申请号 : CN202310748071.9

文献号 : CN116861847B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李晓波邱生顺谢慧敏张玲玲刘德文郑黎明杨晓东

申请人 : 三峡高科信息技术有限责任公司

摘要 :

本发明公开了一种Office文件在线预览的方法及系统,包括:接收浏览器发送的文件预览请求,获取若干个Office文件,对每个Office文件进行编号,确定编号标识;将若干个Office文件分为第一类型文件和第二类型文件;对第一类型文件基于第一转换进程处理,得到第一处理结果并添加至缓冲进程中;对第二类型文件基于第二转换进程处理,得到第二处理结果并添加至缓冲进程中;根据第一处理结果及第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表;发送对文件预览请求的返回参数至浏览器,浏览器有序加载文档预览图片列表。基于Office文件的文件大小的不同,进行分类,对于不同类别的Office文件采用不同的转换进程,提高了转换效率,进而提升了预览效果。

权利要求 :

1.一种Office文件在线预览的方法,其特征在于,包括:接收浏览器发送的文件预览请求,基于文件预览请求获取若干个Office文件,基于获取时间的先后依次进行对每个Office文件进行编号,确定编号标识;

获取每个Office文件的文件大小信息;

将每个Office文件的文件大小信息与预设阈值进行比较,根据比较结果,将若干个Office文件分为第一类型文件和第二类型文件;

对所述第一类型文件基于第一转换进程处理,得到第一处理结果并添加至缓冲进程中;

对所述第二类型文件基于第二转换进程处理,得到第二处理结果并添加至缓冲进程中;

根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表;

发送对文件预览请求的返回参数至浏览器,浏览器有序加载文档预览图片列表;

对所述第二类型文件基于第二转换进程处理,包括:

对所述第二类型文件进行文档拆分,将每个第二类型文件拆分为若干个子文件;

根据子文件的属性信息,批量创建文件转换任务,对每个第二类型文件中的子文件基于内容先后进行排列,基于每个第二类型文件的编号标识的从小到大进行排列,得到文件转换队列;

设置文件预览图片逻辑地址规则;

从文件转换队列中获取转换任务,并行处理转换任务,基于预设文件预览图片逻辑地址规则确定每个转换任务的图片名称,作为第二处理结果并添加至缓冲进程中;

对所述第二类型文件进行文档拆分,将每个第二类型文件拆分为若干个子文件,包括:使用Office文档处理工具包处理第二类型文件,根据文件拆分单位,将第二类型文件拆分为若干个子文件;

对第二类型文件进行一级标题识别,确定一级标题的数量;判断一级标题的数量是否在预设数量范围内;

在确定一级标题的数量在预设数量范围内时,基于一级标题作为拆分线,对第二类型文件进行拆分,将第二类型文件拆分为若干个子文件;其中,预设数量范围包括第一阈值和第二阈值,第一阈值小于第二阈值;

在确定一级标题的数量大于第二阈值时,任选一个一级标题,作为目标一级标题,将其他的一级标题作为关联一级标题;

对目标一级标题进行特征提取,确定目标特征向量;

对关联一级标题进行特征提取,确定关联特征向量;

分别计算每个关联特征向量与目标特征向量的差值,将差值最小的关联特征向量对应的关联一级标题,作为融合标题;

将融合标题对应的内容添加至目标一级标题下,取消融合标题的标记,得到一级标题的新的数量,在新的数量大于第二阈值时,基于以上方法,进行迭代处理,直至新的数量等于第二阈值;

在确定一级标题的数量小于第二阈值时,基于一级标题作为拆分线,对第二类型文件进行拆分,将第二类型文件拆分为若干个中间文件;

确定每个中间文件的页数,将页数最大的中间文件作为目标中间文件;

对目标中间文件进行二级标题识别,确定二级标题,基于二级标题作为拆分线,对目标中间文件进行拆分,得到若干个拆分文件;

根据拆分文件及其他的中间文件作为将第二类型文件拆分,得到的若干个子文件。

2.如权利要求1所述的Office文件在线预览的方法,其特征在于,基于文件预览请求获取若干个Office文件,包括:所述文件预览请求包括若干个文件唯一标识;基于若干个文件唯一标识从文档存储服务器下载源文档,得到若干个Office文件。

3.如权利要求1所述的Office文件在线预览的方法,其特征在于,根据比较结果,将若干个Office文件分为第一类型文件和第二类型文件,包括:根据比较结果,将文件大小信息小于等于预设阈值的Office文件作为第一类型文件;

将文件大小信息大于预设阈值的Office文件作为第二类型文件。

4.如权利要求1所述的Office文件在线预览的方法,其特征在于,所述第一转换进程文件包括OpenOffice转换进程或LibreOffice转换进程。

5.如权利要求1所述的Office文件在线预览的方法,其特征在于,根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表,包括:基于第一处理结果中第一类型文件对应图片的编号标识及第二处理结果中第二类型文件对应图片的编号标识,从小到大进行排序,基于排序结果生成缓冲队列,并根据缓冲队列生成文档预览图片列表。

6.如权利要求1所述的Office文件在线预览的方法,其特征在于,在浏览器有序加载文档预览图片列表的过程中,还包括:设置提前加载规则;

在浏览器预览当前预览照片时,从文档预览图片列表基于提前加载规则,提前加载预设数量的图片。

7.如权利要求1所述的Office文件在线预览的方法,其特征在于,浏览器有序加载文档预览图片列表的过程中,包括:确定浏览器生成关于文档预览图片列表中待加载图片的加载位置,基于加载位置进行解析确定待加载图片的宽度信息及高度信息;

根据所述宽度信息及高度信息确定待加载图片的目标分辨率;

获取文档预览图片列表中待加载图片的实际分辨率,并判断与目标分辨率是否一致;

在确定不一致时,对待加载图片根据目标分辨率进行转化,得到转化待加载图片;

获取转化待加载图片的圆角的弧度值信息,对所述转化待加载图片进行切圆角处理,得到目标待加载图片;

浏览器将所述目标待加载图片加载至加载位置。

8.一种Office文件在线预览的系统,其特征在于,包括:确定模块,用于接收浏览器发送的文件预览请求,基于文件预览请求获取若干个Office文件,基于获取时间的先后依次进行对每个Office文件进行编号,确定编号标识;

获取模块,用于获取每个Office文件的文件大小信息;

比较模块,用于将每个Office文件的文件大小信息与预设阈值进行比较,根据比较结果,将若干个Office文件分为第一类型文件和第二类型文件;

第一处理模块,用于对所述第一类型文件基于第一转换进程处理,得到第一处理结果并添加至缓冲进程中;

第二处理模块,用于对所述第二类型文件基于第二转换进程处理,得到第二处理结果并添加至缓冲进程中;

生成模块,用于根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表;

加载模块,用于发送对文件预览请求的返回参数至浏览器,浏览器有序加载文档预览图片列表;

对所述第二类型文件基于第二转换进程处理,包括:

对所述第二类型文件进行文档拆分,将每个第二类型文件拆分为若干个子文件;

根据子文件的属性信息,批量创建文件转换任务,对每个第二类型文件中的子文件基于内容先后进行排列,基于每个第二类型文件的编号标识的从小到大进行排列,得到文件转换队列;

设置文件预览图片逻辑地址规则;

从文件转换队列中获取转换任务,并行处理转换任务,基于预设文件预览图片逻辑地址规则确定每个转换任务的图片名称,作为第二处理结果并添加至缓冲进程中;

对所述第二类型文件进行文档拆分,将每个第二类型文件拆分为若干个子文件,包括:使用Office文档处理工具包处理第二类型文件,根据文件拆分单位,将第二类型文件拆分为若干个子文件;

对第二类型文件进行一级标题识别,确定一级标题的数量;判断一级标题的数量是否在预设数量范围内;

在确定一级标题的数量在预设数量范围内时,基于一级标题作为拆分线,对第二类型文件进行拆分,将第二类型文件拆分为若干个子文件;其中,预设数量范围包括第一阈值和第二阈值,第一阈值小于第二阈值;

在确定一级标题的数量大于第二阈值时,任选一个一级标题,作为目标一级标题,将其他的一级标题作为关联一级标题;

对目标一级标题进行特征提取,确定目标特征向量;

对关联一级标题进行特征提取,确定关联特征向量;

分别计算每个关联特征向量与目标特征向量的差值,将差值最小的关联特征向量对应的关联一级标题,作为融合标题;

将融合标题对应的内容添加至目标一级标题下,取消融合标题的标记,得到一级标题的新的数量,在新的数量大于第二阈值时,基于以上方法,进行迭代处理,直至新的数量等于第二阈值;

在确定一级标题的数量小于第二阈值时,基于一级标题作为拆分线,对第二类型文件进行拆分,将第二类型文件拆分为若干个中间文件;

确定每个中间文件的页数,将页数最大的中间文件作为目标中间文件;

对目标中间文件进行二级标题识别,确定二级标题,基于二级标题作为拆分线,对目标中间文件进行拆分,得到若干个拆分文件;

根据拆分文件及其他的中间文件作为将第二类型文件拆分,得到的若干个子文件。

说明书 :

一种Office文件在线预览的方法及系统

技术领域

[0001] 本发明涉及文件预览技术领域,特别涉及一种Office文件在线预览的方法及系统。

背景技术

[0002] 目前,Web应用中遇到Office文件转换和预览的需求一般采用如下方式实现:1、使用Office文档处理工具包。例如,在Java技术栈中,可以使用Apache POI和Apache PDFBox库来将Word文档转换为PDF,从而实现Office大文件的在线转换和预览。缺点在于,开发工具包转换Office文档的效果不理想、性能不稳定。2、使用第三方文档转换类工具。有很多第三方工具可以在服务器端进行文档转换和预览。例如,LibreOffice是一个免费的开源办公套件,可以使用LibreOffice的命令行工具将Office文档在服务器端转换为其他格式,并生成预览图像。缺点在于,第三方文档工具(如OpenOffice、LibreOffice)转换小文档的效果比较理想,但是转换大文件经常会出现卡死和超时的情况。3、使用Office商业化产品。Office商业化产品主要包括在线类产品和控件类产品,在线类Office产品(如Office Online、Wps云文档、永中WebOffice和石墨文档)可以通过提供服务的方式帮助业务系统快速实现office大文件的在线转换和预览功能;控件类Office产品(如PageOffice、WebOffice、金格和软航等)则依赖于用户本地的Office客户端帮助业务系统实现Office大文件的转换和预览。缺点在于,Office商业化产品解决方案性价比不高。集团公司网安常态化管控背景下,在线类Office产品服务调用不被允许,而私有化部署成本较高。控件类产品大多存在浏览器兼容性问题和本地office兼容性问题,用户体验较差,不满足业务部门需求。
[0003] 现有技术中对Office文件转换和预览基于同一个转换进程进行处理,存在因文件大小导致转换时间过长、转换差异过大以及预览效果不理想的问题。

发明内容

[0004] 本发明旨在至少一定程度上解决上述技术中的技术问题之一。为此,本发明的第一个目的在于提出一种Office文件在线预览的方法,基于Office文件的文件大小的不同,进行分类,对于不同类别的Office文件采用不同的转换进程,提高了转换效率,进而提升了预览效果。
[0005] 本发明的第二个目的在于提出一种Office文件在线预览的系统。
[0006] 为达到上述目的,本发明第一方面实施例提出了一种Office文件在线预览的方法,包括:
[0007] 接收浏览器发送的文件预览请求,基于文件预览请求获取若干个Office文件,基于获取时间的先后依次进行对每个Office文件进行编号,确定编号标识;
[0008] 获取每个Office文件的文件大小信息;
[0009] 将每个Office文件的文件大小信息与预设阈值进行比较,根据比较结果,将若干个Office文件分为第一类型文件和第二类型文件;
[0010] 对所述第一类型文件基于第一转换进程处理,得到第一处理结果并添加至缓冲进程中;
[0011] 对所述第二类型文件基于第二转换进程处理,得到第二处理结果并添加至缓冲进程中;
[0012] 根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表;
[0013] 发送对文件预览请求的返回参数至浏览器,浏览器有序加载文档预览图片列表。
[0014] 根据本发明的一些实施例,基于文件预览请求获取若干个Office文件,包括:
[0015] 所述文件预览请求包括若干个文件唯一标识;基于若干个文件唯一标识从文档存储服务器下载源文档,得到若干个Office文件。
[0016] 根据本发明的一些实施例,根据比较结果,将若干个Office文件分为第一类型文件和第二类型文件,包括:
[0017] 根据比较结果,将文件大小信息小于等于预设阈值的Office文件作为第一类型文件;将文件大小信息大于预设阈值的Office文件作为第二类型文件。
[0018] 根据本发明的一些实施例,所述第一转换进程文件包括OpenOffice转换进程或LibreOffice转换进程。
[0019] 根据本发明的一些实施例,对所述第二类型文件基于第二转换进程处理,包括:
[0020] 对所述第二类型文件进行文档拆分,将每个第二类型文件拆分为若干个子文件;
[0021] 根据子文件的属性信息,批量创建文件转换任务,对每个第二类型文件中的子文件基于内容先后进行排列,基于每个第二类型文件的编号标识的从小到大进行排列,得到文件转换队列;
[0022] 设置文件预览图片逻辑地址规则;
[0023] 从文件转换队列中获取转换任务,并行处理转换任务,基于预设文件预览图片逻辑地址规则确定每个转换任务的图片名称,作为第二处理结果并添加至缓冲进程中。
[0024] 根据本发明的一些实施例,根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表,包括:
[0025] 基于第一处理结果中第一类型文件对应图片的编号标识及第二处理结果中第二类型文件对应图片的编号标识,从小到大进行排序,基于排序结果生成缓冲队列,并根据缓冲队列生成文档预览图片列表。
[0026] 根据本发明的一些实施例,在浏览器有序加载文档预览图片列表的过程中,还包括:
[0027] 设置提前加载规则;
[0028] 在浏览器预览当前预览照片时,从文档预览图片列表基于提前加载规则,提前加载预设数量的图片。
[0029] 根据本发明的一些实施例,对所述第二类型文件进行文档拆分,将每个第二类型文件拆分为若干个子文件,包括:
[0030] 使用Office文档处理工具包处理第二类型文件,根据文件拆分单位,将第二类型文件拆分为若干个子文件;
[0031] 或
[0032] 对第二类型文件进行一级标题识别,确定一级标题的数量;判断一级标题的数量是否在预设数量范围内;
[0033] 在确定一级标题的数量在预设数量范围内时,基于一级标题作为拆分线,对第二类型文件进行拆分,将第二类型文件拆分为若干个子文件;其中,预设数量范围包括第一阈值和第二阈值,第一阈值小于第二阈值;
[0034] 在确定一级标题的数量大于第二阈值时,任选一个一级标题,作为目标一级标题,将其他的一级标题作为关联一级标题;
[0035] 对目标一级标题进行特征提取,确定目标特征向量;
[0036] 对关联一级标题进行特征提取,确定关联特征向量;
[0037] 分别计算每个关联特征向量与目标特征向量的差值,将差值最小的关联特征向量对应的关联一级标题,作为融合标题;
[0038] 将融合标题对应的内容添加至目标一级标题下,取消融合标题的标记,得到一级标题的新的数量,在新的数量大于第二阈值时,基于以上方法,进行迭代处理,直至新的数量等于第二阈值;
[0039] 在确定一级标题的数量小于第二阈值时,基于一级标题作为拆分线,对第二类型文件进行拆分,将第二类型文件拆分为若干个中间文件;
[0040] 确定每个中间文件的页数,将页数最大的中间文件作为目标中间文件;
[0041] 对目标中间文件进行二级标题识别,确定二级标题,基于二级标题作为拆分线,对目标中间文件进行拆分,得到若干个拆分文件;
[0042] 根据拆分文件及其他的中间文件作为将第二类型文件拆分,得到的若干个子文件。
[0043] 根据本发明的一些实施例,浏览器有序加载文档预览图片列表的过程中,包括:
[0044] 确定浏览器生成关于文档预览图片列表中待加载图片的加载位置,基于加载位置进行解析确定待加载图片的宽度信息及高度信息;
[0045] 根据所述宽度信息及高度信息确定待加载图片的目标分辨率;
[0046] 获取文档预览图片列表中待加载图片的实际分辨率,并判断与目标分辨率是否一致;
[0047] 在确定不一致时,对待加载图片根据目标分辨率进行转化,得到转化待加载图片;
[0048] 获取转化待加载图片的圆角的弧度值信息,对所述转化待加载图片进行切圆角处理,得到目标待加载图片;
[0049] 浏览器将所述目标待加载图片加载至加载位置。
[0050] 为达到上述目的,本发明第二方面实施例提出了一种Office文件在线预览的系统,包括:
[0051] 确定模块,用于接收浏览器发送的文件预览请求,基于文件预览请求获取若干个Office文件,基于获取时间的先后依次进行对每个Office文件进行编号,确定编号标识;
[0052] 获取模块,用于获取每个Office文件的文件大小信息;
[0053] 比较模块,用于将每个Office文件的文件大小信息与预设阈值进行比较,根据比较结果,将若干个Office文件分为第一类型文件和第二类型文件;
[0054] 第一处理模块,用于对所述第一类型文件基于第一转换进程处理,得到第一处理结果并添加至缓冲进程中;
[0055] 第二处理模块,用于对所述第二类型文件基于第二转换进程处理,得到第二处理结果并添加至缓冲进程中;
[0056] 生成模块,用于根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表;
[0057] 加载模块,用于发送对文件预览请求的返回参数至浏览器,浏览器有序加载文档预览图片列表。
[0058] 本发明提出了一种Office文件在线预览的方法及系统,基于Office文件的文件大小的不同,进行分类,基于Office文件的文件大小,分为第一类型文件和第二类型文件,对所述第一类型文件基于第一转换进程处理,对所述第二类型文件基于第二转换进程处理,避免现有技术中使用同一转换进程,造成转换效率低以及出现卡顿的情形,对于不同类别的Office文件采用不同的转换进程,提高了转换效率,同时根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表,在基于不同转换进程处理后,基于确定编号标识重新进行排序,保证转换的结果的准确性及有序性,浏览器有序加载文档预览图片列表,提高了加载的准确性,也提升了预览效果。第二类型文件预览响应速度提升明显,从服务侧来看,预览缓存机制避免同一文件多次转换,基于第一转换进程及第二转换进程使得请求不必等到所有任务都处理完成了再返回结果,加快了处理转换任务的速度;从浏览器侧看,加载机制不需要一次返回所有的预览图片,避免了等待文档转换的过程。根据缓冲队列生成文档预览图片列表,便于保证缓冲队列的有序性,实现对多个Office文件的有序转换及预览,避免重复进行预览请求,提高了用户体验。
[0059] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
[0060] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

[0061] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0062] 图1是根据本发明一个实施例的一种Office文件在线预览的方法的流程图;
[0063] 图2是根据本发明一个实施例的一种Office文件在线预览的系统的框图。

具体实施方式

[0064] 以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0065] 如图1所示,本发明第一方面实施例提出了一种Office文件在线预览的方法,包括步骤S1‑S7:
[0066] S1、接收浏览器发送的文件预览请求,基于文件预览请求获取若干个Office文件,基于获取时间的先后依次进行对每个Office文件进行编号,确定编号标识;
[0067] S2、获取每个Office文件的文件大小信息;
[0068] S3、将每个Office文件的文件大小信息与预设阈值进行比较,根据比较结果,将若干个Office文件分为第一类型文件和第二类型文件;
[0069] S4、对所述第一类型文件基于第一转换进程处理,得到第一处理结果并添加至缓冲进程中;
[0070] S5、对所述第二类型文件基于第二转换进程处理,得到第二处理结果并添加至缓冲进程中;
[0071] S6、根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表;
[0072] S7、发送对文件预览请求的返回参数至浏览器,浏览器有序加载文档预览图片列表。
[0073] 上述技术方案的工作原理:该实施例中,所述文件预览请求包括若干个文件唯一标识;基于每个文件唯一标识可以获取对应的Office文件。编号标识可以为1、2、3…n。
[0074] 该实施例中,预设阈值为100M;将小于等于100M的Office文件分为第一类型文件,作为小文件。将大于100M的Office文件分为第二类型文件,作为大文件。
[0075] 该实施例中,第一处理结果包括将第一类型文件基于第一转换进程处理后得到的图片名称及对应的编号标识;第二处理结果包括将第二类型文件基于第二转换进程处理后得到的图片名称及对应的编号标识。
[0076] 该实施例中,缓冲队列为缓冲进程根据所述第一处理结果及所述第二处理结果进行编号从小到大进行排序,生成的序列。
[0077] 该实施例中,返回参数包括通过预览请求,以及可以调用预览请求对应的文档预览图片列表的信息。
[0078] 上述技术方案的有益效果:基于Office文件的文件大小的不同,进行分类,基于Office文件的文件大小,分为第一类型文件和第二类型文件,对所述第一类型文件基于第一转换进程处理,对所述第二类型文件基于第二转换进程处理,避免现有技术中使用同一转换进程,造成转换效率低以及出现卡顿的情形,对于不同类别的Office文件采用不同的转换进程,提高了转换效率,同时根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表,在基于不同转换进程处理后,基于确定编号标识重新进行排序,保证转换的结果的准确性及有序性,浏览器有序加载文档预览图片列表,提高了加载的准确性,也提升了预览效果。第二类型文件预览响应速度提升明显,从服务侧来看,预览缓存机制避免同一文件多次转换,基于第一转换进程及第二转换进程使得请求不必等到所有任务都处理完成了再返回结果,加快了处理转换任务的速度;从浏览器侧看,加载机制不需要一次返回所有的预览图片,避免了等待文档转换的过程。根据缓冲队列生成文档预览图片列表,便于保证缓冲队列的有序性,实现对多个Office文件的有序转换及预览,避免重复进行预览请求,提高了用户体验。
[0079] 根据本发明的一些实施例,基于文件预览请求获取若干个Office文件,包括:
[0080] 所述文件预览请求包括若干个文件唯一标识;基于若干个文件唯一标识从文档存储服务器下载源文档,得到若干个Office文件。
[0081] 根据本发明的一些实施例,根据比较结果,将若干个Office文件分为第一类型文件和第二类型文件,包括:
[0082] 根据比较结果,将文件大小信息小于等于预设阈值的Office文件作为第一类型文件;将文件大小信息大于预设阈值的Office文件作为第二类型文件。
[0083] 根据本发明的一些实施例,所述第一转换进程文件包括OpenOffice转换进程或LibreOffice转换进程。
[0084] 根据本发明的一些实施例,对所述第二类型文件基于第二转换进程处理,包括:
[0085] 对所述第二类型文件进行文档拆分,将每个第二类型文件拆分为若干个子文件;
[0086] 根据子文件的属性信息,批量创建文件转换任务,对每个第二类型文件中的子文件基于内容先后进行排列,基于每个第二类型文件的编号标识的从小到大进行排列,得到文件转换队列;
[0087] 设置文件预览图片逻辑地址规则;
[0088] 从文件转换队列中获取转换任务,并行处理转换任务,基于预设文件预览图片逻辑地址规则确定每个转换任务的图片名称,作为第二处理结果并添加至缓冲进程中。
[0089] 上述技术方案的工作原理:该实施例中,属性信息包括文件唯一标识ID、子文件输入输出位置和目标格式等信息。
[0090] 该实施例中,设置文件预览图片逻辑地址规则表示设置子文件预览图片的命名规则,比如chunk_1_1.png、chunk_1_2.png、......、chunk_1_5.png、chunk_2_1.png、......、chunk_2_5.png、chunk_3_1.png、......。
[0091] 该实施例中,基于预设文件预览图片逻辑地址规则确定每个转换任务的图片名称,保证每个图片命名的准确性及有序性,便于可以将图片名称迅速添加至缓冲进程中,便于缓冲进程及时处理。
[0092] 上述技术方案的有益效果:对所述第二类型文件进行文档拆分,根据子文件的属性信息,批量创建文件转换任务,对每个第二类型文件中的子文件基于内容先后进行排列,基于每个第二类型文件的编号标识的从小到大进行排列,得到文件转换队列;设置文件预览图片逻辑地址规则;从文件转换队列中获取转换任务,并行处理转换任务,基于预设文件预览图片逻辑地址规则确定每个转换任务的图片名称,作为第二处理结果并添加至缓冲进程中。提高了文件转换的速率,进而便于确定准确的图片名称,并迅速添加至缓冲进程中,便于缓冲进程及时处理。
[0093] 根据本发明的一些实施例,根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表,包括:
[0094] 基于第一处理结果中第一类型文件对应图片的编号标识及第二处理结果中第二类型文件对应图片的编号标识,从小到大进行排序,基于排序结果生成缓冲队列,并根据缓冲队列生成文档预览图片列表。
[0095] 上述技术方案的有益效果:根据缓冲队列生成文档预览图片列表,便于保证缓冲队列的有序性,实现对多个Office文件的有序转换及预览,避免重复进行预览请求,提高了用户体验。
[0096] 根据本发明的一些实施例,在浏览器有序加载文档预览图片列表的过程中,还包括:
[0097] 设置提前加载规则;
[0098] 在浏览器预览当前预览照片时,从文档预览图片列表基于提前加载规则,提前加载预设数量的图片。
[0099] 上述技术方案的工作原理:在浏览器有序加载文档预览图片列表的过程中,在浏览器预览当前预览照片时,浏览器就会提前加载n+1、n+2、n+3张图片,以此来提高用户预览体验。
[0100] 上述技术方案的有益效果:预加载机制提前加载了用户可能马上要浏览的图片资源,改善了用户预览体验,提升了Office文件预览的响应速度。
[0101] 根据本发明的一些实施例,对所述第二类型文件进行文档拆分,将每个第二类型文件拆分为若干个子文件,包括:
[0102] 使用Office文档处理工具包处理第二类型文件,根据文件拆分单位,将第二类型文件拆分为若干个子文件。
[0103] 上述技术方案的工作原理:使用Office文档处理工具包处理第二类型文件,比如99页的第二类型文件,拆分单位为5,则该第二类型文件会被拆分为20个子文件,名为规则为chunk_1.docx、chunk_2.docx、......、chunk_20.docx。
[0104] 上述技术方案的有益效果:保证对第二类型文件进行文档拆分,得到的各个子文件大小的均衡性。
[0105] 根据本发明的一些实施例,对所述第二类型文件进行文档拆分,将每个第二类型文件拆分为若干个子文件,包括:
[0106] 对第二类型文件进行一级标题识别,确定一级标题的数量;判断一级标题的数量是否在预设数量范围内;
[0107] 在确定一级标题的数量在预设数量范围内时,基于一级标题作为拆分线,对第二类型文件进行拆分,将第二类型文件拆分为若干个子文件;其中,预设数量范围包括第一阈值和第二阈值,第一阈值小于第二阈值;
[0108] 在确定一级标题的数量大于第二阈值时,任选一个一级标题,作为目标一级标题,将其他的一级标题作为关联一级标题;
[0109] 对目标一级标题进行特征提取,确定目标特征向量;
[0110] 对关联一级标题进行特征提取,确定关联特征向量;
[0111] 分别计算每个关联特征向量与目标特征向量的差值,将差值最小的关联特征向量对应的关联一级标题,作为融合标题;
[0112] 将融合标题对应的内容添加至目标一级标题下,取消融合标题的标记,得到一级标题的新的数量,在新的数量大于第二阈值时,基于以上方法,进行迭代处理,直至新的数量等于第二阈值;
[0113] 在确定一级标题的数量小于第二阈值时,基于一级标题作为拆分线,对第二类型文件进行拆分,将第二类型文件拆分为若干个中间文件;
[0114] 确定每个中间文件的页数,将页数最大的中间文件作为目标中间文件;
[0115] 对目标中间文件进行二级标题识别,确定二级标题,基于二级标题作为拆分线,对目标中间文件进行拆分,得到若干个拆分文件;
[0116] 根据拆分文件及其他的中间文件作为将第二类型文件拆分,得到的若干个子文件。
[0117] 上述技术方案的工作原理:该实施例中,对第二类型文件进行一级标题识别可以为基于预设一级字号大小及位置进行识别。
[0118] 该实施例中,预设数量范围为10‑20。第一阈值为10,第二阈值为20。
[0119] 该实施例中,在计算关联特征向量与目标特征向量的差值前,对目标特征向量及关联特征向量进行数值化处理。将差值最小的关联特征向量对应的关联一级标题,作为融合标题;便于确定与目标一级标题最接近的一级标题,后续在进行融合时,保证划分得到的子文件的内容的统一性及准确性。
[0120] 该实施例中,将融合标题对应的内容添加至目标一级标题下,取消融合标题的标记,得到一级标题的新的数量,在新的数量大于第二阈值时,基于以上方法,进行迭代处理,直至新的数量等于第二阈值;便于确定准确的数量及划分的规则,保证得到的各个子文件的准确性。
[0121] 该实施例中,在确定一级标题的数量小于第二阈值时,基于一级标题作为拆分线,对第二类型文件进行拆分,将第二类型文件拆分为若干个中间文件;确定每个中间文件的页数,将页数最大的中间文件作为目标中间文件;对目标中间文件进行二级标题识别,确定二级标题,基于二级标题作为拆分线,对目标中间文件进行拆分,得到若干个拆分文件;基于对页数最大的中间文件进行二级标题识别,对目标中间文件进行拆分。在进行二级标题识别时基于二级字号大小及位置进行识别,二级字号小于一级字号。实现得到合适数量的拆分文件,在得到合适数量的差分文件时,也可以基于以上方法进行合并及再次拆分,保证得到的若干个子文件的准确性。
[0122] 上述技术方案的有益效果:对第二类型文件进行准确的文档拆分,保证拆分内容的准确性,同时保证拆分得到的子文件的数量在预设数量范围内,便于提高转换效率,同时也避免数量过多,导致的转换任务的增加,进而导致容易出现数据出错。
[0123] 根据本发明的一些实施例,浏览器有序加载文档预览图片列表的过程中,包括:
[0124] 确定浏览器生成关于文档预览图片列表中待加载图片的加载位置,基于加载位置进行解析确定待加载图片的宽度信息及高度信息;
[0125] 根据所述宽度信息及高度信息确定待加载图片的目标分辨率;
[0126] 获取文档预览图片列表中待加载图片的实际分辨率,并判断与目标分辨率是否一致;
[0127] 在确定不一致时,对待加载图片根据目标分辨率进行转化,得到转化待加载图片;
[0128] 获取转化待加载图片的圆角的弧度值信息,对所述转化待加载图片进行切圆角处理,得到目标待加载图片;
[0129] 浏览器将所述目标待加载图片加载至加载位置。
[0130] 上述技术方案的工作原理:该实施例中,将宽度信息与高度信息的比值作为待加载图片的目标分辨率。
[0131] 该实施例中,在确定不一致时,对待加载图片根据目标分辨率进行转化,得到转化待加载图片,便于在加载时,得到完整且准确显示的待加载图片,避免待加载图片过小无法清晰展示以及待加载图片过大,无法完整显示。
[0132] 该实施例中,获取转化待加载图片的圆角的弧度值信息,对所述转化待加载图片进行切圆角处理,得到目标待加载图片;基于圆角处理,便于得到加载的图片的显示效果更为美观,提高用户体验。
[0133] 上述技术方案的有益效果:对待加载图片根据目标分辨率进行转化,得到转化待加载图片;获取转化待加载图片的圆角的弧度值信息,对所述转化待加载图片进行切圆角处理,得到目标待加载图片;浏览器将所述目标待加载图片加载至加载位置。便于提高加载的完整性及准确性,也提高了显示效果,浏览器将所述目标待加载图片加载至加载位置,便于用户进行预览,提高了用户体验。
[0134] 如图2所示,本发明第二方面实施例提出了一种Office文件在线预览的系统,包括:
[0135] 确定模块,用于接收浏览器发送的文件预览请求,基于文件预览请求获取若干个Office文件,基于获取时间的先后依次进行对每个Office文件进行编号,确定编号标识;
[0136] 获取模块,用于获取每个Office文件的文件大小信息;
[0137] 比较模块,用于将每个Office文件的文件大小信息与预设阈值进行比较,根据比较结果,将若干个Office文件分为第一类型文件和第二类型文件;
[0138] 第一处理模块,用于对所述第一类型文件基于第一转换进程处理,得到第一处理结果并添加至缓冲进程中;
[0139] 第二处理模块,用于对所述第二类型文件基于第二转换进程处理,得到第二处理结果并添加至缓冲进程中;
[0140] 生成模块,用于根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表;
[0141] 加载模块,用于发送对文件预览请求的返回参数至浏览器,浏览器有序加载文档预览图片列表。
[0142] 上述技术方案的有益效果:基于Office文件的文件大小的不同,进行分类,基于Office文件的文件大小,分为第一类型文件和第二类型文件,对所述第一类型文件基于第一转换进程处理,对所述第二类型文件基于第二转换进程处理,避免现有技术中使用同一转换进程,造成转换效率低以及出现卡顿的情形,对于不同类别的Office文件采用不同的转换进程,提高了转换效率,同时根据所述第一处理结果及所述第二处理结果,生成缓冲队列,并根据缓冲队列生成文档预览图片列表,在基于不同转换进程处理后,基于确定编号标识重新进行排序,保证转换的结果的准确性及有序性,浏览器有序加载文档预览图片列表,提高了加载的准确性,也提升了预览效果。第二类型文件预览响应速度提升明显,从服务侧来看,预览缓存机制避免同一文件多次转换,基于第一转换进程及第二转换进程使得请求不必等到所有任务都处理完成了再返回结果,加快了处理转换任务的速度;从浏览器侧看,加载机制不需要一次返回所有的预览图片,避免了等待文档转换的过程。根据缓冲队列生成文档预览图片列表,便于保证缓冲队列的有序性,实现对多个Office文件的有序转换及预览,避免重复进行预览请求,提高了用户体验。
[0143] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。