[发明专利]一种大批量PDF文件合并的方法及系统有效
申请号: | 202110419112.0 | 申请日: | 2021-04-19 |
公开(公告)号: | CN113128175B | 公开(公告)日: | 2023-01-24 |
发明(设计)人: | 梁俊义 | 申请(专利权)人: | 福建福昕软件开发股份有限公司 |
主分类号: | G06F40/12 | 分类号: | G06F40/12 |
代理公司: | 北京科龙寰宇知识产权代理有限责任公司 11139 | 代理人: | 孙皓晨 |
地址: | 350003 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 大批量 pdf 文件 合并 方法 系统 | ||
本发明公开一种大批量PDF文件合并的方法及系统,其中方法包括:输出目标PDF文件的头部信息,输出catalog字典信息,生成PDF页面对象的对象编号并记录;依序解析待合并PDF文件,获取所有间接对象的对象编号和偏移量以及catalog字典信息;依序从catalog字典信息中解析对应待合并PDF文件的页面对象字典信息,并依序读取每个页面对象的对象编号信息;调用全局的对象编号生成器生成新的对象编号,并将原来的对象编号信息和新的对象编号的对应关系记录到映射中;调用PDF间接对象的输出类,将待合并PDF文件的页面对象输出到目标PDF文件的页面对象中,并记录其在目标PDF文件中的开始位置和长度;检查是否所有待合并PDF文件都已经完成合并。
技术领域
本发明涉及计算机技术领域,具体而言,涉及计算机中PDF文件的处理,更具体地为一种大批量PDF文件合并的方法及系统。
背景技术
PDF(Portable Document Format,便携式文档格式)是由Adobe Systems用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。PDF文件以PostScript语言(简称PS,是主要用于电子产业和桌面出版领域的一种页面描述语言和编程语言)图像模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符、颜色以及图象。图1为PDF文件结构示意图,如图1所示,PDF文件通常由以下4个元素构成:文件头(header),标识文件所符合的PDF规范版本;正文(body),包含了组成文件中所含文档的对象;交叉引用表(cross-reference table),包含关于文件中间接对象的信息;尾注(trailer),提供交叉引用表和文件正文内某些特殊对象的位置。
用户在使用PDF文件的过程中,可能会需要将多个PDF文件进行合并,现有的PDF文件合并方法是首先对PDF文件进行解析,然后把要合并的PDF文件内容都clone(Java程序进行对象复制的方法)到一个新生成的PDF文件中,最后保存这个新生成的PDF文件。这种PDF文件的合并方法在执行时需要在内存中保存整个合并后PDF文件的相关信息,因此,会导致程序内存不断增大,尤其当需要合并的PDF文件量非常多的时候,采用此种方法会大量占用计算机内存,并且合并所需要的时间较长,执行效率较低,还会影响计算中其他应用的执行。
发明内容
为了解决上述问题,本发明提供一种大批量PDF文件合并的方法及系统,通过仅从待合并的PDF文件获取到每个对象在文件中的位置信息,解析几个少数的几个字典信息,调用全局对象数值生成器并修改每个待合并PDF文件中的对象数值后输出到新生成的PDF文件中,用以实现只需较少的内存即可在较短的时间内完成大批量PDF文件的合并。
为了达到上述目的,本发明提供了一种大批量PDF文件合并的方法,其包括以下步骤:
步骤1:确定并输出合并后的目标PDF文件的头部信息,输出对应catalog字典信息,生成对应PDF页面对象的对象编号并记录;
步骤2:依序解析多个待合并PDF文件,获取每个待合并PDF文件所有间接对象的对象编号和偏移量,同时获取每个待合并PDF文件的catalog字典信息;
步骤3:依序从每个待合并PDF文件的catalog字典信息中解析对应待合并PDF文件的页面对象字典信息,并从所有页面对象字典信息中依序读取每个页面对象的对象编号信息;
步骤4:调用全局的对象编号生成器生成新的对象编号,并将原来的对象编号信息和新的对象编号的对应关系记录到映射中;
步骤5:调用PDF间接对象的输出类,将每个待合并PDF文件的页面对象输出到合并后的目标PDF文件的页面对象中,并记录其在目标PDF文件中的开始位置和长度;
步骤6:检查是否所有待合并PDF文件都已经完成合并,
如果否,返回步骤2;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建福昕软件开发股份有限公司,未经福建福昕软件开发股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110419112.0/2.html,转载请声明来源钻瓜专利网。