具体实施方式
本发明的目的是提供一种合并文档的方法,该方法不仅能使合并序列中不同格式的文档合并成单一目标格式的文档,而且还能使目标格式文档保留合并序列中各原文档中的目录、链接等附加信息。
本发明提供一种合并文档的方法,该方法包括:
将待合并的文档序列中的各文档进行分类;
将获取的不同类型文档中的附加信息,保存于数据文件中,所述附加信息至少包括:目录信息、链接信息;
将不同类型的文档分别转换成临时目标格式的文档;
将所述临时目标格式的文档合并生成目标格式文档;
将保存的所述附加信息对应添加到生成的所述目标格式文档中。
进一步,所述将待合并的文档序列中的各文档进行分类;具体为:
将所述待合并的文档序列中各文件分为虚拟打印文档、直接转换类文档以及同类文档,同类文档与所述与合并目标文档格式相同。
较佳的,所述附加信息以文件节点为单位保存于所述数据文件中,每个文件节点与每个附加信息一一对应。
进一步,所述虚拟打印文档通过虚拟打印的方式转换为临时目标格式的文档;
所述直接转换类文档通过解析该文档的内容,将待合并文档中的图元对象扫描解析成临时目标格式的文档;
将所述同类文档直接转换成临时目标格式的文档。
较佳的,将所述临时目标格式的文档合并生成目标格式文档,包括:将所述虚拟打印文档、所述直接转换类文档、所述同类文档中之一或其任意组合转换的对应的临时目标格式的文档合并生成目标格式文档。
较佳的,将保存的所述附加信息对应添加到生成的所述目标格式文档中,具体为:
根据保存的所述附加信息对应的文件节点,确定获取的所述数据文件中的该附加信息,以及该附加信息在原待打印文档中的页码;
计算得到所述原待打印文档在合并生成的目标格式文档中对应的起始页码;
更新所述附件信息在合并生成的目标格式文档中对应的页信息;
将更新后的所述附件信息添加到所述目标格式文档中。
本发明实施例还提供一种合并文档的系统,包括:
分类模块,用于将待合并的文档序列中的各文档进行分类;
存储模块,用于将获取的不同类型的文档中附加信息,保存于数据文件中,所述附加信息至少包括:目录信息、链接信息;
转换模块,用于将不同类型的文档分别转换成临时目标格式的文档;
合并模块,用于将所述临时目标格式的文档合并生成目标格式文档;
添加模块,用于将保存的所述附加信息对应添加到生成的所述目标格式文档中。
进一步,所述分类模块,包括:虚拟打印文档处理单元,用于通过其应用程序的打印接口,将虚拟打印类文档虚拟打印的方式转换为临时目标格式的文档,并获取文档中的附加信息,并发送给所述存储模块;
直接转换文档处理单元,用于对直接转换类文档进行解析,并获取解析的原待合并文档中的附加信息,并发送给所述存储模块;
同类文档处理单元,用于获取与合并后的目标格式文档同类型的文档中的附加信息,并发送给所述存储模块。
所述存储模块,包括:存储单元,用于以文件节点为单位,将所述附加信息保存于数据文件中,使每个文件节点与每个附加信息一一对应;
数据文件处理单元,用于确定出每个附加信息对应在的待打印文档中的页码,以及在所述数据文件中的位置,以便添加到合并后的目标格式文档中。
较佳的,所述合并模块,还用于:将所述虚拟打印文档、所述直接转换类文档、所述同类文档中之一或其任意组合转换的对应的临时目标格式的文档合并生成目标格式文档。
较佳的,所述添加模块,还包括:
确定单元,用于根据保存的所述附加信息对应的文件节点,确定获取的所述数据文件中的该附加信息,以及该附加信息在原待打印文档中的页码;
计算单元,用于计算得到所述原待打印文档在合并生成的目标格式文档中对应的起始页码;
更新单元,用于更新所述附件信息在合并生成的目标格式文档中对应的页信息;
添加单元,将更新后的所述附件信息添加到所述目标格式文档中。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
如图1所示,为本发明方法实施例提供了一种合并文档的方法,该方法包括:
S11:将待合并的文档序列中的各文档进行分类;
S12:将获取的不同类型文档中的附加信息,保存于数据文件中,所述附加信息至少包括:目录信息、链接信息;
S13:将不同类型的文档分别转换成临时目标格式的文档;
S14:将所述临时目标格式的文档合并生成目标格式文档;
S15:将保存的所述附加信息对应添加到生成的所述目标格式文档中。
如图2所示,为本发明系统实施例的结构示意图,包括:
分类模块21,用于将待合并的文档序列中各文档进行分类;
存储模块22,用于获取各文档中包含的附加信息并保存,所述附加信息至少包括:目录信息、链接信息;
转换模块23,用于将各类型文档分别转换成临时目标格式的文档;
合并模块24,用于将所述临时目标格式的文档合并生成目标格式文档;
添加模块25,将保存的所述附加信息根据其所属的文档,添加到生成的所述目标格式文档的相同文档中。
较佳的,分类模块21包括:虚拟打印文档处理单元、直接转换文档处理单元、同类文档处理单元;
较佳的,存储模块22负责从原格式文档中提取出来的目录、链接等附加信息,记录了目录信息的跳转位置,链接信息在该文档第几页的位置,链接信息的类型(文件内跳转链接、邮件地址、外部文件或网址等,例如Word文件,可提取Word文件里的链接和引用域)等信息。数据文件以文件节点为单位,以便区分该目录信息或链接信息属于哪个文件。
较佳的,合并模块24,还用于:将所述虚拟打印文档、所述直接转换类文档、所述同类文档中之一或其任意组合转换的对应的临时目标格式的文档合并生成目标格式文档。
如图3所示,为本发明实施例中分类模块的结构示意图,包括:
虚拟打印文档处理单元31,用于通过其应用程序的打印接口,将虚拟打印类文档虚拟打印的方式转换为临时目标格式的文档,并获取文档中的附加信息,并发送给所述存储模块;
具体的,从虚拟打印文档应用程序接口获得虚拟打印文档内的目录、链接等附加信息,并通用应用程序的打印接口,使虚拟打印文档通过虚拟打印方式生成目标格式的临时文档。例如,MS Office或WPS Office类文档,可以通过其提供的应用程序访问接口,提取该文档中的目录和各类域链接等附加信息,将其保存到数据文件中,并用应用程序的打印接口,调用可生成目标格式文档的虚拟打印机打印成临时目标格式文档。
直接转换文档处理单元32,用于对直接转换类文档进行解析,并获取解析的原待合并文档中的附加信息,并发送给所述存储模块;
具体的,直接转换文档处理单元32对于能够直接解析文档,可以通过直接转换文档处理单元进行文件解析或重排,一方面从该类格式文档中提取文档中的目录、链接等附加信息,将其保存到数据文件;一方面通过将解析出来的原格式文档中的图元对象使用目标格式来描述,将其转换成临时目标格式文档;对于直接解析类文档,如果该类文档没有记录目录附加信息,可以通过版面分析算法识别出目录信息。例如,对于PDF文档,如果本身含有目录或链接等附加信息,可以将该PDF文档中现有的目录和链接等附加信息解析并提取出来,如果该PDF文档已丢失了一些目录附件信息,但由于PDF是具有固定版式的,可以通过版面分析算法识别出目录附件信息;又如TXT文档,可以通过对其在内存中重排,并分析其内含的章节信息,将章节等信息保存到数据文件,以便生成目录。
同类文档处理单元33,用于获取与合并后的目标格式文档同类型的文档中的附加信息,并发送给所述存储模块;
具体的,用于处理合并序列中与目标格式相同的文档,从此类文件中获得目录、链接等附件信息,对于同类文档,如果目标格式文档是PDF或者CEBX等具有版式信息的格式,如果文档中没有记录目录附加信息,也可以通过相应的版面分析算法识别出目录信息,再次不再重复。
如图4所示,为本发明实施例中存储模块的结构示意图,包括:
存储单元41,用于以文件节点为单位,将所述附加信息保存于数据文件中,使每个文件节点与包含的附加信息一一对应;所述文件节点中至少包含对应文档的文件标识,以及所述附加信息在对应文档中的页信息;
数据文件处理单元42,用于用于确定出每个附加信息对应所在的待打印文档中的页信息,以便添加到合并后的目标格式文档中。
如图5所示,为本发明实施例中添加模块的结构示意图,包括:
第一确定单元51,用于根据保存的所述数据文件的文件节点,确定对应的附加信息在对应的合并前的原文档中的页信息;
第二确定单元52,用于确定出所述原文档在合并生成的目标格式文档中对应的起始页信息;
更新单元53,用于根据所述页信息和所述起始页信息,得到并更新所述附加信息对应的页信息;
添加单元54,将更新后的附件信息添加到生成的所述目标格式文档的相同文档中。
如图6所示,为本发明具体实施例中附件信息处理的方法流程图,包括:
S601:读取数据文件中记录的目录、链接附加信息;
S602:如果S601读取出的附加信息是目录信息,则对目录信息处理,执行步骤S603;如果不是目录信息,则继续判断是不是链接信息,执行步骤S604;
S603:当前是目录信息,则需要更新目录信息的跳转页信息;
S604:当前是链接信息,则需要做链接所在页及链接跳转页的变更;
S605:该链接信息要做所在页的变更,需要将链接信息所在页码加上链接所在的原文档对应到合并后的目标格式文档的起始页码;
如果该链接信息如果是跳转到文档某页,执行步骤S606:跳转页码的变更;S607:判断该链接信息是否是跳转到原文档的某一页,即原文档内的页面跳转;
判断为是跳转到原文档的某一页,则需执行步骤S608;判断为不是,执行步骤S609。
S608:如果是文档内跳转,需要将链接信息的跳转页码加上链接所在的原文档对应到合并后的目标格式的临时文档的起始页码。
S609:判断此链接信息是否是跳转到合并序列中其他文档的某一页;
判断为是,执行步骤S610。
S610:对于合并序列内不同文档的跳转,需要先将跳转到的文档对应到合并后的目标格式文档的起始页码,再将此页码加上链接中记录的跳转页码。
本发明与现有技术相比有以下优点:
1、本发明所述的方法通过对合并序列中不同格式的文档进行了分类处理办法,使得原格式文档中现有的目录和链接等信息都能提取出来,而且通过版面分析算法,将直接转换类和与目标格式同类文档中隐含的丢失的目录信息提取出来,使得合并后的文档最大化保留了合并序列中各文档的目录跳转和链接信息。
2、本发明将合并序列中各个非目标格式文档转换成目标格式的临时文档,并在合并成目标格式文档过程中,记录了该合并序列各文档对应到目标格式文档中的起始页,这样就保证了目录的跳转和链接的所在页和跳转页正确。
3、本发明由于兼顾了合并效率,根据测试情况,可以以文件为单位按序进行插入,也可以将各文件以页为单位按序插入。
总之,采用本发明所述的方法,可以使合并序列中的各种不同格式文档合并成单一的目标格式文档,并保留了合并序列中各原文档中的目录和链接等信息,使合并后的目标格式文档具有正确的目录跳转和正确的链接位置及正确的跳转信息。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。