文档加载方法、装置、终端和存储介质与流程

文档序号:25661755发布日期:2021-06-29 23:37阅读:79来源:国知局
1.本发明涉及数据处理领域,尤其涉及一种文档加载方法、装置、终端和存储介质。
背景技术
::2.随着移动端的产生,移动端的展示pdf文件的场景展示越来越多,比如在hybird模式的app或者各种小程序的环境页面,目前native提供的android的webview是不直接支持部分格式(如pdf)文档的展示,由于h5是不区分native的平台,android和ios的app都需要展示部分格式的文档时,就需要h5做兼容给用户进行pdf展示。3.目前大部分移动端,采用的是直接使用第三方的插件,接入js版本的部分格式插件接入方式较复杂,页面展示文档时出现加载问题,尤其在多页面通过该插件展示时加载较慢,因在是获取需要展示的文本的文案时,需遍历查找文件中的所有字体,当存在不支持的字体时,会出现导致页面出现卡顿的情况,用户会不断的重启app重新加载,等待时间过长会大大降低了用户体验。技术实现要素:4.本申请实施例提供了一种文档加载方法、装置、终端和存储介质,可以将文档中不支持的字体更改后显示文档,提升文档显示效率。5.一方面,本申请实施例提供了一种文档加载方法,所述方法包括:6.响应于针对目标程序的文档加载指令,扫描目标文档,得到所述目标文档中的字体集合,所述字体集合中包括至少一类字体;7.校验目标程序是否支持所述字体集合中的各类字体,若存在不支持的目标字体,则从所述目标程序支持的参考字体集合中筛选出与所述目标字体关联性最高的关联字体;8.采用所述关联字体对所述目标文档中的目标字体进行替换,得到目标替换文档,并在所述目标程序中加载所述目标替换文档;9.从字体库中获取到所述目标字体对应的目标字体组件,并将所述目标字体组件添加至所述目标程序中,以使得所述目标程序支持所述目标字体;10.响应于文档更新指令,在所述目标程序中将所述目标替换文档更新为所述目标文档。11.一方面,本申请实施例提供了一种文档加载装置,所述装置包括:12.扫描模块,用于响应于针对目标程序的文档加载指令,扫描目标文档,得到所述目标文档中的字体集合,所述字体集合中包括至少一类字体;13.校验模块,用于校验目标程序是否支持所述字体集合中的各类字体;14.筛选模块,用于若存在不支持的目标字体,则从所述目标程序支持的参考字体集合中筛选出与所述目标字体关联性最高的关联字体;15.替换模块,用于采用所述关联字体对所述目标文档中的目标字体进行替换,得到目标替换文档;16.加载模块,用于在所述目标程序中加载所述目标替换文档;17.获取模块,用于从字体库中获取到所述目标字体对应的目标字体组件;18.添加模块,用于将所述目标字体组件添加至所述目标程序中,以使得所述目标程序支持所述目标字体;19.更新模块,用于响应于文档更新指令,在所述目标程序中将所述目标替换文档更新为所述目标文档。20.一方面,本申请实施例提供了一种终端,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,其特征在于,所述处理器被配置用于调用所述程序指令,执行所述文档加载方法。21.一方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行文档加载方法。22.本申请实施例中,终端扫描目标文档,得到目标文档中的字体集合,校验目标程序是否支持字体集合中的各类字体,若存在不支持的目标字体,则从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体;采用关联字体对目标文档中的目标字体进行替换,得到目标替换文档,并在目标程序中加载目标替换文档;从字体库中获取到目标字体对应的目标字体组件,并将目标字体组件添加至目标程序中,以使得目标程序支持目标字体;响应于文档更新指令,在目标程序中将目标替换文档更新为目标文档。通过上述方法,将文档中不支持的字体更改为关联字体后显示,避免了显示过程中的卡顿,并且自动获取到相应的字体组件,在字体组件安装完成后将原文档进行显示,以保证用户对于文档的浏览体验。附图说明23.为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。24.图1是本申请实施例提供的一种文档加载方法的流程示意图;25.图2是本申请实施例提供的另一种文档加载方法的流程示意图;26.图3是本申请实施例提供的一种文档加载装置的结构示意图;27.图4是本申请实施例提供的一种终端的结构示意图。具体实施方式28.下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。29.本申请实施例提供的文档加载方法实现于终端,所述终端包括智能手机、平板电脑、数字音视频播放器、电子阅读器、手持游戏机或车载电子设备等电子设备。30.图1是本申请实施例中一种文档加载方法的流程示意图,如图1所示,本实施例中的文档加载方法的流程可以包括:31.s101、响应于针对目标程序的文档加载指令,扫描目标文档,得到目标文档中的字体集合。32.本申请实施例中,字体集合中包括至少一类字体,目标程序可以为网页程序、包含h5界面的程序等,目标文档可以为可携带文档格式(portabledocumentformat,pdf)文档,在移动端中,目标程序在获取到其他客户端或服务器发送的pdf文档后,用户需要对pdf文档进行浏览,则可以对目标应用程序输入pdf文档的加载操作,以生成针对目标应用程序的加载指令。移动端可以响应该文档加载指令,扫描目标文档,得到目标文档中的字体集合。目标文档中可以为包括一种或多种字体的字符,字体集合即目标文档所有字符的字体的集合,如目标文档中段落1为楷体,段落2为宋体,则字体集合中包括楷体和宋体。33.在一种实现方式中,终端扫描目标文档,得到目标文档中的字体集合的具体方式可以为,终端基于连通域算法将目标文档拆分为至少一个字符,即将连通的像素组成一个字符,终端获取目标文档中的第一字符,并将该字符与数据库中的参考字符进行匹配,得到与第一字符完全匹配的第一参考字符,以及将第一参考字符所对应的第一字体添加至字体集合中,其中,与第一字符完全匹配的第一参考字符在预设区域中的像素占用信息与第一字符相同,像素占用信息包括像素占用数量和像素占用位置,基于上述方式,终端遍历目标文档中的所有字符,得到目标文档中各个字符对应的字体,并将各类字体添加至字体集合中,需要说明的是,当终端确定第一字符对应的第一字体后,针对目标文档中的其他第二字符,将优先校验第二字符的字体是否为第一字体,以提升校验效率。34.在一种实现方式中,终端扫描目标文档,得到目标文档中的字体集合的具体方式也可以为,终端获取目标文档,并对目标文档进行拆分处理,得到目标文档中包括的至少一个字符图像,终端调用字体识别模型对各个字符图像进行处理,得到目标文档中各个字符图像对应的字体,并基于各类字体构建得到字体集合。其中,字体识别模型的训练方式具体可以为,获取训练字符图像集合,训练字符图像集合包含多个字符图像以及每个字符图像对应的字体,基于训练字符图像集合中的各个字符图像对初始字体识别模型进行迭代训练,以对初始字体识别模型中的参数进行更新;当检测到参数更新后的初始字体识别模型满足预设条件时,将参数更新后的初始字体识别模型确定为训练完成的字体识别模型,预设条件包括初始字体识别模型对于训练字符图像集合中的字符图像的字体识别准确率高于预设准确率。通过调用图像识别模型对字体进行识别的方式,可以对目标文档中各类字体进行识别,保证了对目标文档中各类字体的识别准确率。35.s102、校验目标程序是否支持字体集合中的各类字体,若存在不支持的目标字体,则从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体。36.本申请实施例中,终端确定出目标程序中的各种字体之后,将检测目标程序是否支持该各种字体,其中,目标程序中可能缺乏某种组件,使得不能支持目标文档中全部字体格式。在校验之后,若目标程序支持字体集合中的各类字体,则终端可以直接将目标文档在目标应用程序中进行显示;若存在目标程序不支持的目标字体,则终端可以获取到目标程序支持的参考字体集合,该参考字体集合包括目标程序支持的至少一种参考字体,并计算各个参考字体与目标字体之间的关联性,以及从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体。37.在一种实现方式中,终端从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体的具体方式可以为,终端从目标文档中筛选出目标字符,并获取目标程序支持的参考字体集合,终端确定目标字符在目标字体下的第一像素占用信息,并确定目标字符在参考字体集合中各个参考字体下的各个第二像素占用信息,终端确定第一像素占用信息与各个第二像素占用信息之间的匹配度,并确定出与第一像素占用信息之间匹配度最高的目标第二像素占用信息;将目标第二像素占用信息对应的参考字体确定为与目标字体关联性最高的关联字体。其中,目标字符为所述目标文档中符合预设筛选规则的字符,参考字体集合中包括至少一类参考字体;像素占用信息包括像素占用数量、像素占用位置和边缘像素坐标中的至少一种,像素占用信息包括第一像素占用信息或第二像素占用信息,即第一像素占用信息包括第一像素占用数量、第一像素占用位置和第一边缘像素坐标中的至少一种,第二像素占用信息包括第二像素占用数量、第二像素占用位置和第二边缘像素坐标中的至少一种,目标程序可以支持参考字体集合中的各个参考字体,目标字符可以为1个,或者也可以为多个字符的集合,预设筛选规则可以为出现频次最高、每个段落的首个字符、末位字符等,聚义可以由研发人员预先设置。在一个实施例中,像素占用信息为像素占用数量,匹配度为不同字体下目标字符的像素占用数量之间的比值,如目标字符在目标字体下对应的第一像素占用数量为20,目标字符在参考字体下对应的第二像素占用数量为19,则可确定第一像素占用信息与第二像素占用信息之间的匹配度为19/20。在一个实施例中,像素占用信息包括像素占用数量、像素占用位置和边缘像素占用坐标,终端可以分别计算像素占用数量、像素占用位置和边缘像素占用坐标之间的相似度,并对各个相似度进行加权以及求和得到第一像素占用信息与第二像素占用信息之间的匹配度。其中,第一像素占用数量与第二像素占用数量之间的相似度可以为,目标字体和参考字体下目标字符的像素占用数量之间的比值,第一像素占用位置与第二像素占用位置之间的相似度的计算方式可以为,获取第一像素占用位置对应的第一坐标集合以及第二像素占用位置对应的第二坐标集合,确定第一坐标集合与第二坐标集合之间的差值,并基于差值与相似度的对应关系确定占用位置之间的相似度,差值越小,相似度越大。第一边缘像素占用坐标与第二边缘像素占用坐标之间的相似度可以由第一边缘像素占用坐标与第二边缘像素占用坐标之间的距离确定,距离越大,相似度越小。进一步的,终端对各个相似度进行加权求和处理即可得到第一像素占用信息与第二像素占用信息之间的匹配度。例如,计算得到第一像素占用数量与第二像素占用数量之间的第一相似度为0.5,第一像素占用位置与第二像素占用位置之间的第二相似度为0.6,第一边缘像素占用坐标与第二边缘像素占用坐标之间的第三相似度为1,第一权重为0.4,第二权重为0.5,第三权重为0.1,则第一像素占用信息与第二像素占用信息之间的匹配度为0.5*0.4+0.6*0.5+1*0.1=0.6。通过上述方式,可以找到与目标字体字形最为相似的参考字体,如通过上述方式,则可确定“楷体”与“楷体gb2312”之间相似度高,且“宋体”与“仿宋”之间相似度高。38.在一种实现方式中,终端从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体的具体方式可以为,获取目标程序支持的参考字体集合,参考字体集合中包括至少一类参考字体;确定出目标字体与参考字体集合中各个参考字体之间的共现频次,共现频次包括共同出现在文档集合中同一文档中的频次;终端对目标字体与各个参考字体之间的共现频次进行归一化处理,得到目标字体与各个参考字体之间的关联值;并将与目标字体之间关联值最高的参考字体确定为与目标字体关联性最高的关联字体。例如,经统计,“楷体”和“宋体”在文档中共现频次最高,则当目标字体为“楷体”时,筛选出的与目标字体关联性最高的关联字体为“宋体”。通过上述方式,终端可以筛选出与目标字体最为相关的参考字体,以进一步替换目标字体。39.在一种实现方式中,终端从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体的具体方式可以为,终端获取目标文档中各个参考字体的出现频次,并将出现频次最高的参考字体确定为与目标字体关联性最高的关联字体。通过上述方式,可以基于目标文档中的内容筛选出目标字体对应的关联字体,实现关联字体的动态筛选。40.s103、采用关联字体对目标文档中的目标字体进行替换,得到目标替换文档,并在目标程序中加载目标替换文档。41.本申请实施例中,终端筛选出与目标字体关联性最高的关联字体之后,将采用关联字体对目标文档中的目标字体进行替换,得到目标替换文档,并在目标程序中加载目标替换文档。其中,终端对目标文档中的目标字体进行替换,得到目标替换文档的具体方式为,终端获取目标文档中目标字体下的目标字符集合,并将目标字符集合中各个字符的字体格式替换为关联字体,得到关联字符集合;终端将目标文档中的目标字符集合替换为关联字符集合,并在关联字符集合中添加关联字体对应的替换标记,得到目标替换文档,目标字符集合中包括至少一个目标字体下的字符。在一个实施例中,目标字符集合中包括字符“学校”,对应的字体为楷体,终端确定关联字体为宋体,则终端将字符“学校”的字体格式替换为宋体,并添加宋体对应的替换标记,替换标记具体可以为特殊颜色显示、文字批注等,如添加原始字体为楷体的批注。42.在一个实施例中,目标替换文档中还可以包含替换标记,替换标记用于区分目标替换文档中原始的字符和字体格式更改后的目标字符,具体的,终端将目标字符的字体格式更改为关联字体之后,还可以为关联字体下的目标字符添加替换标记,终端将添加替换标记后的文档在目标程序中进行显示,可以与目标文档中未更改字体格式的字符形成区分,且可使得后续方便对目标字符的字体格式进行更新以及方便于用户的查阅。43.s104、从字体库中获取到目标字体对应的目标字体组件,并将目标字体组件添加至目标程序中,以使得目标程序支持目标字体。44.本申请实施例中,终端可以从字体库中获取到目标字体对应的目标字体组件,其中,字体库包括本地字体库和云端字体库。45.在一种实现方式中,终端向本地设备发送第一通讯请求,并在第一通讯请求通过后与本地设备建立通讯连接;校验本地设备包括的本地字体库中是否存在目标字体对应的目标字体组件;若不存在,则向云端服务器发送第二通讯请求,并在第二通讯请求通过后与云端服务器建立通讯连接;从云端服务器包括的云端字体库中获取到目标字体对应的目标字体组件。例如,终端可以通过wifi、局域网、蓝牙连接等方式与其他本地的终端设备建立连接,以访问到其他本地设备的字体库,若本地设备的字体库中包括有目标字体组件,则终端获取到目标字体组件。若本地字体库中不包含目标字体组件,则终端可以基于路由设备或者移动网与云端服务器建立连接,并从云端服务器中包含的云端字体库中获取到目标字体组件。终端获取到的目标字体组件添加至目标程序中,以使得目标程序支持目标字体。可选的实现方式中,终端从本地字体库以及云端字体库中均未获取到目标字体组件,则终端可以发送提示信息,提示信息用于提示用户手动对目标字体组件进行下载。46.在一种实现方式中,终端可以优先从本地字体库中查询是否存在目标字体组件,若存在,则获取到本地字体库中的目标字体组件,若不存在,则从云端字体库中获取到目标字体组件,其中,本地字体库为基于与终端建立通讯连接的其他终端设备的存储内容构建的字体库,即获取到与终端建立通讯连接的其他终端设备中包括的各类字体组件,并将各类字体组件上传至本地数据库中,其中,通信连接包括蓝牙连接、wifi连接、nfc连接等,云端数据库可以包括了一个区域内的终端设备上传的字体组件。通过上述方式,终端可以较为快速的从字体库中获取到目标字体对应的目标字体组件。进一步的,终端将目标字体组件添加至目标程序中,以使得目标程序支持目标字体。47.s105、响应于文档更新指令,在目标程序中将目标替换文档更新为目标文档。48.本申请实施例中,终端将目标字体组件添加至目标程序中之后,可以响应于文档更新指令,在目标程序中将目标替换文档更新为目标文档,其中,终端可以获取针对目标替换文档中关联字符集合的浏览信息,若浏览信息指示关联字符集合未被浏览,则生成文档更新指令;其中,终端获取针对所述目标替换文档中关联字符集合的浏览信息的具体方式可以为,终端实时获取显示屏中的显示内容,并校验显示内容中是否存在关联字符集合,若存在关联字符集合,则确定针对目标替换文档中关联字符集合的浏览信息指示关联字符集合已被浏览,若不存在,则确定浏览信息指示关联字符集合未被浏览。例如,关联字符集合包括字符“学习”,若字符“学习”出现在显示屏中的显示内容中,则确定浏览信息指示关联字符集合已被浏览。或者,终端检测针对目标替换文档输入的操作信息,若操作信息满足预设条件,则生成文档更新指令,如用户点击了文档更新按键,则可生成文档更新指令。如操作信息为针对目标替换文档中关联字符集合所在的区域的触控操作,则确定操作信息满足预设条件,触控操作包括点击操作、滑动操作、按压操作等。49.上述方案有效的避免了出现白屏或者无法加载的问题,可以在加载pdf组件进行到扫描pdf文档的时候,进行判断,如果获取到的字体是目前插件中支持的常规字体,获取到随后渲染完毕时进行文案展示,同时可以在一个数组中将支持的字体进行存储,如果在这个过程中没有获取到支持的字体,那么将已经可支持的字体替换需要展示的字体,能够快速的展示出页面,然后同时通过同步的方式,到系统中查找组件没有的字体,如果查找到就放入可支持的字体的缓存中,方便下次展示时使用。通过这种方式可以有效的避免用户在查看pdf文档时,白屏或者因长时间查找系统支持的字体导致的手机假死的情况。50.本申请实施例中,终端扫描目标文档,得到目标文档中的字体集合,校验目标程序是否支持字体集合中的各类字体,若存在不支持的目标字体,则从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体;采用关联字体对目标文档中的目标字体进行替换,得到目标替换文档,并在目标程序中加载目标替换文档;从字体库中获取到目标字体对应的目标字体组件,并将目标字体组件添加至目标程序中,以使得目标程序支持目标字体;响应于文档更新指令,在目标程序中将目标替换文档更新为目标文档。通过上述方法,可以将文档中不支持的字体更改后显示文档,避免了显示过程中的卡顿,并且自动获取到相应的字体组件,在字体组件安装完成后将原文档进行显示,以保证用户对于文档的浏览体验。51.图2是本申请实施例中另一种文档加载方法的流程示意图,如图2所示,本实施例中的文档加载方法的流程可以包括:52.s201、响应于针对目标程序的文档加载指令,扫描目标文档,得到目标文档中的字体集合。53.字体集合中包括至少一类字体,目标程序可以为网页程序、包含h5界面的程序等,目标文档可以为pdf文档,在移动端中,目标程序在获取到其他客户端或服务器发送的pdf文档后,用户需要对pdf文档进行浏览,则可以对目标应用程序输入pdf文档的加载操作,以生成针对目标应用程序的加载指令。移动端可以响应该文档加载指令,扫描目标文档,得到目标文档中的字体集合。54.s202、校验目标程序是否支持字体集合中的各类字体,若存在不支持的目标字体,则从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体。55.本申请实施例中,终端确定出目标程序中的各种字体之后,将检测目标程序是否支持该各种字体,若目标程序支持字体集合中的各类字体,则终端可以直接将目标文档进行加载。若存在不支持的目标字体,则从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体。其中,关联字体可以为与目标字体外形最相似的字体,或者,与目标字体之间共现频次最高的字体,或者,目标文档中出现频次最高的字体等。56.s203、采用关联字体对目标文档中的目标字体进行替换,得到目标替换文档,并在目标程序中加载目标替换文档。57.本申请实施例中,终端筛选出与目标字体关联性最高的关联字体之后,将采用关联字体对目标文档中的目标字体进行替换,得到目标替换文档,并在目标程序中加载目标替换文档。58.s204、从字体库中获取到目标字体对应的目标字体组件,并将目标字体组件添加至目标程序中,以使得目标程序支持目标字体。59.本申请实施例中,终端可以从字体库中获取到目标字体对应的目标字体组件,并将目标字体组件添加至目标程序中,以使得目标程序支持目标字体,其中,字体库包括本地字体库或云端字体库。终端可以同时向本地字体库或云端字体库发送组件获取指令,并在接收到任一字体库返回的目标字体组件后,将目标字体组件添加至目标程序中。60.s205、响应于文档更新指令,在目标程序中将目标替换文档更新为目标文档。61.本申请实施例中,终端将目标字体组件添加至目标程序中之后,可以响应于文档更新指令,在目标程序中将目标替换文档更新为目标文档,其中,文档更新指令可以基于预设更新规则自动生成,如预设更新规则为当用户未对目标替换文档中关联字体部分内容进行浏览时,生成文档更新指令,则终端将目标字体组件添加至目标程序中之后,检测到用户未对目标替换文档中替换部分内容进行浏览时,则可以将目标替换文档重新替换为目标文档进行显示,通过上述方式,可以使得目标程序较为快速的显示文档,且不影响用户的阅读体验。在一个实施例中,终端获取目标替换文档中被替换为关联字体的关联字符集合;校验关联字符集合是否被浏览;若未被浏览,则生成文档更新指令。进一步的,终端在目标程序中将目标替换文档更新为目标文档。62.s206、获取针对目标替换文档的反馈评分。63.本申请实施例中,终端在目标程序中加载目标替换文档之后,还可以获取针对目标替换文档输入的反馈评分。其中,反馈评分可以由目标用户输入,或者,由评分装置基于目标用户对于目标替换文档的浏览信息确定,浏览信息包括浏览时长、浏览频次、浏览满意度等综合确定,如浏览时长越长、浏览频次越高以及浏览满意度越高,则反馈评分越高。64.s207、若反馈评分高于预设评分,则将目标字体和关联字体在区块链中进行广播,以使得区块链中的各个节点对目标字体和关联字体进行共识校验。65.本申请实施例中,终端确定反馈评分大于预设评分后,确定用户对于目标替换文档加载是满意的,则终端可以将会话请求和目标反馈信息在区块链网络中进行广播,以使得区块链网络中的各个节点对会话请求和目标反馈信息进行共识校验。其中,可以预先设置共识数量,当共识校验通过的节点的数量大于该共识数量时,确定共识校验通过。或者,可以预先设置共识权重,且每个节点可以有不同的权重,当共识校验的结果的权重大于预先设置的共识权重时,确定校验通过。66.s208、若接收到的共识校验结果指示校验通过,则将目标字体和所述关联字体打包成区块,并将区块上传至区块链中。67.本申请实施例中,终端扫描目标文档,得到目标文档中的字体集合,校验目标程序是否支持字体集合中的各类字体,若存在不支持的目标字体,则从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体;采用关联字体对目标文档中的目标字体进行替换,得到目标替换文档,并在目标程序中加载目标替换文档;从字体库中获取到目标字体对应的目标字体组件,并将目标字体组件添加至目标程序中,以使得目标程序支持目标字体;响应于文档更新指令,在目标程序中将目标替换文档更新为目标文档。通过上述方法,可以将文档中不支持的字体更改后显示文档,提升文档显示效率。并且,结合区块链对文档进行存储,提升文档存储的可靠性。68.下面将结合附图3对本申请实施例提供的文档加载装置进行详细介绍。需要说明的是,附图3所示的文档加载装置,用于执行本发明图1‑图2所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,经参照本发明图1‑图2所示的实施例。69.请参见图3,为本发明提供的一种文档加载装置的结构示意图,该文档加载装置30可包括:扫描模块301、校验模块302、筛选模块303、替换模块304、加载模块305、获取模块306、添加模块307和更新模块308。70.扫描模块301,用于响应于针对目标程序的文档加载指令,扫描目标文档,得到所述目标文档中的字体集合,所述字体集合中包括至少一类字体;71.校验模块302,用于校验目标程序是否支持所述字体集合中的各类字体;72.筛选模块303,用于若存在不支持的目标字体,则从所述目标程序支持的参考字体集合中筛选出与所述目标字体关联性最高的关联字体;73.替换模块304,用于采用所述关联字体对所述目标文档中的目标字体进行替换,得到目标替换文档;74.加载模块305,用于在所述目标程序中加载所述目标替换文档;75.获取模块306,用于从字体库中获取到所述目标字体对应的目标字体组件;76.添加模块307,用于将所述目标字体组件添加至所述目标程序中,以使得所述目标程序支持所述目标字体;77.更新模块308,用于响应于文档更新指令,在所述目标程序中将所述目标替换文档更新为所述目标文档。78.在一种实现方式中,筛选模块303,具体用于:79.从所述目标文档中筛选出目标字符,并获取所述目标程序支持的参考字体集合,所述参考字体集合中包括至少一类参考字体;80.确定所述目标字符在所述目标字体下的第一像素占用信息,并确定所述目标字符在所述参考字体集合中各个参考字体下的各个第二像素占用信息,像素占用信息包括像素占用数量、像素占用位置和边缘像素坐标中的至少一种;81.确定所述第一像素占用信息与所述各个第二像素占用信息之间的匹配度,并确定出与所述第一像素占用信息之间匹配度最高的目标第二像素占用信息;82.将所述目标第二像素占用信息对应的参考字体确定为与所述目标字体关联性最高的关联字体。83.在一种实现方式中,筛选模块303,具体用于:84.获取所述目标程序支持的参考字体集合,所述参考字体集合中包括至少一类参考字体;85.确定出所述目标字体与所述参考字体集合中各个参考字体之间的共现频次,所述共现频次包括共同出现在文档集合中同一文档中的频次;86.对所述目标字体与各个参考字体之间的共现频次进行归一化处理,得到所述目标字体与各个参考字体之间的关联值;87.将与所述目标字体之间关联值最高的参考字体确定为与所述目标字体关联性最高的关联字体。88.在一种实现方式中,替换模块304,具体用于:89.获取所述目标文档中目标字体下的目标字符集合,所述目标字符集合中包括至少一个目标字体下的字符;90.将所述目标字符集合中各个字符的字体格式替换为所述关联字体,得到关联字符集合;91.将所述目标文档中的所述目标字符集合替换为所述关联字符集合,并在所述关联字符集合中添加所述关联字体对应的替换标记,得到目标替换文档。92.在一种实现方式中,获取模块306,具体用于:93.向本地设备发送第一通讯请求,并在所述第一通讯请求通过后与所述本地设备建立通讯连接;94.校验所述本地设备包括的本地字体库中是否存在所述目标字体对应的目标字体组件;95.若不存在,则向云端服务器发送第二通讯请求,并在所述第二通讯请求通过后与所述云端服务器建立通讯连接;96.从所述云端服务器包括的云端字体库中获取到所述目标字体对应的目标字体组件。97.在一种实现方式中,更新模块308,具体用于:98.获取针对所述目标替换文档中关联字符集合的浏览信息,若所述浏览信息指示所述关联字符集合未被浏览,则生成文档更新指令;99.或者,检测针对所述目标替换文档输入的操作信息,若所述操作信息满足预设条件,则生成所述文档更新指令。100.在一种实现方式中,更新模块308,还用于:101.获取针对所述目标替换文档的反馈评分;102.若所述反馈评分高于预设评分,则将所述目标字体和所述关联字体在区块链中进行广播,以使得所述区块链中的各个节点对所述目标字体和所述关联字体进行共识校验;103.若接收到的共识校验结果指示校验通过,则将所述目标字体和所述关联字体打包成区块,并将所述区块上传至所述区块链中。104.本申请实施例中,扫描模块301扫描目标文档,得到目标文档中的字体集合,校验模块302校验目标程序是否支持字体集合中的各类字体,若存在不支持的目标字体,则筛选模块303从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体;替换模块304采用关联字体对目标文档中的目标字体进行替换,得到目标替换文档,加载模块305在目标程序中加载目标替换文档;获取模块306从字体库中获取到目标字体对应的目标字体组件,添加模块307将目标字体组件添加至目标程序中,以使得目标程序支持目标字体;响应于文档更新指令,更新模块308在目标程序中将目标替换文档更新为目标文档。通过上述方法,可以将文档中不支持的字体更改后显示文档,提升文档显示效率。105.请参见图4,为本申请实施例提供了一种终端的结构示意图。如图4所示,该终端包括:至少一个处理器401,输入设备403,输出设备404,存储器405,至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。其中,输入设备403可以是控制面板或者麦克风等,输出设备404可以是显示屏等。其中,存储器405可以是高速ram存储器,也可以是非不稳定的存储器(non‑voiatiiememory),例如至少一个磁盘存储器。存储器405可选的还可以是至少一个位于远离前述处理器401的存储装置。其中处理器401可以结合图3所描述的装置,存储器405中存储一组程序代码,且处理器401,输入设备403,输出设备404调用存储器405中存储的程序代码,用于执行以下操作:106.处理器401,用于响应于针对目标程序的文档加载指令,扫描目标文档,得到所述目标文档中的字体集合,所述字体集合中包括至少一类字体;107.处理器401,用于校验目标程序是否支持所述字体集合中的各类字体,若存在不支持的目标字体,则从所述目标程序支持的参考字体集合中筛选出与所述目标字体关联性最高的关联字体;108.处理器401,用于采用所述关联字体对所述目标文档中的目标字体进行替换,得到目标替换文档,并在所述目标程序中加载所述目标替换文档;109.处理器401,用于从字体库中获取到所述目标字体对应的目标字体组件,并将所述目标字体组件添加至所述目标程序中,以使得所述目标程序支持所述目标字体;110.处理器401,用于响应于文档更新指令,在所述目标程序中将所述目标替换文档更新为所述目标文档。111.在一种实现方式中,处理器401,具体用于:112.从所述目标文档中筛选出目标字符,并获取所述目标程序支持的参考字体集合,所述参考字体集合中包括至少一类参考字体;113.确定所述目标字符在所述目标字体下的第一像素占用信息,并确定所述目标字符在所述参考字体集合中各个参考字体下的各个第二像素占用信息,像素占用信息包括像素占用数量、像素占用位置和边缘像素坐标中的至少一种;114.确定所述第一像素占用信息与所述各个第二像素占用信息之间的匹配度,并确定出与所述第一像素占用信息之间匹配度最高的目标第二像素占用信息;115.将所述目标第二像素占用信息对应的参考字体确定为与所述目标字体关联性最高的关联字体。116.在一种实现方式中,处理器401,具体用于:117.获取所述目标程序支持的参考字体集合,所述参考字体集合中包括至少一类参考字体;118.确定出所述目标字体与所述参考字体集合中各个参考字体之间的共现频次,所述共现频次包括共同出现在文档集合中同一文档中的频次;119.对所述目标字体与各个参考字体之间的共现频次进行归一化处理,得到所述目标字体与各个参考字体之间的关联值;120.将与所述目标字体之间关联值最高的参考字体确定为与所述目标字体关联性最高的关联字体。121.在一种实现方式中,处理器401,具体用于:122.获取所述目标文档中目标字体下的目标字符集合,所述目标字符集合中包括至少一个目标字体下的字符;123.将所述目标字符集合中各个字符的字体格式替换为所述关联字体,得到关联字符集合;124.将所述目标文档中的所述目标字符集合替换为所述关联字符集合,并在所述关联字符集合中添加所述关联字体对应的替换标记,得到目标替换文档。125.在一种实现方式中,处理器401,具体用于:126.向本地设备发送第一通讯请求,并在所述第一通讯请求通过后与所述本地设备建立通讯连接;127.校验所述本地设备包括的本地字体库中是否存在所述目标字体对应的目标字体组件;128.若不存在,则向云端服务器发送第二通讯请求,并在所述第二通讯请求通过后与所述云端服务器建立通讯连接;129.从所述云端服务器包括的云端字体库中获取到所述目标字体对应的目标字体组件。130.在一种实现方式中,处理器401,具体用于:131.获取针对所述目标替换文档中关联字符集合的浏览信息,若所述浏览信息指示所述关联字符集合未被浏览,则生成文档更新指令;132.或者,检测针对所述目标替换文档输入的操作信息,若所述操作信息满足预设条件,则生成所述文档更新指令。133.在一种实现方式中,处理器401,具体用于:134.获取针对所述目标替换文档的反馈评分;135.若所述反馈评分高于预设评分,则将所述目标字体和所述关联字体在区块链中进行广播,以使得所述区块链中的各个节点对所述目标字体和所述关联字体进行共识校验;136.若接收到的共识校验结果指示校验通过,则将所述目标字体和所述关联字体打包成区块,并将所述区块上传至所述区块链中。137.本申请实施例中,处理器401扫描目标文档,得到目标文档中的字体集合,校验目标程序是否支持字体集合中的各类字体,若存在不支持的目标字体,则从目标程序支持的参考字体集合中筛选出与目标字体关联性最高的关联字体;采用关联字体对目标文档中的目标字体进行替换,得到目标替换文档,并在目标程序中加载目标替换文档;从字体库中获取到目标字体对应的目标字体组件,并将目标字体组件添加至目标程序中,以使得目标程序支持目标字体;响应于文档更新指令,在目标程序中将目标替换文档更新为目标文档。通过上述方法,可以将文档中不支持的字体更改后显示文档,提升文档显示效率。138.本申请实施例中所述模块,可以通过通用集成电路,例如cpu(centraiprocessingunit,中央处理器),或通过asic(appiicationspecificintegratedcircuit,专用集成电路)来实现。139.应当理解,在本申请实施例中,所称处理器401可以是中央处理模块(centraiprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitaisignaiprocessor,dsp)、专用集成电路(appiicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieid‑programmabiegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。140.总线402可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互联(peripheraicomponent,pci)总线或扩展工业标准体系结构(eitendedindustrystandardarchitecture,eisa)总线等,该总线402可以分为地址总线、数据总线、控制总线等,为便于表示,图4仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。141.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的计算机存储介质可为磁碟、光盘、只读存储记忆体(read‑oniymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。142.以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1