文件的修复方法、装置、终端设备和可读存储介质制造方法及图纸

技术编号:39250603 阅读:7 留言:0更新日期:2023-10-30 12:02
本申请适用于修复技术领域,提供了一种文件的修复方法、装置、终端设备和可读存储介质。上述文件的修复方法包括:获取待修复文件,待修复文件为损坏的SVG文件;从待修复文件中提取出所有SVG节点;对破损SVG节点进行修复,得到修复SVG节点;对破损子节点进行修复,得到修复子节点;根据完整SVG节点、完整子节点、修复SVG节点以及修复子节点,生成修复文件。本申请实施例通过对待修复文件中的破损SVG节点以及破损子节点进行修复,并根据完整SVG节点、完整子节点、修复SVG节点以及修复子节点得到修复文件,实现了对破损的SVG文件的修复,使得修复后的SVG文件能正常打开。后的SVG文件能正常打开。后的SVG文件能正常打开。

【技术实现步骤摘要】
文件的修复方法、装置、终端设备和可读存储介质


[0001]本申请属于修复
,尤其涉及一种文件的修复方法、装置、终端设备和可读存储介质。

技术介绍

[0002]SVG(Scalable Vector Graphics)为可缩放的矢量图形,是一种图像文件格式。同时SVG还是一种使用XML来描述二维图形和绘图程序的语言,可以用来描述二维矢量及矢量或栅格图形。SVG文件中通常包含若干个SVG节点,一个SVG节点中可以包含多个子节点,子节点中可以记录图像的相关信息。在相关技术中,当SVG文件发生损坏时,无法对SVG文件进行修复,以使其能正常打开。

技术实现思路

[0003]本申请实施例提供一种文件的修复方法、装置、终端设备和可读存储介质,可以解决相关技术无法对损坏的SVG文件进行修复的问题。
[0004]第一方面,本申请实施例提供了一种文件的修复方法,包括:
[0005]获取待修复文件,待修复文件为损坏的SVG文件;
[0006]从待修复文件中提取出所有SVG节点,SVG节点中包含完整SVG节点、完整子节点、破损SVG节点、破损子节点中的一种或多种;
[0007]对破损SVG节点进行修复,得到修复SVG节点;
[0008]对破损子节点进行修复,得到修复子节点;
[0009]根据完整SVG节点、完整子节点、修复SVG节点以及修复子节点,生成修复文件,修复文件为修复好的SVG文件。
[0010]第二方面,本申请实施例提供了一种文件的修复装置,包括:/>[0011]获取模块,用于获取待修复文件,待修复文件为损坏的SVG文件;
[0012]提取模块,用于从待修复文件中提取出所有SVG节点,SVG节点中包含完整SVG节点、完整子节点、破损SVG节点、破损子节点中的一种或多种;
[0013]第一修复模块,用于对破损SVG节点进行修复,得到修复SVG节点;
[0014]第二修复模块,用于对破损子节点进行修复,得到修复子节点;
[0015]生成模块,用于根据完整SVG节点、完整子节点、修复SVG节点以及修复子节点,生成修复文件,修复文件为修复好的SVG文件。
[0016]第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述文件的修复方法的步骤。
[0017]第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述文件的修复方法的步骤。
[0018]第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述文件的修复方法。
[0019]本申请实施例与现有技术相比的有益效果是:本申请实施例通过获取待修复文件,并从待修复文件中提取出所有SVG节点,再对破损SVG节点以及破损子节点进行修复,得到修复SVG节点以及修复子节点,并根据完整SVG节点、完整子节点、修复SVG节点以及修复子节点,生成修复文件。本申请实施例通过对待修复文件中的破损SVG节点以及破损子节点进行修复,并根据完整SVG节点、完整子节点、修复SVG节点以及修复子节点得到修复文件,实现了对破损的SVG文件的修复,使得修复后的SVG文件能正常打开。
附图说明
[0020]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021]图1是本申请实施例提供的一种文件的修复方法的实现流程示意图;
[0022]图2是本申请实施例提供的一个SVG节点的示意图;
[0023]图3是本申请实施例提供的另一个SVG节点的示意图;
[0024]图4是本申请实施例提供的对破损SVG节点进行修复的一种实现流程示意图;
[0025]图5是本申请实施例提供的对破损SVG节点进行修复的示意图;
[0026]图6是本申请实施例提供的对破损SVG节点进行修复的另一种实现流程示意图;
[0027]图7是本申请实施例提供的对破损SVG节点进行修复的另一示意图;
[0028]图8是本申请实施例提供的对破损子节点进行修复的实现流程示意图;
[0029]图9是本申请实施例提供的对破损子节点A进行修复的示意图;
[0030]图10是本申请实施例提供的生成错误报告的实现流程示意图;
[0031]图11是本申请实施例提供的确定文本值归属的实现流程示意图;
[0032]图12是本申请实施例提供的一种文件的修复装置的结构示意图;
[0033]图13是本申请实施例提供的终端设备的结构示意图。
具体实施方式
[0034]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护。
[0035]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”、“包含”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、终端、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。在本申请的权利要求书、说明书以及说明书附图中的术语,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一
定要求或者暗示这些实体/操作/对象之间存在任何这种实时的关系或者顺序。
[0036]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其他实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其他实施例相结合。
[0037]SVG(Scalable Vector Graphics)为可缩放的矢量图形,是一种图像文件格式。同时SVG还是一种使用XML来描述二维图形和绘图程序的语言,可以用来描述二维矢量及矢量或栅格图形。SVG文件中通常包含若干个SVG节点,一个SVG节点中可以包含多个子节点,子节点中可以记录图像的相关信息。在相关技术中,当SVG文件发生损坏时,无法对SVG文件进行修复,以使其能正常打开。
[0038]有鉴于此,本申请实施例通过对待修复文件中的破损SVG节点以及破损子节点进行修复,并根据完整SVG节点、完整本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种文件的修复方法,其特征在于,包括:获取待修复文件,所述待修复文件为损坏的SVG文件;从所述待修复文件中提取出所有SVG节点,所述SVG节点中包含完整SVG节点、完整子节点、破损SVG节点、破损子节点中的一种或多种;对所述破损SVG节点进行修复,得到修复SVG节点;对所述破损子节点进行修复,得到修复子节点;根据所述完整SVG节点、所述完整子节点、所述修复SVG节点以及所述修复子节点,生成修复文件,所述修复文件为修复好的SVG文件。2.如权利要求1所述的文件的修复方法,其特征在于,所述对所述破损SVG节点进行修复,得到修复SVG节点,包括:在所述SVG节点中寻找SVG节点开始标签;当所述SVG节点开始标签不存在时,生成所述SVG节点开始标签,得到所述修复SVG节点。3.如权利要求1所述的文件的修复方法,其特征在于,所述对所述破损SVG节点进行修复,得到修复SVG节点,包括:在所述SVG节点中寻找SVG节点结束标签;当所述SVG节点结束标签不存在时,生成所述SVG节点结束标签,得到所述修复SVG节点。4.如权利要求1所述的文件的修复方法,其特征在于,所述对所述破损子节点进行修复,得到修复子节点,包括:在所述SVG节点中寻找子节点结束标签;当所述子节点结束标签不存在且存在对应的子节点开始标签时,在所述子节点开始标签后生成所述子节点结束标签,得到所述修复子节点。5.如权利要求1所述的文件的修复方法,其特征在于,在所述从所述待修复文件中提取出所有SVG节点之后,所述方法还包括:当所述SVG节点中包含异常标签时,将所述异常标签去除,所述异常标签包括不完...

【专利技术属性】
技术研发人员:孙丽
申请(专利权)人:深圳软牛科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1