CN116955289A - 一种文件处理方法、装置、电子设备和存储介质 - Google Patents
一种文件处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116955289A CN116955289A CN202310664531.XA CN202310664531A CN116955289A CN 116955289 A CN116955289 A CN 116955289A CN 202310664531 A CN202310664531 A CN 202310664531A CN 116955289 A CN116955289 A CN 116955289A
- Authority
- CN
- China
- Prior art keywords
- file
- target
- reminded
- label
- tag
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 38
- 238000003672 processing method Methods 0.000 title description 31
- 238000000034 method Methods 0.000 claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 68
- 230000000875 corresponding effect Effects 0.000 claims description 178
- 230000006870 function Effects 0.000 claims description 93
- 230000015654 memory Effects 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 34
- 238000004458 analytical method Methods 0.000 claims description 23
- 230000001960 triggered effect Effects 0.000 claims description 20
- 230000002596 correlated effect Effects 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 3
- 238000012552 review Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 60
- 230000008569 process Effects 0.000 description 35
- 230000000694 effects Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 11
- 230000008676 import Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 239000000243 solution Substances 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101150107801 Top2a gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及一种文件处理方法、装置、电子设备和存储介质,用以提高文件处理效率。其中,方法包括:通过对目标文件进行解析,确定目标文件包含的各个目标标签;目标标签为目标文件中用于描述内容和样式的标签;基于各个目标标签各自的特征信息,将存在兼容性问题,且满足预设提醒条件的目标标签,作为待提醒标签;根据每个待提醒标签对应的文件功能划分得到至少一个待提醒标签组;对于每个待提醒标签组,确定与待提醒标签组对应的兼容提示信息,并发送给客户端,通过客户端在目标文件的显示界面中呈现兼容提示信息。本申请通过标签兼容性提醒,为对象提供更为清晰的文件内容展示,提高了文件处理效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种文件处理方法、装置、电子设备和存储介质。
背景技术
Office开放式可扩展标记语言(Office Open Extensible Markup Language,OOXML)标签是Office文件中描述内容和样式的重要组成部分,如果某些标签丢失或被错误地解释,就会导致文件内容或样式的变化,从而引起Office文件的兼容性问题。因此,为了确保Office文件的兼容性,应该尽可能避免丢失OOXML标签。
例如,如果一个Word文档中的段落标签(<w:p>)丢失了,就可能导致文档中的样式和格式混乱,甚至使一些内容无法正常显示或编辑。同样地,如果一个Excel文件中的单元格标签(<c>)丢失了,就可能导致单元格中的数据丢失或混乱。
因此,如何为对象提供不阻断文件管理服务的格式兼容提醒,以提高文件处理效率,是亟待解决的。
发明内容
本申请实施例提供一种文件处理方法、装置、电子设备和存储介质,用以提高文件处理效率。
本申请实施例提供的一种文件处理方法,包括:
通过对目标文件进行解析,确定所述目标文件包含的各个目标标签;所述目标标签为所述目标文件中用于描述内容和样式的标签;
基于所述各个目标标签各自的特征信息,将存在兼容性问题,且满足预设提醒条件的目标标签,作为待提醒标签;
根据每个待提醒标签对应的文件功能划分得到至少一个待提醒标签组,每个待提醒标签组包含至少一个待提醒标签;
对于每个待提醒标签组,确定与所述待提醒标签组对应的兼容提示信息,并发送给客户端,通过所述客户端在所述目标文件的显示界面中呈现所述兼容提示信息。
本申请实施例提供的另一种文件处理方法,包括:
呈现目标文件的显示界面;所述目标文件包含多个用于描述内容和样式的目标标签,其中,存在兼容性问题,且满足预设提醒条件的目标标签,属于待提醒标签;
对于每个待提醒标签组,在满足所述待提醒标签组对应的提醒场景时,在所述目标文件的显示界面中,采用确定的提醒样式呈现与所述待提醒标签组对应的兼容提示信息;所述提醒场景表示所述目标文件的处理场景;所述提醒样式表示兼容提示信息在所述显示界面中的呈现样式;所述待提醒标签组是根据每个待提醒标签对应的文件功能划分得到,每个待提醒标签组包含至少一个待提醒标签。
本申请实施例提供的一种文件处理装置,包括:
解析单元,用于通过对目标文件进行解析,确定所述目标文件包含的各个目标标签;所述目标标签为所述目标文件中用于描述内容和样式的标签;
筛选单元,用于基于所述各个目标标签各自的特征信息,将存在兼容性问题,且满足预设提醒条件的目标标签,作为待提醒标签;
划分单元,用于根据每个待提醒标签对应的文件功能划分得到至少一个待提醒标签组,每个待提醒标签组包含至少一个待提醒标签;
提示单元,用于对于每个待提醒标签组,确定与所述待提醒标签组对应的兼容提示信息,并发送给客户端,通过所述客户端在所述目标文件的显示界面中呈现所述兼容提示信息。
可选的,所述解析单元具体用于:
根据所述目标文件的后缀,确定所述目标文件的文件类型;
若所述目标文件属于目标格式,则采用目标软件开发工具包中,与所述目标文件的文件类型相对应的文件结构,对所述目标文件进行解析,确定所述目标文件包含的各个目标标签;其中,所述目标格式为支持目标标签的格式。
可选的,所述满足预设提醒条件表示:目标标签存在于预设的格式提醒表格中;所述格式提醒表格还包含与各待提醒标签对应的提示优先级和提示文案;
所述提示单元具体用于:
根据所述格式提醒表格,确定与所述待提醒标签组中各待提醒标签对应的提示优先级和提示文案;
根据所述待提醒标签组中各待提醒标签对应的提示优先级和提示文案,生成所述兼容提示信息。
可选的,所述提示单元具体用于:
对于每个待提醒标签组,确定所述待提醒标签组对应的提醒场景和提醒样式;所述提醒场景表示所述目标文件的处理场景,所述提醒样式表示兼容提示信息在所述显示界面中的呈现样式;
在满足所述待提醒标签组对应的提醒场景时,在所述目标文件的显示界面中,采用确定的提醒样式呈现与所述待提醒标签组对应的兼容提示信息。
可选的,所述装置还包括:
第一处理单元,用于通过格式引擎服务,获取导入的所述目标文件;
创建临时目录,并通过所述临时目录存储所述目标文件的原始文件。
可选的,所述装置还包括:
第二处理单元,用于确定所述目标文件的格式类型;
调用与所述格式类型对应的文件控件,将所述目标文件转换为目标格式,所述目标格式为支持目标标签的格式;
将目标格式的所述目标文件转换为脚本对象简谱数据,并进行存储;以及,将所述脚本对象简谱数据返回给所述客户端,以通过所述客户端在所述目标文件的显示界面中渲染并展示所述目标文件。
可选的,若所述目标文件包含图表,则所述第二处理单元还用于:
在将所述脚本对象简谱数据返回给所述客户端之前,再次调用与所述格式类型对应的文件控件,将所述图表转换为图片;以及,确定所述图表存在兼容性问题,通知所述客户端提示图表功能不可编辑。
可选的,若所述目标文件包含目标媒体信息,则所述第二处理单元还用于:
在将所述脚本对象简谱数据返回给所述客户端之前,通过格式引擎服务,批量获取所述目标文件包含的目标媒体信息并存储;所述目标媒体信息为图片、音频、视频中的至少一种;
将所述目标媒体信息替换为统一资源定位符。
可选的,所述特征信息包括:标签路径、标签属性和标签值;所述解析单元还用于通过如下方式确定所述各个目标标签中,存在兼容性问题的目标标签:
对于每个目标标签,基于所述目标标签对应的标签路径、标签属性和标签值,确定所述目标标签不支持查看或编辑时,则确定所述目标标签存在兼容性问题。
本申请实施例提供的另一种文件处理装置,包括:
第一呈现单元,用于呈现目标文件的显示界面;所述目标文件包含多个用于描述内容和样式的目标标签,其中,存在兼容性问题,且满足预设提醒条件的目标标签,属于待提醒标签;
第二呈现单元,用于对于每个待提醒标签组,在满足所述待提醒标签组对应的提醒场景时,在所述目标文件的显示界面中,采用确定的提醒样式呈现与所述待提醒标签组对应的兼容提示信息;所述提醒场景表示所述目标文件的处理场景;所述提醒样式表示兼容提示信息在所述显示界面中的呈现样式;所述待提醒标签组是根据每个待提醒标签对应的文件功能划分得到,每个待提醒标签组包含至少一个待提醒标签。
可选的,所述兼容提示信息包括固定主文案和格式次级文案;所述第二呈现单元具体用于:
在所述目标文件的显示界面中,采用确定的提醒样式呈现与所述待提醒标签组对应的固定主文案,及部分格式次级文案;所述固定主文案表示所述目标文件存在兼容性问题,所述格式次级文案表示待提醒标签组所对应的兼容性问题详情;
响应于针对所述兼容提示信息的详情查看操作,呈现全部的格式次级文案。
可选的,所述兼容提示信息的提醒强度,与相应待提醒标签在所述目标文件中的出现频率呈正相关。
可选的,所述装置还包括:
第一响应单元,用于响应于通过所述显示界面中的标题栏触发的目标操作,呈现原始文件查看控件;
响应于针对所述原始文件查看控件的触发操作,在所述显示界面中展示所述目标文件的原始文件。
可选的,所述装置还包括:
第二响应单元,用于响应于针对所述目标文件的修订记录触发的查看操作,在所述显示界面中呈现修订记录区域;所述修订记录区域用于呈现所述目标文件的修订历史信息和版本信息;
响应于通过所述修订记录区域触发的版本信息查看操作,呈现所述目标文件对应的各个版本,以及原始文件对应的下载控件,所述原始文件为所述目标文件的初始版本;
响应于通过所述下载控件触发的下载操作,将所述原始文件下载至本地。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任意一种文件处理方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述任意一种文件处理方法的步骤。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行上述任意一种文件处理方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种文件处理方法、装置、电子设备和存储介质。由于本申请通过对目标文件的解析以及标签特征分析,可从目标文件中确定出存在兼容性问题且符合预设提醒条件的待提醒标签,进而,按照这些标签所对应的文件功能,可以确定出各个待提醒标签组各自对应的兼容提示信息,基于此,则可在不阻断文件处理过程的前提下,对于存在兼容性问题且符合预设提醒条件的目标标签,按照这些标签所对应的文件功能进行兼容性提示,为对象提供更为清晰的文件内容展示,以及流畅的文件处理体验,有效提高了文件的处理效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的一种应用场景示意图;
图2为本申请实施例提供的一种文件处理方法的实施流程图;
图3为本申请实施例中的一种终端设备上本地文件的位置示意图;
图4A为本申请实施例中的一种顶部toast提醒样式的兼容提示信息的示意图;
图4B为本申请实施例中的另一种顶部toast提醒样式的兼容提示信息的示意图;
图5为本申请实施例中的一种中间弹窗样式的兼容提示信息示意图;
图6为本申请实施例中的一种对象点击查看详情后的示意图;
图7为本申请实施例中的一种查看原始文件的过程示意图;
图8为本申请实施例中的一种文件名称样式的兼容提示信息示意图;
图9为本申请实施例中的一种点击态弹窗样式的兼容提示信息的示意图;
图10为本申请实施例中的一种中部兼容性弹窗的示意图;
图11为本申请实施例中的一种无兼容性问题的显示界面的示意图;
图12为本申请实施例中的另一种顶部toast提醒样式的兼容提示信息的示意图;
图13为本申请实施例中的一种修订记录示意图;
图14A为本申请实施例中的另一种文件名称样式的兼容提示信息示意图;
图14B为本申请实施例中的一种hover态触发格式兼容提醒toast的示意图;
图14C为本申请实施例中的另一种点击态弹窗样式的兼容提示信息的示意图;
图15为本申请实施例中的另一种中部兼容性弹窗的示意图;
图16为本申请实施例中的一种提醒强度的示意图;
图17本申请实施例提供的另一种文件处理方法的实施流程图;
图18为本申请实施例中的一种PPTX文件的导入导出示意图;
图19为本申请实施例中的一种演示文稿的导入全过程示意图;
图20为本申请实施例中的一种文档格式解析的交互图;
图21为本申请实施例中的一种演示文稿的物理结构和逻辑关系示意图;
图22为本申请实施例中的一种PresentationML文件的元素的示意图;
图23为本申请实施例中的一种文件处理方法的整体流程示意图;
图24为本申请实施例中的一种文件处理装置的组成结构示意图;
图25为本申请实施例中的另一种文件处理装置的组成结构示意图;
图26为应用本申请实施例的一种电子设备的一个硬件组成结构示意图;
图27为应用本申请实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
OOXML格式:又称为Open XML SDK for Office。软件开发工具包(SoftwareDevelopment Kit,SDK)基于System.IO.Packaging API构建而成,并提供强类型类来处理符合Office Open XML格式规范的文件。Office Open XML格式规范是一个开放的国际性标准。OOXML标签是Office文件中用于描述内容和样式的重要组成部分。
特征信息:指能够反映标签特征的信息,可以是指标签名称,还可以指标签路径、标签属性、标签值等,本文不做具体限定。
文件功能:在本申请实施例中,目标标签是用于描述文件的内容和样式的标签,也即,目标标签是文件的主要组成部分,而每个目标标签都可表征文件中具体的某一项内容或是样式,概括来说,将文件的内容和/或样式统称为功能时,每个目标标签都对应有一个文件功能。
图表:泛指在屏幕中显示的,可直观展示统计信息属性(时间性,数量性等),对知识挖掘和信息直观生动感受起关键作用的图形结构,是一种很好的将对象属性数据直观,形象的“可视化”的手段。在本申请实施例中,图表:表示各种情况和注明各种数字的图和表的总称,如示意图、统计表等。
图片:指的是由图形、图像等构成的平面媒体,是图画、照片、拓片等的统称。
本地编辑:无需联网,即可在在线文档客户端内进行文件查看、编辑等的文件管理服务。
在线编辑:需联网,将文件上传至线上,实现文件云端保存,在电脑、手机等终端设备均可登录账号,查找编辑云端保存等的文件管理服务。
在线文档客户端:是一款可多人同时编辑在线文件的客户端,支持在线Word/Excel/PPT/PDF/收集表多种类型。可以在电脑、手机、平板等多类型的终端设备上随时随地查看和修改文件。打开网页就能查看和编辑,云端实时保存,权限安全可控。本申请中的在线文档客户端支持本地文件、云端文件、在线文件三种不同形式的文件编辑,当进行Office文件编辑时,需对文件的解析结果给出整体感知,若文件所包含的目标标签存在兼容性问题,即可采用本申请实施例中的文件处理方法进行兼容提示。
Aspose:是一套Office文件管理方案,主要提供.net跟java两个开发语言的控件套包,通过它,可以有计划地操纵一些最流行的格式:Word,Excel,PowerPoint,Project等Office文件以及PDF文件。除了强大的文件操纵组件之外,它还提供了用于制图、写电子邮件、拼写检查、创建条形码、生成点对点(ad hoc)查询、重现格式以及工作流等组件,运用它可以整理一个完整的文件管理方案。
消息摘要算法第五版(Message Digest Algorithm 5,MD5):是被计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护,基于它计算出来的结果称为MD5值,它是一个32位长度的16进制字符串。MD5的典型应用是对一段字节串(Message)产生指纹(fingerprint),以防止被“篡改”。
下面对本申请实施例的设计思想进行简要介绍:
OOXML是持续发展中的SDK服务,因此当对象进行Office文件编辑功能时,文件编辑器在处理时,总会出现Microsoft Office(微软公司开发的基于Windows操作系统的办公软件套装)的部分功能会出现不显示、丢失或无法修改的情况,即为功能的不兼容问题。
Office文件之间的兼容性问题往往与OOXML标签的丢失有关。因OOXML标签是Office文件中描述内容和样式的重要组成部分,如果某些标签丢失或被错误地解释,就会导致文档内容或样式的变化,从而引起兼容性问题。
例如,如果一个Word文档中的段落标签(<w:p>)丢失了,就可能导致文档中的样式和格式混乱,甚至使一些内容无法正常显示或编辑。同样地,如果一个Excel文件中的单元格标签(<c>)丢失了,就可能导致单元格中的数据丢失或混乱。
此外,不同版本的Office应用程序对OOXML标签的支持程度也不完全相同,如果一个文档中使用了较新版本的OOXML标签,而打开该文档的应用程序版本过低,就可能导致某些标签无法被正确解释或处理,从而出现兼容性问题。
因此,为了确保Office文件的兼容性,应该尽可能避免丢失OOXML标签,同时在不同版本的Office应用程序之间进行文档传递时要特别注意版本兼容性问题。
有鉴于此,本申请实施例提出了一种文件处理方法、装置、电子设备和存储介质,以基于文件解析能力制定多类不同的兼容解决方案,来对象提供不阻断编辑服务的格式兼容提醒。具体的,本申请通过对目标文件的解析以及标签特征分析,可从目标文件中确定出存在兼容性问题且符合预设提醒条件的待提醒标签,进而,按照这些标签所对应的文件功能,可以确定出各个待提醒标签组各自对应的兼容提示信息,基于此,则可在不阻断文件处理过程的前提下,对于存在兼容性问题且符合预设提醒条件的目标标签,按照这些标签所对应的文件功能进行兼容性提示,为对象提供更为清晰的文件内容展示,以及流畅的文件处理体验,有效提高了文件的处理效率。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本申请实施例中的一种应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120。
在本申请实施例中,终端设备110包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有文件处理相关的客户端,该客户端可以是软件(例如浏览器、办公软件、文件处理软件等),也可以是网页、小程序等,服务器120则是与软件或是网页、小程序等相对应的后台服务器,或者是专门用于进行文件处理的服务器,本申请不做具体限定。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请各实施例中的文件处理方法可以由电子设备执行,该电子设备可以为终端设备110或者服务器120,即,该方法可以由终端设备110或者服务器120单独执行,也可以由终端设备110和服务器120共同执行。比如由终端设备110和服务器120共同执行时,终端设备110上安装有文件处理相关客户端,在通过该客户端处理目标文件时,可通过该客户端将目标文件上传到服务器120中的格式引擎服务模块,进而,通过格式引擎服务模块对导入的目标文件进行文件格式解析,将目标文件转换成脚本对象简谱(JSON)数据返回给终端设备110上的客户端,进而通过该客户端在终端设备110侧呈现目标文件。
此外,在服务器120获取到目标文件后,还需要进一步对目标文件进行解析,确定目标文件包含的各个目标标签;进而基于各个目标标签各自的特征信息,将这些目标标签中,既存在兼容性问题,又满足预设提醒条件的目标标签,记作待提醒标签,也即需要进行兼容性提醒的标签;对于这些待提醒标签,服务器120可以根据每个待提醒标签对应的文件功能划分得到至少一个待提醒标签组;进而,对于每个待提醒标签组,确定与待提醒标签组对应的兼容提示信息,并发送给终端设备110,通过客户端在目标文件的显示界面中呈现兼容提示信息。
可选的,终端设备110侧呈现兼容提示信息时还可进一步考虑提醒场景和提醒格式,其中,提醒场景表示目标文件的处理场景,提醒样式表示兼容提示信息在显示界面中的呈现样式。因而,对于每个待提醒标签组,终端设备110侧客户端可在满足待提醒标签组对应的提醒场景时,再在目标文件的显示界面中,采用确定的提醒样式呈现与待提醒标签组对应的兼容提示信息。
在一种可选的实施方式中,终端设备110与服务器120之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。
需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
本申请实施例中,当服务器的数量为多个时,多个服务器可组成为一区块链,而服务器为区块链上的节点;如本申请实施例所公开的文件处理方法,其中所涉及的文件处理相关数据可保存于区块链上,例如,目标文件、目标标签、特征信息、提示文案、兼容提示信息、格式提醒表格等。
此外,本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等场景。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的文件处理方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参阅图2所示,为本申请实施例提供的一种文件处理方法的实施流程图,以客户端为执行主体为例,该方法的具体实施流程如下:
S21:客户端呈现目标文件的显示界面;目标文件包含多个用于描述内容和样式的目标标签,其中,存在兼容性问题,且满足预设提醒条件的目标标签,属于待提醒标签。
在本申请实施例中,目标标签为目标文件用于描述内容和样式的重要组成部分。
其中,文件内容如文件中的图片、图表、音频、视频、文本、控件、页面背景、评论等;文件样式指文件中各元素在界面中的显示样式,如文本元素的字号、字体;控件、图形的形状、大小,图表的大小、位置等。
下文是以目标标签为OOXML标签为例的,OOXML标签是Office文件中描述内容和样式的重要组成部分,如果某些标签丢失或被错误地解释,就会导致文件内容或样式的变化,从而引起Office文件的兼容性问题。
因而,本申请通过对目标文件进行解析和参数分析,可从目标文件包含的多个OOXML标签中,筛选出存在兼容性问题,且满足预设提醒条件的OOXML标签,并将筛选出的OOXML标签作为待提醒标签,以进行文件兼容性提醒。
本申请考虑到了,并非每个目标标签存在兼容性问题时都需要进行提示,对于一些可以忽略的兼容性问题(比如评论内的表情更改为文本描述的格式,A字体不支持替换为了B字体等等),则无需进行提示;因而本申请中的待提醒标签为存在兼容性问题,且满足预设提醒条件的标签。
S22:对于每个待提醒标签组,客户端在满足待提醒标签组对应的提醒场景时,在目标文件的显示界面中,采用确定的提醒样式呈现与待提醒标签组对应的兼容提示信息;提醒场景表示目标文件的处理场景;提醒样式表示兼容提示信息在显示界面中的呈现样式;待提醒标签组是根据每个待提醒标签对应的文件功能划分得到,每个待提醒标签组包含至少一个待提醒标签。
具体的,多个待提醒标签组对应的兼容提示信息可以相同,如表示文件整体存在兼容性问题,也可以不同,如具体到文件的哪些功能存在兼容性问题,本文不做具体限定。
在本申请实施例中,考虑到并非每个目标标签存在兼容性问题时都需要单独进行提示,会存在多个目标标签表示同一文件功能的情况,因而,本申请还提出了将待提醒标签进行分组,即按照每个待提醒标签对应的文件功能,划分待提醒标签组,以组为单位,在客户端进行提示。
其中,文件功能与文件中的元素相关联,包括但不限于文件的组成元素、文件组成元素的显示效果、文件的页面布局等等,比如:页面方向、页面边框、目录格式、水印、背景图案、动画、雷达图、页眉和页脚、修订内容、特殊单元格填充、自动更新日期、文字效果、形状效果等。
在本申请实施例中,对于每个待提醒标签组,在进行兼容提示时,还考虑了提醒场景与提醒样式这两项。其中,提醒场景表示目标文件的处理场景,包括但不限于下列的部分或全部:首次加载、编辑过程、文件保存、文件查看。
其中,提醒样式表示兼容提示信息在显示界面中的呈现样式,包括但不限于下列的部分或全部:顶部简易消息提示框(toast)、中间弹窗、停悬(hover)、点击态弹窗、感叹号展示、格式后缀。
其中,顶部toast是指在显示界面的顶部,以toast的样式呈现兼容提示信息。中间弹窗是指在显示界面的中间,以弹窗的样式呈现兼容提示信息。hover是一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。在本申请实施例中,具体可以指鼠标移动到某个对象时,呈现兼容提示信息;点击态弹窗是指点击某个对象时,以弹窗的样式呈现兼容提示信息。感叹号提示是指通过感叹号表示文件存在兼容性问题。格式后缀是指在文件名称后呈现文件类型,具体可以通过控件、图标、气泡等形式来显示该文件类型。
概括来说,本申请中的文件处理方法,是一种解决客户端在本地及云端编辑Word文档、Excel电子表格、PowerPoint幻灯片等Office文件时,当在文件解析过程中发现其基于OOXML格式存在标签丢失,导致功能不可见(即不支持查看)或不可用(即不支持编辑)时,进行不同类型的兼容提醒的解决方案。
具体地,本申请从不同场景,如文件上传云端时、首次打开解析时、功能编辑过程中、点击文件保存时、格式文件名称等场景,并当对象在查看、编辑、保存时,以toast、弹窗、hover、格式标签等形式提醒文件存在不兼容的问题,进而继续在客户端端内进行文件的查看、编辑、流转和存储等文件管理服务。
下面结合附图,对本地编辑场景和云端编辑场景下,兼容提示信息的呈现进行示例性说明:
(一)本地编辑场景。
该部分用于列举对象在无需联网的情况下,从PC桌面端(也可以是其他终端设备上的客户端,本文是以PC桌面端为例的)打开,对未上传至云端的Office文件进行查看、编辑场景下,Office文件进行过程中发现存在OOXML标签丢失导致功能显示不全或无法编辑,即存在兼容问题场景下的产品表现。下面分情况进行说明:
情况一、顶部toast提醒样式。
该提醒样式适用于首次加载场景下,当对象打开Office文件时,若解析发现文件存在OOXML标签解析失败(出现兼容性问题),且命中预设的格式提醒表格时,则将在文件详情页(本申请中的一种显示界面)的顶部,以toast提醒的形式,展示“此xxx类型文件存在一些兼容性问题,已为您生成原始文件副本查看”。
其中,不同文件类型的目标文件,所对应的兼容提示信息的文案元素不同。
如:当目标文件为文档时,xxx替换为Word;当目标文件为表格时,xxx替换为Excel;当目标文件为幻灯片时,xxx替换为PowerPoint。
需要说明的是,上述所列举的兼容提示信息是指在目标文件的首次加载场景下进行提示的示例。也即,在首次加载目标文件时,若该目标文件存在兼容性问题,则可在显示界面的顶部,以toast的样式提示“此xxx类型文件存在一些兼容性问题,已为您生成原始文件副本查看”。或者,还可以直接提示“此xxx类型文件存在一些兼容性问题,已为您生成原始文件副本”,等等。
该情况下,对于每个待提醒标签组而言,所对应的兼容提示信息都相同,也即,都为针对目标文件整体的兼容提示信息,在当期尚不需要针对各个待提醒标签组,呈现不同的兼容提示信息。而后续随着对象的操作,可进一步呈现与各待提醒标签组各自对应的兼容提示信息(如下述图5和图6所列举的格式次级文案)。
参阅图3所示,其为本申请实施例中的一种终端设备上本地文件的位置示意图。该图列举了终端设备上本地文件的位置,当对象打开本地文件“设计效率工具系列初稿”,若该文件存在兼容性问题,则可通过顶部toast进行兼容性提醒。
参阅图4A所示,其为本申请实施例中的一种顶部toast提醒样式的兼容提示信息的示意图。图4A所示的目标文件的文件格式为pptx,文件名为“设计效率工具系列初稿”。其中,S41即为本申请中的一种顶部toast的示例,即表示“此文件存在一些兼容性问题,已为您生成原始文件副本”。
在本申请实施例中,该toast可在展示x秒后消失,x秒可根据实际需求灵活的进行配置,例如配置为5秒,本文不做具体限定。
此外,该toast中还可进一步设置操作元素,如用于跳转至原始文件的“查看”控件。
如图4B所示,其为本申请实施例中的另一种顶部toast提醒样式的兼容提示信息的示意图。与图4A中的S41相比,该toast中除兼容提示信息外,还增加了一个可操作控件,如S42所示的【查看】。进一步的,对象点击【查看】,可跳转至原始文件的临时文件所在位置,查看原始文件。
情况二、中间弹窗样式。
该提醒样式适用于文件保存场景下,当对象保存Office文件时,若检测到文件仍存在OOXML标签解析失败,且命中预设的格式提醒表格的情况,将在进行文件【保存】操作时触发中间弹窗样式,来呈现兼容提示信息。
示例性的,该中间弹窗样式的文案元素如下表1所示:
表1中间弹窗样式的文案元素
/>
在该场景下,兼容提示信息可包括固定主文案和格式次级文案。其中,固定主文案是一种概括性描述,与各待提醒标签组各自所对应的文件功能无关。而格式次级文案则是一种细致化的描述,与各待提醒标签组各自所对应的文件功能相关。
在目标文件的显示界面中,采用确定的提醒样式呈现与待提醒标签组对应的兼容提示信息时,一种可选的实施方式为:
在目标文件的显示界面中,采用确定的提醒样式呈现与待提醒标签组对应的固定主文案,及部分格式次级文案;其中,固定主文案表示目标文件存在兼容性问题,格式次级文案表示待提醒标签组所对应的兼容性问题详情。
可选的,格式次级文案的展示逻辑为:仅展示优先级位于指定次序的若干格式次级文案(如前2个优先级)。其中,优先级可根据经验预先设置,也可根据相应待提醒标签组所对应的文件功能进行排序等,本文不做具体限定。
对象可在上述基础上进一步查看详情,客户端响应于针对兼容提示信息的详情查看操作,呈现全部的格式次级文案。
参阅图5所示,其为本申请实施例中的一种中间弹窗样式的兼容提示信息示意图。在图5中,S50即为本申请中的一种中间弹窗的示例,具体的,该兼容提示信息包括:标题“另存文件”,固定主文案“此文件的部分格式暂不支持,保存会被丢失或取代。可将编辑内容另存,源文档不受影响”,以及部分格式次级文案“部分形状效果就被移除部分文字效果将被移除”。
此外,该弹窗中可进一步包括如下操作元素中的至少一种:
1、【查看详情】:点击查看更多丢失格式详情;
2、【继续保存】:触发文件保存操作;
3、【另存为】:触发文件另存为操作。
其中,在对象点击【查看详情】时,客户端响应于针对兼容提示信息的详情查看操作,展示所有格式丢失对应的格式次级文案。
如图6所示,其为本申请实施例中的一种对象点击查看详情后的示意图。当对象点击【查看详情】后,可进一步呈现图6所示的弹窗(也可以是浮层、网页等其他形式),标题为查看详情,所有的格式次级文案按照优先级排序为:部分形状效果将被移除;部分文字效果将被移除;智能图形将被移除;3D图表将被转换为2D图表;旋转的文本将改为水平;嵌入的音频内容将被移除;不支持页面方向设置为不同,所有页面将转为相同方向;动画将被移除;雷达图将被移除。
对象点击【我知道了】,或者是右上角的“×”,即可关闭该详情页面。
其中,图6所列举的各格式次级文案的优先级还可基于云端Office文件在线编辑能力规划,如下述表2为本申请实施例中所列举的一种优先级排序示例。
表2优先级排序表
上述表格只是简单示例,除此之外还可采用其他方式设置优先级及文案等信息,本文不做具体限定。
可选的,本申请也支持对象查看原始文件,实施流程如下:
客户端响应于通过显示界面中的标题栏触发的目标操作,呈现原始文件查看控件;进而,客户端响应于针对原始文件查看控件的触发操作,在显示界面中展示目标文件的原始文件。例如下述情况三所示。
情况三:顶部标题栏样式。
该提醒样式适用于文件查看场景下,在顶部标题栏更多功能中,增加【查看原始文件】功能,提供对象找回初始版本文件的服务。
在本申请实施例中,一种可选的原始文件存储原则为:在文件加载时,同步将原始文件复制粘贴存放在系统临时目录下,如Windows平台的C:\Users\...\AppData\Roaming\TencentDocs\Doc\下。
参阅图7所示,其为本申请实施例中的一种查看原始文件的过程示意图。如对象点击顶部标题栏更多功能时,客户端响应于通过显示界面中的标题栏触发的目标操作,呈现原始文件查看控件,如图7中的【查看原始文件】。进一步的,对象点击【查看原始文件】,客户端响应于针对原始文件查看控件的触发操作,跳转至原始文件的临时文件所在位置,以展示目标文件的原始文件。
在上述实施方式中,文件存在兼容性问题时,支持对象查看原始文件。
进一步地,本申请还设置了如下副本生成原则:
若对象针对目标文件的最近一次编辑行为非PC桌面端,即文件MD5值发生改变,则可判定目标文件为新文件,生成新的原始文件副本。否则,同一文件从首次加载到删除的整个生命周期内,仅生成一次原始文件副本。
其中,不同副本对应不同的版本,可用于向不同的对象进行汇报等等,本文不做具体限定。
情况四、文件名称样式-格式后缀提醒。
该提醒样式适用于编辑过程,在目标文件上传完成后,首次进入编辑页面时,刻在文件格式后缀图标(文件扩展名)展示兼容性问题符号。
该情况下,对于每个待提醒标签组而言,所对应的兼容提示信息都相同,也即,都为针对目标文件整体的兼容提示信息,在当前尚不需要针对各个待提醒标签组,呈现不同的兼容提示信息,而后续随着对象的操作,可进一步呈现与各待提醒标签组各自对应的兼容提示信息(如下述图10所列举的格式次级文案)。
如图8所示,其为本申请实施例中的一种文件名称样式的兼容提示信息示意图。如图8中的S80所示的兼容性问题符号,也是兼容提示信息的一种示例,即兼容提示信息不仅可以包括文本信息,也可包括操作控件,如上文中的【查看详情】、【另存为】等,又如S80中的兼容性问题符号(感叹号)。
如图8所示的这一类兼容提示信息的触发时机为文件存在格式兼容问题时,展现形式为格式后缀后增加感叹号提醒,提示文案为此文件存在一些兼容性问题。
除上述图8所列举的提醒样式外,还可以是后缀hover态toast。
具体地,当鼠标移至文件格式后缀图标(文件扩展名)处,hover态触发格式兼容提醒toast,感叹号保持。该样式的兼容提示信息的触发时机为文件存在格式兼容问题时,展现形式为hover态触发格式兼容提醒toast,提示文案为此文件存在一些兼容性问题(或是其他文案,本文不做具体限定),具体也可参阅图8,本文不做具体限定。
在上述基础上,对象点击格式后缀时,进一步呈现点击态弹窗样式的兼容提示信息,该样式的兼容提示信息的触发时机点击格式后缀时,展现形式为格式兼容说明小弹窗,提示文案为此文件存在一些兼容性问题(或是其他文案,本文不做具体限定),操作元素为【查看详情】。对象点击【查看详情】,拉取中间区域的格式兼容弹窗。
需要说明的是,上述所列举的提示文案只是简单示例,该提示文案还可具体化,如图9所示,其为本申请实施例中的一种点击态弹窗样式的兼容提示信息的示意图。即表示对象在图8的基础上点击格式后缀后,感叹号消失,呈现如图9中S90所示的点击态弹窗,S90中的提示文案为部分PowerPoint格式无法显示,在编辑时候可能会丢弃。此外,S90中还显示有【查看详情】。当对象点击【查看详情】,则可进一步拉取中间区域的格式兼容弹窗,也即呈现中部兼容性弹窗的兼容提示信息。
具体的,中部兼容性弹窗的提示文案如下表3所示:
表3中部兼容性弹窗的提示文案
在该场景下,兼容提示信息可包括固定主文案和格式次级文案。其中,固定主文案是一种概括性描述,与各待提醒标签组各自所对应的文件功能无关。而格式次级文案则是一种细致化的描述,与各待提醒标签组各自所对应的文件功能相关。
可选的,格式次级文案的展示逻辑为:仅展示优先级位于指定次序的若干格式次级文案(如前2个优先级)。其中,优先级可根据经验预先设置,也可根据相应待提醒标签组所对应的文件功能进行排序等,本文不做具体限定。
参阅图10所示,其为本申请实施例中的一种中部兼容性弹窗的示意图。在图10中,S100即为本申请中的一种中部兼容性弹窗的示例,具体的,该兼容提示信息包括:标题“此文件部分功能暂不支持”,固定主文案“如果您继续编辑,此文件中的下列功能将会被移除或取代。在文件的查看修订记录-版本中,提供存有其完整Office功能原始文件的下载服务。”,以及部分格式次级文案“部分形状效果就被移除部分文字效果将被移除”。
对象可在上述基础上进一步查看详情,客户端响应于针对兼容提示信息的详情查看操作,呈现全部的格式次级文案,具体结果类似图6所示,本文不再重复赘述。
需要说明的是,在本地编辑场景下,本申请实施例中提供的一种感叹号展示原则如下:
在格式后缀中,hover不触发叹号取消逻辑(如图8所示),点击触发叹号取消展示逻辑(如图9所示)。在感叹号取消后,当前详情页生命周期内不再出现;重新打开文件,仍存在兼容性问题时重新展示叹号。
此外,当目标文件不存在兼容性问题时,则只需在文件名称之后后缀文件类型即可,如图11所示,其为本申请实施例中的一种无兼容性问题的显示界面的示意图,如11中是在文件名称后缀“.PPTX”(也可称作“格式后缀图标”),而无需呈现其他提示信息。
需要说明的是,上述对本地编辑场景下的几种兼容性提示信息进行了简单的示例性说明,且上述所列举的兼容性提示信息只是简单举例,其他兼容性提示信息同样适用于本申请实施例,在此不做具体限定。
(二)云端编辑场景。
该部分用于列举对象在联网的情况下,对以整体文件形式从设备本地上传至云端的、在本地编辑过程中点击上云功能上传至云端的Office文件。在其后续在云端进行查看、编辑场景下,Office文件进行过程中发现存在OOXML标签丢失导致功能显示不全或无法编辑,即存在兼容问题场景下的产品表现。下面分情况进行说明(同上述本地编辑场景下的几种情况类似):
情况一、顶部toast提醒样式。
该提醒样式适用于首次加载场景下,当对象打开Office文件时,当解析发现文件存在OOXML标签解析失败(出现兼容性问题),且命中预设的格式提醒表格时,将在文件详情页的顶部,以toast提醒的形式,展示“此xxx类型文件存在一些兼容性问题,已为您生成原始文件副本”,或者“此文件存在一些兼容性问题,已为您生成原始文件副本”。
其中,不同文件类型的目标文件,所对应的兼容提示信息的文案元素不同。
如:当目标文件为文档时,xxx替换为Word;当目标文件为表格时,xxx替换为Excel;当目标文件为幻灯片时,xxx替换为PowerPoint。
该情况下,对于每个待提醒标签组而言,所对应的兼容提示信息都相同,也即,都为针对目标文件整体的兼容提示信息,在当期尚不需要针对各个待提醒标签组,呈现不同的兼容提示信息。而后续随着对象的操作,可进一步呈现与各待提醒标签组各自对应的兼容提示信息(如下述图15所列举的格式次级文案)。
参阅图12所示,其为本申请实施例中的另一种顶部toast提醒样式的兼容提示信息的示意图。图12所示的目标文件的文件格式为pptx,文件名为“设计效率工具系列初稿”。其中,S120即为本申请中的一种顶部toast的示例,即表示“此文件存在一些兼容性问题,已为您生成原始文件副本”。与图4A类似,区别仅在于一种是本地编辑场景,一种是云端编辑场景。
同理,该toast可在展示x秒后消失,x秒可根据实际需求灵活的进行配置。此外,也可设置类似图4B所示的【查看】控件,以点击查看原始文件。
可选的,本申请也支持对象查看原始文件,实施流程如下:
客户端响应于针对目标文件的修订记录触发的查看操作,在显示界面中呈现修订记录区域;修订记录区域用于呈现目标文件的修订历史信息和版本信息;进一步,客户端响应于通过修订记录区域触发的版本信息查看操作,呈现目标文件对应的各个版本,以及原始文件对应的下载控件,原始文件为目标文件的初始版本;最后,客户端响应于通过下载控件触发的下载操作,将原始文件下载至本地。例如下述情况二所示。
情况二:顶部标题栏样式。
该提醒样式适用于文件查看场景下,在顶部标题栏的更多功能中,修订记录中提供原始版本下载服务的。
具体的,在【查看修订记录】-【版本】下,针对基于文件创建的第1个版本增加【下载】操作,屏蔽【还原】操作。下载不经过导入流程格式兼容操作的完整原始Office文件。
参阅图13所示,其为本申请实施例中的一种修订记录示意图。如对象在【查看修订记录】-【版本】下,可点击S130所示的【下载】控件,客户端即可响应于通过下载控件触发的下载操作,将原始文件下载至本地。
具体的,本申请实施例中原始文件的版本名称采用上传时刻的文件名+后缀的方式,不涉及线上重命名机制(即无法重命名),原始版本文件名不可点击。
而对于其他版本而言,则可涉及线上重命名机制(即可以重命名),文件名可点击,如对象点击2022-04-08 16:40所生成的第二版本文件所对应的“副本”时,即可触发重命名,对该版本的副本进行重命名。
相对应的,本申请实施例中的原始版本不可还原,而其他版本可以还原为相应的初始状态(也可以理解成还原为“上一版本”)。
在上述实施方式中,通过上述规则约束对象不可对原始文件进行重命名,保证原始文件查看的准确性。
情况三、文件名称样式-格式后缀提醒。
该提醒样式适用于编辑过程,在目标文件上传完成后,首次进入编辑页面时,刻在文件格式后缀图标(文件扩展名)展示兼容性问题符号。
该情况下,对于每个待提醒标签组而言,所对应的兼容提示信息都相同,也即,都为针对目标文件整体的兼容提示信息,在当前尚不需要针对各个待提醒标签组,呈现不同的兼容提示信息,而后续随着对象的操作,可进一步呈现与各待提醒标签组各自对应的兼容提示信息(如下述图15所列举的格式次级文案)。
如图14A所示,其为本申请实施例中的另一种文件名称样式的兼容提示信息示意图。如图14A中的S140所示的兼容性问题符号,即为本申请实施例中的一种兼容提示信息。
该样式的兼容提示信息的触发时机为文件存在格式兼容问题时,展现形式为格式后缀后增加感叹号提醒,提示文案为此文件存在一些兼容性问题(或者“此文件存在一些兼容性问题,已为您生成原始文件副本”,或是其他文案等,本文不做具体限定)。
当鼠标移至文件格式后缀图标(文件扩展名)处,即可呈现hover态触发格式兼容提醒toast,感叹号保持。该样式的兼容提示信息的触发时机为文件存在格式兼容问题时,展现形式为hover态触发格式兼容提醒toast,提示文案为此文件存在一些兼容性问题(或者“xxx类型。此文件存在一些兼容性问题”,或是其他文案等,本文不做具体限定)。
其中,当目标文件为文档时,xxx替换为Word;当目标文件为表格时,xxx替换为Excel;当目标文件为幻灯片时,xxx替换为PowerPoint。
参阅图14B所示,其为本申请实施例中的一种hover态触发格式兼容提醒toast的示意图。如图14B中的S141所示,即表示在图14A的基础上,对象将鼠标移动至感叹号处时,hover态触发格式兼容提醒toast的示例。
在上述基础上,对象点击格式后缀时,进一步呈现点击态弹窗样式的兼容提示信息,该样式的兼容提示信息的触发时机点击格式后缀时,展现形式为格式兼容说明小弹窗,提示文案为此文件存在一些兼容性问题(或是其他文案,本文不做具体限定),操作元素为【查看详情】。对象点击【查看详情】,拉取中间区域的格式兼容弹窗。
需要说明的是,上述所列举的提示文案只是简单示例,该提示文案还可具体化,如图14C所示,其为本申请实施例中的另一种点击态弹窗样式的兼容提示信息的示意图。即表示对象在图14B的基础上点击格式后缀后,感叹号消失,呈现如图14C中S142所示的点击态弹窗,S142中的提示文案为部分PowerPoint格式无法显示,在编辑时候可能会丢弃。此外,S142中还显示有【查看详情】。当对象点击【查看详情】,则可进一步拉取中间区域的格式兼容弹窗,也即呈现中部兼容性弹窗的兼容提示信息。
具体的,中部兼容性弹窗的提示文案如下表4所示:
表4中部兼容性弹窗的提示文案
其中,次级文案展示逻辑也可仅展示Top2优先级丢失格式。同上述表3类似,重复之处不再赘述。
参阅图15所示,其为本申请实施例中的另一种中部兼容性弹窗的示意图。在图15中,S150即为本申请中的一种中部兼容性弹窗的示例,具体的,该兼容提示信息包括:标题“此文件部分功能暂不支持”,固定主文案“如果您继续编辑,此文件中的下列功能将会被移除或取代。在文件的查看修订记录-版本中,提供存有其完整Office功能原始文件的下载服务。”,以及部分格式次级文案“部分形状效果就被移除部分文字效果将被移除”。
对象可在上述基础上进一步查看详情,客户端响应于针对兼容提示信息的详情查看操作,呈现全部的格式次级文案,具体结果类似图6所示,本文不再重复赘述。
此外,在云端编辑场景下,本申请实施例中提供的一种感叹号展示原则如下:
在格式后缀中,hover不触发叹号取消逻辑(如图14B所示),点击触发叹号取消展示逻辑(如图14C所示)。在感叹号取消后,当前详情页生命周期内不再出现;重新打开文件,仍存在兼容性问题时重新展示叹号。
需要说明的是,上述对云端编辑场景下的几种兼容性提示信息进行了简单的示例性说明,且上述所列举的兼容性提示信息只是简单举例,其他兼容性提示信息同样适用于本申请实施例,在此不做具体限定。
并且,上述仅是对本地编辑和云端编辑场景下的几种兼容性提示信息进行了简单的示例性说明,除了这两种编辑场景下,其他编辑场景同样适用,本文不再一一赘述。
可选的,本申请实施例中兼容提示信息的提醒强度,还可与相应待提醒标签在目标文件中的出现频率呈正相关。
参阅图16所示,其为本申请实施例中的一种提醒强度的示意图。比如,设置出现频率在第一范围内时,进行中性提醒,出现频率在第二范围内时,进行危险提醒,等等。
在上述实施方式中,通过提醒强度进一步直观的向对象进行兼容性提示,以便对象确定该兼容性问题对后续操作所带来的影响是否严重,是否继续操作等等,以进一步提高文件处理效率。
此外,上述是从客户端侧对本申请实施例中的文件处理方法进行举例说明的,下面从服务器侧对本申请实施例中的文件处理方法进行举例说明:
参阅图17所示,为本申请实施例提供的另一种文件处理方法的实施流程图,以服务器为执行主体为例,该方法的具体实施流程如下:
S171:服务器通过对目标文件进行解析,确定目标文件包含的各个目标标签;目标标签为目标文件中用于描述内容和样式的标签。
在本申请实施例中,目标文件是指目标格式的文件,如目标标签为OOXML标签时,目标格式的文件即Office文件,包括但不限于如下文件类型:Word文档、Excel电子表格、PPT演示文稿等。OOXML标签则是指Office文件中描述内容和样式的重要组成部分。
S172:基于各个目标标签各自的特征信息,将存在兼容性问题,且满足预设提醒条件的目标标签,作为待提醒标签。
在一种可选的实施方式中,目标标签的特征信息可以包括标签路径、标签属性和标签值。在目标标签的特征信息包含上述三项时,可通过如下方式确定各个目标标签中,存在兼容性问题的目标标签:
对于每个目标标签,基于该目标标签对应的标签路径、标签属性和标签值,分析在客户端是否支持查看和/或编辑该目标标签,当确定该目标标签不支持查看或编辑时,则确定该目标标签存在兼容性问题。
例如,某一字体标签<w:rFonts>的标签值为微软雅黑,而客户端不支持该字体的情况下,即表示该标签是不支持查看的,即该标签存在兼容性问题。
在上述实施方式中,通过目标标签对应的标签路径、标签属性和标签值,分析其是否支持查看和/或编辑,以确定存在兼容性问题的标签,该方式所确定的结果更为准确。
在另一种可选的实施方式中,也可通过标签库的比对,确定存在兼容性问题的标签,该过程涉及服务器侧的本地标签库与微软提供的标准标签库之间的比对。
具体的,OOXML标签属于微软提出的标签,在微软侧每隔一段时间会进行OOXML标签的更新,即更新标准标签库。而服务器侧也会针对微软侧标签的更新,适应性更新服务器所支持的OOXML,即更新本地标签库,但是双方的更新不一定会同步,可能存在服务器侧尚未更新导致某些目标标签存在兼容性问题的情况。
基于此,可通过如下方式确定各个目标标签中,存在兼容性问题的目标标签:
服务器获取当前最新的标准标签库;对于每个目标标签,若确定该目标标签存在于当前最新的标准标签库,但未存在于当前最新的本地标签库,则将该目标标签作为存在兼容性问题的目标标签。
在上述实施方式中,目标标签的特征信息具体是指目标标签的标签名称,对于目标文件所包含的目标标签而言,基于该目标标签的标签名称,通过在服务器侧本地标签库与微软侧标准标签库中分别进行查找,若某一目标标签签存在于标准标签库,但未存在于本地标签库时,即表示服务器侧尚不支持该目标标签,该目标文件可能会丢失或被错误地解释,引起兼容性问题。
如下表5所示,其为本申请实施例中的一种本地标签库与标准标签库的示例:
表5解析Word文档时的元素处理对应表
本地标签库 | 标准标签库 |
OOXML标签1 | OOXML标签1 |
OOXML标签2 | OOXML标签2 |
- | OOXML标签3 |
OOXML标签4 | OOXML标签4 |
OOXML标签5 | OOXML标签5 |
… | … |
由上述表5可知,很显然,OOXML标签3存在于标准标签库,但未存在于本地标签库,当目标文件包含OOXML标签3这一目标标签时,该目标标签即可被确定为:存在兼容性问题的标签。
在上述实施方式中,仅通过简单的查询和比对,即可确定目标文件所包含的目标标签中,存在兼容性问题的标签,简单便捷,效率更高。
需要说明的是,上述所列举的几种确定存在兼容性问题的目标标签的方式只是简单举例,任何一种确定目标标签是否存在兼容性问题的方式都适用于本申请实施例,在此不做具体限定。
S173:根据每个待提醒标签对应的文件功能划分得到至少一个待提醒标签组,每个待提醒标签组包含至少一个待提醒标签。
在本申请实施例中,考虑到并非每个待提醒标签都可独立支持一种文件功能,有可能会存在多个标签支持同一文件功能的情况,因而,在进行兼容性提示前,还可根据每个待提醒标签所对应的文件功能,将目标文件中的各个待提醒标签划分为待提醒标签组,同一待提醒标签组中的各个待提醒标签所对应的文件功能相同。具体划分方式可参见上述实施例,重复之处不再赘述。
S174:对于每个待提醒标签组,确定与待提醒标签组对应的兼容提示信息,并发送给客户端,通过客户端在目标文件的显示界面中呈现兼容提示信息。
在上述实施方式中,通过对目标文件的解析以及标签特征分析,可从目标文件中确定出存在兼容性问题且符合预设提醒条件的待提醒标签,进而,按照这些标签所对应的文件功能,可以确定出各个待提醒标签组各自对应的兼容提示信息,基于此,则可在不阻断文件处理过程的前提下,对于存在兼容性问题且符合预设提醒条件的目标标签,按照这些标签所对应的文件功能进行兼容性提示,为对象提供更为清晰的文件内容展示,以及流畅的文件处理体验,有效提高了文件的处理效率。
可选的,本申请考虑到并非所有格式的文件都会存在因目标标签导致的兼容性问题,并且,目标文件的文件类型不同时,文件的解析方式也不一定相同。因而,一种可选的实施方式为,按照如下所示的流程实施S171,包括以下步骤S1711~S1712(图17中未示出):
S1711:根据目标文件的后缀,确定目标文件的文件类型。
S1712:若目标文件属于目标格式,则采用目标软件开发工具包中,与目标文件的文件类型相对应的文件结构,对目标文件进行解析,确定目标文件包含的各个目标标签;其中,目标格式为支持目标标签的格式。
在本申请实施例中,Open XML文件存储在ZIP存档中以方便打包和压缩。可以使用ZIP查看器来查看任何Open XML文件的结构。一个Open XML文件由多个文件部件构成。这些部件之间的关系自己存储在文件部件中。ZIP格式支持随机访问每个部件。
以XML标记的形式创建Open XML包中的文件部件。由于XML的结构为纯文本,因此可以使用文本读取器查看文件部件的内容,也可以使用类似XPath的进程分析内容。
从结构上来讲,Open XML文件是开放打包约定(OPC)包。如前面所述,一个包由一组文件部件组成。每个部件都有一个由段序列或路径名(如“/word/theme/theme1.xml”)组成的部件名称。包包含[Content_Types].xml部件,可用于确定包中所有文件部件的内容类型。以.rels扩展名结尾的关系部件中包含一组源包或部件的显式关系。
当解析文件后缀时,为doc、docx、xls、xlsx、ppt、pptx等格式后缀时,使用目标软件开发工具包Open XML SDK进行OOXML标签兼容性的解析。
下面分别对Word文档、Excel电子表格、PPT演示文稿这几种类型的目标文件的解析过程进行举例说明:
(一)WordprocessingML。
当目标文件为Word文档,Open XML SDK中,与Word文档相对应的文档结构(也即文件结构)为WordprocessingML,因而,根据WordProcessingML文档结构对目标文件进行解析即可。
WordProcessingML文档的基本文档结构由<document>和<body>元素组成,后跟一个或多个块级元素,例如代表paragraph的<p>。paragraph包含一个或多个<r>元素。<r>代表run,它是具有一组共同属性(如格式设置)的文本区域。run包含一个或多个<t>元素。<t>元素包含文本范围。
具体地,本申请表6中列出一些重要的WordprocessingML元素、这些元素所对的WordProcessingML文档包部分,以及表示Open XML SDK 2.5API中的元素的托管类。当解析Word文档时,将对其结构内的下述元素段落处理和运行处理,以解析获得这些元素速包含的OOXML标签:
表6解析Word文档时的元素处理对应表
包部分 | 元素 | 类 | 说明 |
主文件 | document | Document | 主文件部分的根元素 |
评论 | comments | Comments | 批注部分的根元素 |
文件设置 | settings | Settings | 文件设置部分的根元素 |
尾注 | endnotes | Endnotes | 尾注部分的根元素 |
页脚 | ftr | Footer | 页脚部分的根元素 |
脚注 | footnotes | Footnotes | 脚注部分的根元素 |
词汇表文件 | glossaryDocument | GlossaryDocument | 术语表文件部分的根元素 |
标头 | hdr | Header | 页眉部分的根元素 |
样式定义 | styles | Styles | 样式定义部分的根元素 |
概括来说,对Word文档类型的目标文件进行解析时,主要是对上述表6中的各元素进行解析,获取这些元素所包含的OOXML标签,也即目标文件所包含的各个目标标签。
(二)SpreadsheetML。
当目标文件为Excel电子表格时,Open XML SDK中,与Excel电子表格相对应的文档结构为SpreadsheetML,因而,根据SpreadsheetML文档结构对目标文件进行解析即可。
SpreadsheetML文档的基本文档结构由工作簿元素组成,该元素包含<工作表>和<引用工作簿中工作表的工作表>元素。将为每张工作表创建单独的XML文件。这些元素是有效电子表格文件所需的最小元素。此外,电子表格文件可能包含<表格>、<图表表>、<pivotTableDefinition>或其他与电子表格相关的元素。
通过使用Open XML SDK 2.5for Office,可以使用SpreadsheetML元素所对应的强类型类创建文档结构和内容。可以在DocumentFormat.OpenXML.Spreadsheet命名空间中找到这些类。下表列出了一些重要电子表格元素所对应类的类名称。
当解析Excel电子表格时,将对其结构内的下述元素:计算链、条件格式、公式、数据透视表、共享字符串表、工作表、表等进行处理,具体可参见下述表7。
表7解析Excel文件时的元素处理对应表
/>
概括来说,对Excel电子表格类型的目标文件进行解析时,主要是对上述表7中的各元素进行解析,获取这些元素所包含的OOXML标签,也即目标文件所包含的各个目标标签。
(三)PresentationML。
当目标文件为PPT演示文稿时,Open XML SDK中,与PPT演示文稿相对应的文档结构为PresentationML,因而,根据PresentationML文档结构对目标文件进行解析即可。
PresentationML文档的文档结构由演示文稿<Presentation>元素组成,该元素包含<sldMaster>(幻灯片母版)、<sldLayout>(幻灯片版式)、<sld>(幻灯片),以及<主题>(Theme)引用演示文稿中幻灯片的元素。Theme元素是DrawingMLThemepart的根元素。这些元素是有效演示文稿所需的最小元素。
此外,演示文稿可能包含<备注>(备注幻灯片)、<handoutMaster>(讲义母版)、<sp>(Shape,形状)、<图片>(图片)、<tbl>(表)和其他与幻灯片相关的元素。Table元素在DrawingML架构中定义。
一个PresentationML文档可以包含的其他功能如下:动画、音频、视频以及幻灯片之间的切换。
PresentationML文档不会存储为单个部件中的一个大型正文。而实现某些功能组合的元素会存储在各个部件中。例如,文件中的所有注释存储在一个注释部件中,而每个幻灯片都有自己的部件。会为每个幻灯片创建一个单独的XML文件。
通过Open XML SDK 2.5,可以使用与PresentationML元素对应的强类型类创建文档结构和内容。可以在DocumentFormat.OpenXml.Presentation命名空间中找到这些类。下表列出了与一些重要的演示文稿元素对应的类的类名。
当解析PPT演示文稿时,将对其结构内的下述元素:动画、注释、讲义母版幻灯片、备注幻灯片、演示文稿、演示文稿幻灯片、幻灯片版式、幻灯片母版等进行处理,具体可参见下述表8。
表8解析PowerPoint文件时的元素处理对应表
/>
概括来说,对PPT演示文稿类型的目标文件进行解析时,主要是对上述表8中的各元素进行解析,获取这些元素所包含的OOXML标签,也即目标文件所包含的各个目标标签。
需要说明的是,上述所列举的几种文档结构及相应的文件解析方式只是简单示例,除此之外具体还可以是其他文档结构或解析方式,本文不做具体限定。
在本申请实施例中,Open XML采用特定标记语言(WordprocessingML、SpreadsheetML和PresentationML)的形式,定义字处理文件、电子表格文件和演示文稿的格式。对于Open XML格式而言,标记兼容性是指以上述标记语言之一表示的文件能够促进应用程序之间或一个应用程序的不同版本(具有不同的功能集)之间进行互操作。通过使用Open XML规范的标记兼容性命名空间中的一组定义的XML元素和属性,可支持这一点。
Open XML规范定义XML属性来表示兼容性规则并定义XML元素来指定替换内容。例如,Ignorable属性指定一些命名空间,如果使用这些命名空间的应用程序无法理解它们,则可将其忽略。替换内容元素指定可由应用程序在运行时选择的替换标记。例如,Word2013只能选择它可识别的替换标记。该规范中提供了有关兼容性规则属性和替换内容元素及其详细信息的完整列表。
因而,本申请在文件加载时的预解析过程中,会移除Word文件、Excel电子表格、PPT演示文稿标记溶解性命名空间中的元素和属性,同时移除未选择的替换内容元素机器内容,进而根据PresentationML、SpreadsheetML、WordprocessingML各自类中所映射渲染所得的功能,识别功能是否可查看、可编辑等情况。
可选的,满足预设提醒条件表示:目标标签存在于预设的格式提醒表格中。也即,本申请可根据经验预先构建格式提醒表格,该格式提醒表格具体包含:可能会需要进行兼容性提醒的OOXML标签,标签对应的提示文案。
此外,这些OOXML标签在格式提醒表格中的顺序可表示相应的提示优先级,如排序越靠前,相应的提示优先级越高。
当某个存在兼容性问题的OOXML标签,同时存在于该格式提醒表格时,则可将该OOXML标签作为待提醒标签,反之,当某个存在兼容性问题的OOXML标签,并未存在于该格式提醒表格时,则可忽略该OOXML标签的兼容性问题。
可选的,本申请实施例中的格式提醒表格还包含与各待提醒标签对应的提示优先级和提示文案。基于此,在S172中,确定与待提醒标签组对应的兼容提示信息时,一种可选的实施方式如下,包括以下步骤S1721~S1722(图17中未示出):
S1721:根据格式提醒表格,确定与待提醒标签组中各待提醒标签对应的提示优先级和提示文案。
S1722:根据待提醒标签组中各待提醒标签对应的提示优先级和提示文案,生成兼容提示信息。
其中,在S1722中,对于一个待提醒标签组而言,该待提醒标签组所对应的兼容提示信息,可以是根据提示优先级将各待提醒标签对应的提示文案的简单整合。
例如,待提醒标签组中包含待提醒标签1(对应提示文案1),待提醒标签2(对应提示文案2),待提醒标签3(对应提示文案3)。其中,这几个待提醒标签的优先级为:待提醒标签1>待提醒标签3>待提醒标签2,因而,该待提醒标签组所对应的兼容提示信息为:提示文案1提示文案3提示文案2。
其中,标签之间的优先级顺序可根据经验预先设置,也可根据在线文档客户端的编辑能力进行设置等,本文不做具体限定。
或者,由于同一待提醒标签组中的各待提醒标签所对应的文件功能相同,因而,待提醒标签组中各待提醒标签对应的提示优先级和提示文案也会存在相同的情况,因而该待提醒标签组所对应的兼容提示信息,可以是该待提醒标签组中的各待提醒标签所对应的同一提示文案。
例如,某一柱形图共包含100个目标标签,其中50个属于待提醒标签(对应该柱形图中的某一函数)时,对应的兼容提示信息可以为:部分柱形图效果将被移除,或者,具体一点还可以是:柱形图中的xx函数效果将被移除,等等。
需要说明的是,上述所列举的确定兼容提示信息的方式只是简单举例,除根据预设的格式提醒表格来确定外,还可根据待提醒标签组的文件功能自行生成,如“此文件的xx功能存在兼容性问题”、“XX功能会暂时丢失”等等。
此外需要说明的是,本申请实施例中的目标文件的文件类型可以有很多种,对于不同类型的目标文件而言,其所包含的OOXML标签也不相同,也即需要进行兼容性提醒的标签不同,因而,本申请还可根据文件类型的不同,分别构建不同类型的文件各自对应的格式提醒表格。
如针对Word文档类型的目标文件预先构建格式提醒表格1,针对Excel电子表格类型的目标文件预先构建格式提醒表格2,针对PPT演示文稿类型的目标文件预先构建格式提醒表格3。
下面对本申请实施例中的一种格式提醒表格1进行简单示例,如下表9所示:
表9格式提醒表格1
/>
上述表9为本申请实施例中提供的一种Word文档类型的目标文件对应的格式提醒表格,该表格中除了包含OOXML标签及对应的提示文案外,还进一步包含了“支持程度”。其中,支持程度是指本申请实施例中的在线文档客户端对相应标签的解析能力,如可正确解析,则表示完全支持该标签;又如,部分解析错误时,可能会导致数据保留,但内容无法正确呈现,等等。
其中,“不涉及”是指不涉及OOXML标签,比如页面背景这一功能不涉及OOXML标签,但是在线文档客户端的导入或导出过程中,也不支持该功能时,也需要向对象进行相应的提示,因而在该格式提醒表格中也包含相应的提示项。
又比如,基础&制表符这一功能下的段落功能,所涉及的OOXML标签为<w:tab>,相应的支持程度为“数据保留,但内容无法正确呈现”,相应的提示文件为“暂不支持部分基础&制表符效果”。
在该情况下,<w:tab>标签即可独立支持一种文件功能,即段落-基础&制表符功能,在<w:tab>标签作为待提醒标签时,该标签可独立划分为一个待提醒标签组。该待提醒标签组所对应的兼容提示信息即为“暂不支持部分基础&制表符效果”。
再比如,文本效果这一功能下的字体功能(高级效果),所涉及的OOXML标签为:<w14:shadow>、<w14:textOutline>、<w14:glow>、<w14:ligatures>、<w14:propS4d>、<w14:reflection>、<w14:textFill>,相应的支持程度为“导入导出丢了”,相应的提示文件为“暂不支持部分文本效果格式”。
在该情况下,<w14:shadow>、<w14:textOutline>、<w14:glow>、<w14:ligatures>、<w14:propS4d>、<w14:reflection>、<w14:textFill>标签所对应的文件功能相同,即字体-文本效果格式(高级效果),在<w14:shadow>、<w14:textOutline>、<w14:glow>、<w14:ligatures>、<w14:propS4d>、<w14:reflection>、<w14:textFill>这些标签中的部分或全部作为待提醒标签时,这些标签可划分至同一个待提醒标签组。比如<w14:shadow>、<w14:textOutline>、<w14:glow>作为待提醒标签时,可划分至同一个待提醒标签组,<w14:shadow>、<w14:textOutline>、<w14:glow>、<w14:ligatures>、<w14:propS4d>、<w14:reflection>、<w14:textFill>都作为待提醒标签时,也划分至同一个待提醒标签组。该待提醒标签组所对应的兼容提示信息即为“暂不支持部分文本效果格式”。
该格式提醒表格中的其他项所表示的含义类似,依此类推即可,在此不再一一赘述。
需要说明的是,上述所列举的格式提醒表格只是简单举例,该格式提醒表格还可以是其他形式,也可进一步包含其他内容,本文不做具体限定。
可选的,通过客户端在目标文件的显示界面中呈现兼容提示信息时,对于每个待提醒标签组,首先需确定该待提醒标签组对应的提醒场景和提醒样式;提醒场景表示目标文件的处理场景,提醒样式表示兼容提示信息在显示界面中的呈现样式;进而,在满足任一待提醒标签组对应的提醒场景时,在目标文件的显示界面中,采用确定的提醒样式呈现与待提醒标签组对应的兼容提示信息。具体可参见图4A至图16部分所列举的各个示例,在此不再重复赘述。
本申请中的文件处理方法,是一种解决客户端在本地及云端编辑Word文档、Excel电子表格、PowerPoint幻灯片等Office文件时,当在文件解析过程中发现其基于OOXML格式存在标签丢失,导致功能不可见或不可用时,进行不同类型的兼容提醒的解决方案。从不同场景,如文件上传云端时、首次打开解析时、功能编辑过程中、点击文件保存时、格式文件名称处等场景,并当对象在查看、编辑、保存时,以toast、弹窗、hover、格式标签等形式提醒文件存在不兼容的问题,进而继续在客户端端内进行文件的查看、编辑、流转和存储等文件管理服务。
在本申请实施例中,通过客户端在显示界面渲染目标文件的过程,即对应文件的导入过程,即:解析pptx/ppt/doc/docx/xls/xlsx等Office文件,组织生成JSON数据,提供给前端(指客户端)渲染使用。相反地,导出则是指将JSON数据还原为pptx/ppt/doc/docx/xls/xlsx等Office文件。
下面以PPT演示文稿(pptx/ppt)为例,对本申请实施例中文件的导入导出过程进行简单说明。
参阅图18所示,其为本申请实施例中的一种PPTX文件的导入导出示意图。在导入过程中,即将PPTX文件转换为JSON数据,改过程通过格式-转换(format-convert)实现,获得JSON数据后,即将数据存储在服务器(Server)中,在客户端进行展示时,通过幻灯片软件工具开发包(Slide SDK)进行渲染即可。
可选的,本申请实施例中的文档处理方法还支持对象查看目标文件的原始文件,为实现原始文件的查看功能,本申请实施例中还进一步引出了格式引擎服务(也可称作格式引擎服务器),通过格式引擎服务,获取导入的目标文件后,创建临时目录,进而,通过临时目录存储目标文件的原始文件。
其中,格式引擎服务可理解为服务器中的一部分(如一个模块,一个服务器),在获取目标文件后,即可通过格式引擎服务创建用于存储目标文件的原始文件(也称源文件)的临时目录。
在目标文件的查看、编辑等过程中存在兼容性问题时,对象即可从服务器获取预先存储的原始文件进行查看,以保证对象可以查看最准确的文档内容。
在本申请实施例中,若目标文件为支持目标标签的目标格式,则直接将目标格式的目标文件转换为JSON数据即可,若目标文件当前不是目标格式,服务器还可通过如下过程将目标文件转换为JSON数据,以供客户端渲染在显示界面中渲染目标文件时使用,一种可选的实施方式如下:
首先,服务器通过格式引擎服务确定目标文件的格式类型;如,目标文件为doc、xls还是ppt格式。
进一步地,服务器通过格式引擎服务调用与格式类型对应的文件控件,将目标文件转换为目标格式,目标格式为支持目标标签的格式;如,目标文件为doc时,可调用Aspose.Word将旧的doc格式文件转换为docx这种符合OOXML标签的Office文件格式。目标文件为xls时,可调用Aspose.Cell将旧的xls格式文件转换为xlsx这种符合OOXML标签的Office文件格式。目标文件为ppt时,可调用Aspose.Slide将旧的ppt格式文件转换为pptx这种符合OOXML标签的Office文件格式。
其中,Aspose.Word是一个类库,通过它可以直接在各个应用程序中执行各种文件处理任务。
Aspose.Cell是一个电子表格组件,支持所有Excel格式类型的操作,对象无需依靠Microsoft Excel也可为其应用程序嵌入读写和处理Excel数据表格的功能。Aspose.Cell可以导入和导出每一个具体的数据,表格和格式,在各个层面导入图像,应用复杂的计算公式,并将Excel的数据保存为各种格式等等。
Aspose.Slide是一个可用于PowerPoint管理的控件,对象无需使用MicrosoftPowerPoint即可在应用程序中对Microsoft PowerPoint文件进行读写以及操作,是第一个能在对象的应用程序中对PowerPoint文件进行管理的组件。
最后,格式引擎服务调用【导入导出工具】,将目标格式的目标文件转换为JSON数据,并进行存储;以及,将JSON数据返回给客户端,以通过客户端基于JSON数据,在目标文件的显示界面中渲染并展示目标文件。
例如,将docx、xlsx或是pptx的目标文件转换为JSON数据。
此外,考虑到目标文件中除了常见的文本内容外,还可能会包含图表、图片、音频、视频等中的一种或多种,而当在线文档客户端不支持图表时,则在将脚本对象简谱数据返回给客户端之前,还需要对该图表数据进行处理,一种可选处理方式为:
服务器通过格式引擎服务再次调用与目标文件的格式类型对应的文件控件,将图表转换为图片;以及,确定图表存在兼容性问题,通知客户端提示图表功能不可编辑。
在本申请实施例中,图表用于将目标文件中的数据用图形表示出来,可以用于表示图表可以用来表现数据间的某种相对关系。
需要说明的是,本申请实施例中的图表包括但不限于下列的部分或全部:柱形图、折线图、饼图、条形图、面积图、圆柱图。
其中,柱形图可用于比较数据间的多少关系,折线图可用于反映数据间的趋势关系,饼图可用于表现数据间的比例分配关系,等等。
例如,目标文件为doc格式时,该doc格式的目标文件中包含柱形图时,则可调用Aspose.Word,将目标文件中的该柱形图转换为图片。
由于将图表转换为了图片,图片相对于图表而言,不再能够编辑,即发生格式丢失(即存在兼容性问题),则可在前端提醒图表功能不可编辑。
可选的,若目标文件包含目标媒体信息时,在将脚本对象简谱数据返回给客户端之前,还可通过格式引擎服务,批量获取目标文件包含的目标媒体信息并存储;进而,将目标媒体信息替换为统一资源定位符(Universal Resource Locator,URL)。
其中,目标媒体信息为图片、音频、视频中的至少一种。
也即,目标文件中包含图片、音频、视频等时,还可通过格式引擎服务批量获取这些目标媒体信息并上传至服务器后,转换为URL。转换为URL之后,可根据实际需求直接单独删除这些目标媒体信息。
基于上述实施方式,通过将PPT中的文字部分与图片和视频等分开上传,可保证对象对图片、视频等内容的增删改查的灵活性。
参阅图19所示,其为本申请实施例中的一种演示文稿的导入全过程示意图,具体包括以下过程:
1、通过浏览器上传PPT文件,或者通过桌面客户端/移动客户端打开Office文件到格式引擎服务器进行导入解析。
2、创建临时目录并清空临时目录,之后下载源文件(大文件处理),使原始Office文件存储到服务器端上。
3、检测文件类型(如是pptx/ppt/doc/docx/xls/xlsx)。
其中,如果文件是ppt、doc或是xls,则还需要执行下述步骤4,调用文件控件进行格式转换,将ppt转换为符合OOXML标签的pptx格式,将doc转换为符合OOXML标签的docx格式,将xls转换为符合OOXML标签的xlsx格式。否则,跳过步骤4。
4、调用文档控件Aspose,使用Aspose.Word、Aspose.Cell、Aspose.Slide分别将旧的doc、xls、ppt格式文件生成、更改、转换为docx、xlsx、pptx等符合OOXML标签的Office文件格式,具体可参见上述实施例,重复之处不再赘述。如图19中,是调用Aspose(具体是Aspose.Slide),将PPT转换为PPTX。
5、通过调用【导入导出工具】,将符合OOXML标签的文件内容转换为JSON数据,并存储在服务器上。如图19中,是将PPTX文件转换为JSON数据。
6、若包含图表,则再次调用Aspose将图表转换为图片,即发生格式丢失,前端提醒图表功能不可编辑,具体可参见上述实施例,重复之处不再赘述。
7、获取文档内带上传的图片和附件列表(音频、视频附件)。
该步骤需要开启附件上传开关,音视频以附件上传。
需要注意的是,在上述之前还需要判断附件是否超出生于存储容量限制,如果超出,则提醒对象删除部分内容,或是对图片、音视频等进行压缩,再或者通过其他操作扩充存储容量等。
具体地,将图片批量上传指服务器端时,需要进行图片格式转换,对于EMF格式的图片需转换为PNG格式。对于音视频等,处理附件批量上传至服务器端即可。此外,还可进一步将图片和附件替换成URL,具体可参见上述实施例,重复之处不再赘述。
8、将JSON数据返回至前端进行渲染,展示给对象侧。
其中,图19中计算文件fileKey,缓存处理的过程主要用于拉取原始文件,fileKey为文件唯一标识。
需要说明的是,图19所列举的PPT文件导入过程只是简单举例,对于Word文档或是Excel电子表格也是类似的导入过程,本文不再一一赘述。
参阅图20所示,其为本申请实施例中的一种文档格式解析的交互图。同上述图18和图19类似,该图列举的是文档导入过程所涉及到的各执行主体之间的交互。以客户端为浏览器为例。
如图20所示,具体涉及浏览器(Browser)、服务器(Server)和导入导出工具(Emport Service)。
具体的,通过浏览器将目标文件(PPTX)上传至服务器,进而,通过导入导出工具,将PPTX格式的目标文件转换为JSON数据,并返回给服务器。服务器将JSON数据存储在本地数据库,此外,服务器还将JSON数据返回给客户端。浏览器基于JSON数据将目标文件渲染于显示界面中。
需要说明的是,上述图20只是对文件导入时序所涉及到的各执行主体间交互的简单示例,比如,上述目标文件为ppt格式时,在服务器侧还需进一步调用Aspose.Slide将目标文件由ppt格式转换为pptx格式,等等,这些步骤并未在图20中展开说明,具体可参见上述实施例,重复之处不再赘述。
下面以目标文件为ppt文件为例:
参阅图21所示,其为本申请实施例中的一种演示文稿的物理结构和逻辑关系示意图。其中,PPT的物理结构表示PPT文件由多个文件部分构成,如母版页部件、版式页部件、幻灯片部件、主题部件等,这些部件之间的关系自己存储在文件部件中。如图21中所列举的母版页集合所对应的关系文件、版式页集合所对应的关系文件、幻灯片集合所对应的关系文件。
下面列举PPTX物理结构解析所对应的一段代码及注释,如下所述:
/>
上述简单列举了某一个PPT文件物理结构解析所对应的代码示例,其中,上述代码中所列举的xml还不是指目标标签,xml的再下一级才包含ooxml标签的详细信息,如标签属性、标签值、标签在文档中的位置等信息(标签路径)等。
PPT的逻辑关系则在物理结构的基础上进一步解释了幻灯片与版式页的关系,版式页与母版页的关系。
在本申请实施例中,最小演示文稿文件包含一个由文件presentation.xml表示的演示文稿部件以及一个演示文稿属性部件(presProps.xml)、一个幻灯片母版部件(slideMaster.xml)、一个幻灯片版式部件(slideLayout.xml)和一个主题部件(theme.xml)。有一个或多个幻灯片部件(slide.xml)是可选的。
而典型演示文稿不具有最低配置。典型演示文稿可能包含多个幻灯片,每个幻灯片都引用幻灯片版式和幻灯片母版,还可能包含注释。此外,演示文稿还可能包含讲义和备注幻灯片,每个幻灯片都由单独的部件来表示。这些附加部件包含在演示文稿文档的.zip包中。
参阅图22所示,其为本申请实施例中的一种PresentationML文件的元素的示意图,该图显示了可在典型演示文稿中找到的大多数元素。
需要说明的是,上述图21所列举的物理结构、逻辑关系,及图22所列举的大多数元素也只是简单举例,对于Word文档或是Excel电子表格也是类似的道理,本文不再一一赘述。
本申请实施例还提供了一种格式解析逆序表,如下表10所示:
表10格式解析逆序表
其中,上述格式解析逆序表包含文件id、文件类型、标题、文件大小、文件md5、原始文件后缀、标签、标签路径(path)、标签属性、标签值、单文件次数、OOXML部分、媒体文件数据等内容,其中,文件id、文件类型、标题、文件大小、文件md5、原始文件后缀这几项属于文件相关的描述信息,而标签、标签路径(path)、标签属性、标签值、单文件次数、OOXML部分、媒体文件数据这几项则具体是指某一目标标签相关的描述信息(也可称作特征信息)。
其中,单文件次数指该标签在文件中所出现的次数,如上述表10所列举的单文件次数为8,即表示<w:rFonts>这一标签在某某文件出现了8次,出现次数较多时,所对应的提醒强度也可更高一些。
在本申请实施例中,可基于上述所列举的格式解析逆序表,对导入的文件进行解析,统计每个标签的标签路径、标签属性、标签值及单文件次数等信息,以确定些标签各自是可查看还是可编辑,还可都可以,另外这些标签对应的功能都是什么。
进一步地,当遇到不兼容的OOXML标签时,则可判断是否命中预设的格式提醒表格,命中时返回标记支持程度,同时获取提示文案及提示优先级,并将提示文案返回至前端进行提醒。例如上述表9所示,为本申请实施例中列举的一种Word文件所对应的格式提醒表格1。对于其他类型的文件采用相对应的格式提醒表格进行分析即可,本文不再一一赘述。
参阅图23所示,其为本申请实施例中的一种文件处理方法的整体流程示意图。概括来说,首先需加载目标文件,进而,根据文件后缀判断目标文件是否为Office文件(也即是否为目标格式),如果是,则进一步基于Open XML SDK中与目标文件的文件类型相对应的文件结构对目标文件进行解析。否则,结束本流程。
具体的,对于Word文档,采用WordprocessingML文档结构对目标文件进行解析,如图23中所列举的,具体是解析目标文件中的主文档、文档设置、页脚、词汇表文档、评论、尾注、脚注、标头等元素所包含的OOXML标签。
对于Excel电子表格工作簿,采用SpreadsheetML文档结构对目标文件进行解析,具体是解析目标文件中的工作簿、图表工作表、数据透视表、透视缓存记录、工作表、表格、透视缓存、计算链等元素所包含的OOXML标签。
对于PPT演示文稿,采用PresentationML文档结构对目标文件进行解析,具体是解析目标文件中的演示文稿、幻灯片母版、演示文稿属性、幻灯片版式、幻灯片、备注幻灯片、注释(Comments)、主题、备注母版、样式定义、共享字符串表、条件格式、讲义母版、公式、注释作者等元素所包含的OOXML标签。
进一步地,分析解析到的OOXML标签是否存在兼容性问题,如果是,则进一步分析该OOXML标签是否命中格式提醒表格(即是否存在于预设的格式提醒表格中),否则,结束本流程。
进一步地,若OOXML命中格式提醒表格,则基于相应的提醒样式与提醒场景,在前端进行兼容性提示(具体可参阅上述实施例,重复之处不再赘述),否则,结束本流程。
需要说明的是,图23所列举的流程图只是简单示例,上述流程图各步骤之间的时序也只是简单举例,具体还可以是其他时序。综上,与该流程图相关的文件处理方法都适用于本申请实施例,在此不做具体限定。
基于相同的发明构思,本申请实施例还提供一种文件处理装置。如图24所示,其为本申请实施例中的一种文件处理装置的组成结构示意图,文件处理装置2400可以包括:
解析单元2401,用于通过对目标文件进行解析,确定目标文件包含的各个目标标签;目标标签为目标文件中用于描述内容和样式的标签;
筛选单元2402,用于基于各个目标标签各自的特征信息,将存在兼容性问题,且满足预设提醒条件的目标标签,作为待提醒标签;
划分单元2403,用于根据每个待提醒标签对应的文件功能划分得到至少一个待提醒标签组,每个待提醒标签组包含至少一个待提醒标签;
提示单元2404,用于对于每个待提醒标签组,确定与待提醒标签组对应的兼容提示信息,并发送给客户端,通过客户端在目标文件的显示界面中呈现兼容提示信息。
可选的,解析单元2401具体用于:
根据目标文件的后缀,确定目标文件的文件类型;
若目标文件属于目标格式,则采用目标软件开发工具包中,与目标文件的文件类型相对应的文件结构,对目标文件进行解析,确定目标文件包含的各个目标标签;其中,目标格式为支持目标标签的格式。
可选的,满足预设提醒条件表示:目标标签存在于预设的格式提醒表格中;格式提醒表格还包含与各待提醒标签对应的提示优先级和提示文案;
提示单元2404具体用于:
根据格式提醒表格,确定与待提醒标签组中各待提醒标签对应的提示优先级和提示文案;
根据待提醒标签组中各待提醒标签对应的提示优先级和提示文案,生成兼容提示信息。
可选的,提示单元2404具体用于:
对于每个待提醒标签组,确定待提醒标签组对应的提醒场景和提醒样式;提醒场景表示目标文件的处理场景,提醒样式表示兼容提示信息在显示界面中的呈现样式;
在满足待提醒标签组对应的提醒场景时,在目标文件的显示界面中,采用确定的提醒样式呈现与待提醒标签组对应的兼容提示信息。
可选的,装置还包括:
第一处理单元2405,用于通过格式引擎服务,获取导入的目标文件;
创建临时目录,并通过临时目录存储目标文件的原始文件。
可选的,装置还包括:
第二处理单元2406,用于确定目标文件的格式类型;
调用与格式类型对应的文件控件,将目标文件转换为目标格式,目标格式为支持目标标签的格式;
将目标格式的目标文件转换为脚本对象简谱数据,并进行存储;以及,将脚本对象简谱数据返回给客户端,以通过客户端在目标文件的显示界面中渲染并展示目标文件。
可选的,若目标文件包含图表,则第二处理单元2406还用于:
在将脚本对象简谱数据返回给客户端之前,再次调用与格式类型对应的文件控件,将图表转换为图片;以及,确定图表存在兼容性问题,通知客户端提示图表功能不可编辑。
可选的,若目标文件包含目标媒体信息,则第二处理单元2406还用于:
在将脚本对象简谱数据返回给客户端之前,通过格式引擎服务,批量获取目标文件包含的目标媒体信息并存储;目标媒体信息为图片、音频、视频中的至少一种;
将目标媒体信息替换为统一资源定位符。
可选的,特征信息包括:标签路径、标签属性和标签值;解析单元2401还用于通过如下方式确定各个目标标签中,存在兼容性问题的目标标签:
对于每个目标标签,基于目标标签对应的标签路径、标签属性和标签值,确定目标标签不支持查看或编辑时,则确定目标标签存在兼容性问题。
基于相同的发明构思,本申请实施例还提供一种文件处理装置。如图25所示,其为本申请实施例中的另一种文件处理装置的组成结构示意图,文件处理装置2500可以包括:
第一呈现单元2501,用于呈现目标文件的显示界面;目标文件包含多个用于描述内容和样式的目标标签,其中,存在兼容性问题,且满足预设提醒条件的目标标签,属于待提醒标签;
第二呈现单元2502,用于对于每个待提醒标签组,在满足待提醒标签组对应的提醒场景时,在目标文件的显示界面中,采用确定的提醒样式呈现与待提醒标签组对应的兼容提示信息;提醒场景表示目标文件的处理场景;提醒样式表示兼容提示信息在显示界面中的呈现样式;待提醒标签组是根据每个待提醒标签对应的文件功能划分得到,每个待提醒标签组包含至少一个待提醒标签。
可选的,兼容提示信息包括固定主文案和格式次级文案;第二呈现单元2502具体用于:
在目标文件的显示界面中,采用确定的提醒样式呈现与待提醒标签组对应的固定主文案,及部分格式次级文案;固定主文案表示目标文件存在兼容性问题,格式次级文案表示待提醒标签组所对应的兼容性问题详情;
响应于针对兼容提示信息的详情查看操作,呈现全部的格式次级文案。
可选的,兼容提示信息的提醒强度,与相应待提醒标签在目标文件中的出现频率呈正相关。
可选的,装置还包括:
第一响应单元2503,用于响应于通过显示界面中的标题栏触发的目标操作,呈现原始文件查看控件;
响应于针对原始文件查看控件的触发操作,在显示界面中展示目标文件的原始文件。
可选的,装置还包括:
第二响应单元2504,用于响应于针对目标文件的修订记录触发的查看操作,在显示界面中呈现修订记录区域;修订记录区域用于呈现目标文件的修订历史信息和版本信息;
响应于通过修订记录区域触发的版本信息查看操作,呈现目标文件对应的各个版本,以及原始文件对应的下载控件,原始文件为目标文件的初始版本;
响应于通过下载控件触发的下载操作,将原始文件下载至本地。
由于本申请通过对目标文件的解析以及标签特征分析,可从目标文件中确定出存在兼容性问题且符合预设提醒条件的待提醒标签,进而,按照这些标签所对应的文件功能,可以确定出各个待提醒标签组各自对应的兼容提示信息,基于此,则可在不阻断文件处理过程的前提下,对于存在兼容性问题且符合预设提醒条件的目标标签,按照这些标签所对应的文件功能进行兼容性提示,为对象提供更为清晰的文件内容展示,以及流畅的文件处理体验,有效提高了文件的处理效率。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的文件处理方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器120。在该实施例中,电子设备的结构可以如图26所示,包括存储器2601,通讯模块2603以及一个或多个处理器2602。
存储器2601,用于存储处理器2602执行的计算机程序。存储器2601可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器2601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器2601也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器2601是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器2601可以是上述存储器的组合。
处理器2602,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器2602,用于调用存储器2601中存储的计算机程序时实现上述文件处理方法。
通讯模块2603用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器2601、通讯模块2603和处理器2602之间的具体连接介质。本申请实施例在图26中以存储器2601和处理器2602之间通过总线2604连接,总线2604在图26中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线2604可以分为地址总线、数据总线、控制总线等。为便于描述,图26中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器2601中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的文件处理方法。处理器2602用于执行上述的文件处理方法,如图17所示。
在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备110。在该实施例中,电子设备的结构可以如图27所示,包括:通信组件2710、存储器2720、显示单元2730、摄像头2740、传感器2750、音频电路2760、蓝牙模块2770、处理器2780等部件。
通信组件2710用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器2720可用于存储软件程序及数据。处理器2780通过运行存储在存储器2720的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器2720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器2720存储有使得终端设备110能运行的操作系统。本申请中存储器2720可以存储操作系统及各种应用程序,还可以存储执行本申请实施例文件处理方法的计算机程序。
显示单元2730还可用于显示由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元2730可以包括设置在终端设备110正面的显示屏2732。其中,显示屏2732可以采用液晶显示器、发光二极管等形式来配置。显示单元2730可以用于显示本申请实施例中的显示界面等。
显示单元2730还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元2730可以包括设置在终端设备110正面的触控屏2731,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触控屏2731可以覆盖在显示屏2732之上,也可以将触控屏2731与显示屏2732集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元2730可以显示应用程序以及对应的操作步骤。
摄像头2740可用于捕获静态图像,用户可以将摄像头2740拍摄的图像通过应用发布。摄像头2740可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器2780转换成数字图像信号。
终端设备还可以包括至少一种传感器2750,比如加速度传感器2751、距离传感器2752、指纹传感器2753、温度传感器2754。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路2760、扬声器2761、传声器2762可提供用户与终端设备110之间的音频接口。音频电路2760可将接收到的音频数据转换后的电信号,传输到扬声器2761,由扬声器2761转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器2762将收集的声音信号转换为电信号,由音频电路2760接收后转换为音频数据,再将音频数据输出至通信组件2710以发送给比如另一终端设备110,或者将音频数据输出至存储器2720以便进一步处理。
蓝牙模块2770用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块2770与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器2780是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器2720内的软件程序,以及调用存储在存储器2720内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器2780可包括一个或多个处理单元;处理器2780还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器2780中。本申请中处理器2780可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的文件处理方法。另外,处理器2780与显示单元2730耦接。
在一些可能的实施方式中,本申请提供的文件处理方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的文件处理方法中的步骤,例如,电子设备可以执行如图2或图17中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户电子设备上执行、部分地在用户电子设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (19)
1.一种文件处理方法,其特征在于,所述方法包括:
通过对目标文件进行解析,确定所述目标文件包含的各个目标标签;所述目标标签为所述目标文件中用于描述内容和样式的标签;
基于所述各个目标标签各自的特征信息,将存在兼容性问题,且满足预设提醒条件的目标标签,作为待提醒标签;
根据每个待提醒标签对应的文件功能划分得到至少一个待提醒标签组,每个待提醒标签组包含至少一个待提醒标签;
对于每个待提醒标签组,确定与所述待提醒标签组对应的兼容提示信息,并发送给客户端,通过所述客户端在所述目标文件的显示界面中呈现所述兼容提示信息。
2.如权利要求1所述的方法,其特征在于,所述通过对目标文件进行解析,确定所述目标文件包含的各个目标标签,包括:
根据所述目标文件的后缀,确定所述目标文件的文件类型;
若所述目标文件属于目标格式,则采用目标软件开发工具包中,与所述目标文件的文件类型相对应的文件结构,对所述目标文件进行解析,确定所述目标文件包含的各个目标标签;其中,所述目标格式为支持目标标签的格式。
3.如权利要求1所述的方法,其特征在于,所述满足预设提醒条件表示:目标标签存在于预设的格式提醒表格中;所述格式提醒表格还包含与各待提醒标签对应的提示优先级和提示文案;
所述确定与所述待提醒标签组对应的兼容提示信息,包括:
根据所述格式提醒表格,确定与所述待提醒标签组中各待提醒标签对应的提示优先级和提示文案;
根据所述待提醒标签组中各待提醒标签对应的提示优先级和提示文案,生成所述兼容提示信息。
4.如权利要求1所述的方法,其特征在于,所述通过客户端在所述目标文件的显示界面中呈现所述兼容提示信息,包括:
对于每个待提醒标签组,确定所述待提醒标签组对应的提醒场景和提醒样式;所述提醒场景表示所述目标文件的处理场景,所述提醒样式表示兼容提示信息在所述显示界面中的呈现样式;
在满足所述待提醒标签组对应的提醒场景时,在所述目标文件的显示界面中,采用确定的提醒样式呈现与所述待提醒标签组对应的兼容提示信息。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
通过格式引擎服务,获取导入的所述目标文件;
创建临时目录,并通过所述临时目录存储所述目标文件的原始文件。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述目标文件的格式类型;
调用与所述格式类型对应的文件控件,将所述目标文件转换为目标格式,所述目标格式为支持目标标签的格式;
将目标格式的所述目标文件转换为脚本对象简谱数据,并进行存储;以及,将所述脚本对象简谱数据返回给所述客户端,以通过所述客户端在所述目标文件的显示界面中渲染并展示所述目标文件。
7.如权利要求6所述的方法,其特征在于,若所述目标文件包含图表,则在将所述脚本对象简谱数据返回给所述客户端之前,还包括:
再次调用与所述格式类型对应的文件控件,将所述图表转换为图片;以及
确定所述图表存在兼容性问题,通知所述客户端提示图表功能不可编辑。
8.如权利要求6所述的方法,其特征在于,若所述目标文件包含目标媒体信息,则在将所述脚本对象简谱数据返回给所述客户端之前,还包括:
通过格式引擎服务,批量获取所述目标文件包含的目标媒体信息并存储;所述目标媒体信息为图片、音频、视频中的至少一种;
将所述目标媒体信息替换为统一资源定位符。
9.如权利要求1~8任一项所述的方法,其特征在于,所述特征信息包括:标签路径、标签属性和标签值;通过如下方式确定所述各个目标标签中,存在兼容性问题的目标标签:
对于每个目标标签,基于所述目标标签对应的标签路径、标签属性和标签值,确定所述目标标签不支持查看或编辑时,则确定所述目标标签存在兼容性问题。
10.一种文件处理方法,其特征在于,所述方法包括:
呈现目标文件的显示界面;所述目标文件包含多个用于描述内容和样式的目标标签,其中,存在兼容性问题,且满足预设提醒条件的目标标签,属于待提醒标签;
对于每个待提醒标签组,在满足所述待提醒标签组对应的提醒场景时,在所述目标文件的显示界面中,采用确定的提醒样式呈现与所述待提醒标签组对应的兼容提示信息;所述提醒场景表示所述目标文件的处理场景;所述提醒样式表示兼容提示信息在所述显示界面中的呈现样式;所述待提醒标签组是根据每个待提醒标签对应的文件功能划分得到,每个待提醒标签组包含至少一个待提醒标签。
11.如权利要求10所述的方法,其特征在于,所述兼容提示信息包括固定主文案和格式次级文案;所述在所述目标文件的显示界面中,采用确定的提醒样式呈现与所述待提醒标签组对应的兼容提示信息,包括:
在所述目标文件的显示界面中,采用确定的提醒样式呈现与所述待提醒标签组对应的固定主文案,及部分格式次级文案;所述固定主文案表示所述目标文件存在兼容性问题,所述格式次级文案表示待提醒标签组所对应的兼容性问题详情;
响应于针对所述兼容提示信息的详情查看操作,呈现全部的格式次级文案。
12.如权利要求10所述的方法,其特征在于,所述兼容提示信息的提醒强度,与相应待提醒标签在所述目标文件中的出现频率呈正相关。
13.如权利要求10~12任一项所述的方法,其特征在于,所述方法还包括:
响应于通过所述显示界面中的标题栏触发的目标操作,呈现原始文件查看控件;
响应于针对所述原始文件查看控件的触发操作,在所述显示界面中展示所述目标文件的原始文件。
14.如权利要求10~12任一项所述的方法,其特征在于,所述方法还包括:
响应于针对所述目标文件的修订记录触发的查看操作,在所述显示界面中呈现修订记录区域;所述修订记录区域用于呈现所述目标文件的修订历史信息和版本信息;
响应于通过所述修订记录区域触发的版本信息查看操作,呈现所述目标文件对应的各个版本,以及原始文件对应的下载控件,所述原始文件为所述目标文件的初始版本;
响应于通过所述下载控件触发的下载操作,将所述原始文件下载至本地。
15.一种文件处理装置,其特征在于,包括:
解析单元,用于通过对目标文件进行解析,确定所述目标文件包含的各个目标标签;所述目标标签为所述目标文件中用于描述内容和样式的标签;
筛选单元,用于基于所述各个目标标签各自的特征信息,将存在兼容性问题,且满足预设提醒条件的目标标签,作为待提醒标签;
划分单元,用于根据每个待提醒标签对应的文件功能划分得到至少一个待提醒标签组,每个待提醒标签组包含至少一个待提醒标签;
提示单元,用于对于每个待提醒标签组,确定与所述待提醒标签组对应的兼容提示信息,并发送给客户端,通过所述客户端在所述目标文件的显示界面中呈现所述兼容提示信息。
16.一种文件处理装置,其特征在于,包括:
第一呈现单元,用于呈现目标文件的显示界面;所述目标文件包含多个用于描述内容和样式的目标标签,其中,存在兼容性问题,且满足预设提醒条件的目标标签,属于待提醒标签;
第二呈现单元,用于对于每个待提醒标签组,在满足所述待提醒标签组对应的提醒场景时,在所述目标文件的显示界面中,采用确定的提醒样式呈现与所述待提醒标签组对应的兼容提示信息;所述提醒场景表示所述目标文件的处理场景;所述提醒样式表示兼容提示信息在所述显示界面中的呈现样式;所述待提醒标签组是根据每个待提醒标签对应的文件功能划分得到,每个待提醒标签组包含至少一个待提醒标签。
17.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~14中任一所述方法的步骤。
18.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~14中任一所述方法的步骤。
19.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行权利要求1~14中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310664531.XA CN116955289A (zh) | 2023-06-06 | 2023-06-06 | 一种文件处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310664531.XA CN116955289A (zh) | 2023-06-06 | 2023-06-06 | 一种文件处理方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116955289A true CN116955289A (zh) | 2023-10-27 |
Family
ID=88451906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310664531.XA Pending CN116955289A (zh) | 2023-06-06 | 2023-06-06 | 一种文件处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116955289A (zh) |
-
2023
- 2023-06-06 CN CN202310664531.XA patent/CN116955289A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10318628B2 (en) | System and method for creation of templates | |
KR101409673B1 (ko) | 지속 저장 포탈 | |
US9880709B2 (en) | System and method for creating and displaying previews of content items for electronic works | |
EP2775397A2 (en) | Visual representation of edits for collaborative application development | |
EP1821185A1 (en) | Data processing device and data processing method | |
US20080005659A1 (en) | Data Processing Device, Document Processing Device, and Document Processing Method | |
US20080133563A1 (en) | Data Processing Device And Data Processing Method | |
EP1816586A1 (en) | Data processing system, data processing method, and management server | |
EP1830275A1 (en) | Information distribution system | |
US20090021767A1 (en) | Document processing device | |
US7899846B2 (en) | Declarative model editor generation | |
US20080046809A1 (en) | Data Processing Device and Data Processing Method | |
US11314757B2 (en) | Search results modulator | |
EP1821219A1 (en) | Document processing device and document processing method | |
JPWO2006051713A1 (ja) | 文書処理装置及び文書処理方法 | |
US8230319B2 (en) | Web-based visualization, refresh, and consumption of data-linked diagrams | |
CN115309298A (zh) | 基于富文本编辑器的文本结构化方法及装置、介质及设备 | |
EP1826682A1 (en) | Document managing device and document managing method | |
JPWO2006051712A1 (ja) | 文書処理装置及び文書処理方法 | |
US9349109B2 (en) | Media generation and management | |
US20100077295A1 (en) | Document processing device and document processing module | |
US11526578B2 (en) | System and method for producing transferable, modular web pages | |
CN116955289A (zh) | 一种文件处理方法、装置、电子设备和存储介质 | |
JPWO2006051714A1 (ja) | 文書処理装置及び文書処理方法 | |
US20080285064A1 (en) | Document Processing Device, Document Processing Method, and Electronic Mail Processing Device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |