System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机领域,尤其涉及一种损坏pdf文档修复方法、装置、设备及存储介质。
技术介绍
1、pdf文件作为一种广泛使用的编辑文件格,已经在计算机及互联网中被广大用户所使用。pdf是一种电子文件格式,这种格式与操作系统平台无关,而正是这一独特的性能使它成为在internet上进行电子文档发行和数字化信息传播的理想文档格式。越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件开始使用pdf格式文件。
2、与此同时,随着人们对pdf文件使用的增多,与pdf文件使用相关的问题也就接踵而来,例如用户的pdf文件在传输、保存的时候因为外部因素(设备断电等)导致pdf文件数据被损坏,无法对pdf文件进行修复,以使其能正常打开。
技术实现思路
1、本专利技术的主要目的在于解决如何修复损坏pdf文档的技术问题。
2、本专利技术第一方面提供了一种损坏pdf文档修复方法,所述损坏pdf文档修复方法包括:
3、接收pdf文档修复请求,查找损坏pdf文档中的各对象数据块,所述pdf文档修复请求中携带有所述损坏pdf文档;
4、从所述各对象数据块中筛选出已有页面对象数据块,并根据所述各对象数据块构建新页面对象数据块;
5、根据所述新页面对象数据块及所述已有页面对象数据块构造总页面对象;
6、根据所述总页面对象构造根对象数据块,并根据所述各对象数据块、所述新页面对象数据块、所述总页面对象、以及所述根对象数据块,得到新pdf文档
7、可选的,在本专利技术第一方面的第一种实现方式中,所述根据所述各对象数据块、所述新页面对象数据块、所述总页面对象、以及所述根对象数据块,得到新pdf文档包括:
8、填充所述损坏pdf文档的头部数据块,并新建空文件,将所述头部数据块写入到所述空文件的头部;
9、将所述各对象数据块、所述新页面对象数据块、所述总页面对象、以及所述根对象数据块写入所述空文件;
10、构建交叉引用表,将所述交叉引用表写入所述空文件;
11、获取文件尾部数据块,将所述文件尾部数据块写入到所述空文件,得到新pdf文档。
12、可选的,在本专利技术第一方面的第二种实现方式中,所述构建交叉引用表,将所述交叉引用表写入所述空文件包括:
13、记录所述各对象数据块、所述新页面对象数据块、所述总页面对象、以及所述根对象数据块写入到所述空文件中的物理位置;
14、根据所述物理位置构建交叉引用表;
15、将所述交叉引用表写入所述空文件。
16、可选的,在本专利技术第一方面的第三种实现方式中,所述根据所述物理位置构建交叉引用表包括:
17、计算已有对象数据块和构建的对象数据块的数目总和;
18、获取关键字及所述各对象数据块中首个对象块序号;
19、根据所述关键字、所述首个对象块序号、所述数目总和、以及所述物理位置构建交叉引用表。
20、可选的,在本专利技术第一方面的第四种实现方式中,所述接收pdf文档修复请求,所述pdf文档修复请求中携带有损坏pdf文档,查找所述损坏pdf文档中的各对象数据块包括:
21、接收pdf文档修复请求,所述pdf文档修复请求中携带有损坏pdf文档;
22、查找所述损坏pdf文档的起始标识码;
23、根据所述起始标识码,查找所述损坏pdf文档中的各对象数据块,并记录所述各对象数据块的数据内容。
24、可选的,在本专利技术第一方面的第五种实现方式中,所述从所述各对象数据块中筛选出已有页面对象数据块,并根据所述各对象数据块构建新页面对象数据块包括:
25、从所述各对象数据块中筛选出已有页面对象数据块;
26、解析筛选后剩余对象数据块,记录所述剩余对象数据块的对象序号及对应的父对象序号;
27、根据所述对象序号及对应的父对象序号构建新页面对象数据块。
28、可选的,在本专利技术第一方面的第六种实现方式中,所述接收pdf文档修复请求,所述pdf文档修复请求中携带有损坏pdf文档,查找所述损坏pdf文档中的各对象数据块之前,还包括:
29、推送文档选择菜单,根据在所述文档选择菜单中的选择结果,获取目标pdf文档;
30、判断所述目标pdf文档是否损坏,若是,则解析损坏pdf文档的头部。
31、本专利技术第二方面提供了一种损坏pdf文档修复设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述损坏pdf文档修复设备执行上述的损坏pdf文档修复方法。
32、本专利技术的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的损坏pdf文档修复方法。
33、在本专利技术实施例中,接收pdf文档修复请求,查找损坏pdf文档中的各对象数据块;从所述各对象数据块中筛选出已有页面对象数据块,并根据所述各对象数据块构建新页面对象数据块;根据所述新页面对象数据块及所述已有页面对象数据块构造总页面对象;根据所述总页面对象,构造根对象数据块,并根据所述各对象数据块、所述新页面对象数据块、所述总页面对象、以及所述根对象数据块,得到新pdf文档。本专利技术中,通过各对象数据块构建页面对象数据块、总页面对象、根对象数据块,得到新pdf文档,能通过构建对象数据块,修复被破坏的pdf格式,使pdf文档能正常打开,从而实现对损坏pdf文档的修复。
本文档来自技高网...【技术保护点】
1.一种损坏PDF文档修复方法,其特征在于,所述损坏PDF文档修复方法包括:
2.根据权利要求1所述的损坏PDF文档修复方法,其特征在于,所述根据所述各对象数据块、所述新页面对象数据块、所述总页面对象、以及所述根对象数据块,得到新PDF文档包括:
3.根据权利要求2所述的损坏PDF文档修复方法,其特征在于,所述构建交叉引用表,将所述交叉引用表写入所述空文件包括:
4.根据权利要求3所述的损坏PDF文档修复方法,其特征在于,所述根据所述物理位置构建交叉引用表包括:
5.根据权利要求1所述的损坏PDF文档修复方法,其特征在于,所述接收PDF文档修复请求,查找损坏PDF文档中的各对象数据块包括:
6.根据权利要求1所述的损坏PDF文档修复方法,其特征在于,所述从所述各对象数据块中筛选出已有页面对象数据块,并根据所述各对象数据块构建新页面对象数据块包括:
7.根据权利要求1所述的损坏PDF文档修复方法,其特征在于,所述接收PDF文档修复请求,所述PDF文档修复请求中携带有损坏PDF文档,查找所述损坏PDF文档中的各对
8.一种损坏PDF文档修复装置,其特征在于,所述损坏PDF文档修复装置包括:
9.一种损坏PDF文档修复设备,其特征在于,所述损坏PDF文档修复设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的损坏PDF文档修复方法。
...【技术特征摘要】
1.一种损坏pdf文档修复方法,其特征在于,所述损坏pdf文档修复方法包括:
2.根据权利要求1所述的损坏pdf文档修复方法,其特征在于,所述根据所述各对象数据块、所述新页面对象数据块、所述总页面对象、以及所述根对象数据块,得到新pdf文档包括:
3.根据权利要求2所述的损坏pdf文档修复方法,其特征在于,所述构建交叉引用表,将所述交叉引用表写入所述空文件包括:
4.根据权利要求3所述的损坏pdf文档修复方法,其特征在于,所述根据所述物理位置构建交叉引用表包括:
5.根据权利要求1所述的损坏pdf文档修复方法,其特征在于,所述接收pdf文档修复请求,查找损坏pdf文档中的各对象数据块包括:
6.根据权利要求1所述的损坏pdf文档修复方法,其特征在于,所述从所述各对象数...
【专利技术属性】
技术研发人员:吴毓彬,黄德安,陈子文,姜亚明,
申请(专利权)人:深圳麦风科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。