一种文档拆分方法及系统
技术领域
本发明涉及数据加工技术领域,特别涉及一种文档拆分方法及系统。
背景技术
Epub电子书格式是一种新的电子出版物格式。Epub是基于html超文本标记语言,而随着信息网络的发展,超文本标记语言的表达能力也得到了极大的加强,html5的推出,更是进一步提升html在互动和多媒体方面的优势。Epub的最新的3.0版本就是基于html5技术,应该说网络的发展促进了html的进步,基于html技术的epub电子书同样也得到了飞速的发展和普及,这种不断的进步和发展,使得epub成为了未来电子出版物事实的发展方向和标准。
随着电子出版物的普及,传统纸质印刷品出版物面临很大的竞争压力,但是同时对于出版行业,这同样是一种机遇,很多传统的出版企业都转向电子出版领域,相应的这些企业对于从工业流程从传统印刷排版工具平滑过渡到电子出版物制作工具有着强烈的需求。
当前出版发行企业有很多现有的印刷排版文档,需要转换为电子出版物文档,未来新出版发行的出版物也往往同时需要纸质印刷品和电子出版物的同步上线。
现有的很多传统排版工具考虑到这类,都推出了自己的解决方案,对于将传统排版文档转换为Html格式内容,各有各的处理模式,对于将一个比较大的排版文档拆分成多个部分,现有的解决方案无外乎以下两类:
第一类是从内容着手,根据原始内容的格式、样式、章节、片段去拆分,这样做只是为了拆分而拆分,这样简单的拆分存在极大的不确定性,需要人工去判断结果是否合理,如果最终的结果不合理,输出和转换的过程都需要重新来过,极大的影响了效率,浪费了人工。
第二类是从结果Html文件着手,先从原始排版内容输出一个大的html文件,再通过对于Html结果的容量做分配,或者样式、格式等内容作解析,重新拆分,这样相对以第一类来说,生成html的流程可以不用重新执行,但是拆分的结果仍然存在不确定性,需要人工干预,对于效率的影响仍然是可以预见的。
无论第一类还是第二类方案,都存在人工干预,效率问题,而且结果都没有考虑到最终epub文件客户端的显示效果,只有最后把转换的结果传输到客户端设备上,才能最终发现拆分的结果是不是真的合理和完善,如果存在问题,又需要重复排版流程。
发明内容
为了避免人工干预,并提高文档的拆分效率,本发明提供了一种文档拆分方法,所述方法包括:
获取至少一个印刷排版文档,在每个印刷排版文档内的强制换页位置和文档的结尾位置插入强制拆分标记,在每个印刷排版文档的章、节或段落划分处插入辅助拆分标记,并将所述至少一个印刷排版文档整合成一个待拆分文档;
按照预设显示区域尺寸对所述待拆分文档进行重排;
根据所述强制拆分标记和辅助拆分标记在重排后的待拆分文档中插入文档拆分标记;
根据所述文档拆分标记对所述待拆分文档进行拆分。
其中,所述根据所述强制拆分标记和辅助拆分标记在重排后的待拆分文档中插入文档拆分标记,具体包括:
将所述重排后的待拆分文档的第一个页面作为当前页面;
从所述当前页面开始选取预设数量的页面;
若选取到的页面中存在强制拆分标记,则在所述强制拆分标记的位置插入文档拆分标记,将所述强制拆分标记所在页面的后一页面作为新的当前页面,执行所述从当前页面开始选取预设数量的页面的步骤,直至所述重排后的待拆分文档的所有页面均被选取到,再执行所述根据所述文档拆分标记对所述待拆分文档进行拆分的步骤;
若选取到的页面中不存在强制拆分标记,则从所述选取到的页面的后一页面开始寻找第一个辅助拆分标记,在寻找到的第一个辅助拆分标记的位置插入文档拆分标记,并将所述寻找到的第一个辅助拆分标记所在页面的后一页面作为新的当前页面,执行所述从当前页面开始选取预设数量的页面的步骤,直至所述重排后的待拆分文档的所有页面均被选取到,再执行所述根据所述文档拆分标记对所述待拆分文档进行拆分的步骤。
其中,所述在寻找到的第一个辅助拆分标记的位置插入文档拆分标记之前,还包括:
判断所述寻找到的第一个辅助拆分标记所在页面是否存在强制拆分标记,若是,则在所述第一个辅助拆分标记所在页面的强制拆分标记的位置插入文档拆分标记,将所述寻找到的第一个辅助拆分标记所在页面的后一页面作为新的当前页面,直接执行所述从当前页面开始选取预设数量的页面的步骤。
其中,所述根据所述强制拆分标记和辅助拆分标记在重排后的待拆分文档中插入文档拆分标记之前,还包括:
为所述重排后的待拆分文档中每个页面添加页面序号;
所述从所述当前页面开始选取预设数量的页面,具体包括:
根据所述页面序号从所述当前页面开始选取预设数量的页面。
其中,所述按照预设显示区域尺寸对所述待拆分文档进行重排,具体包括:
根据所述待拆分文档的显示区域尺寸和预设显示区域尺寸之间的区别对所述待拆分文档的文字字号按比例进行缩放,将缩放后的待拆分文档通过排版引擎进行重排。
本发明还公开了一种文档拆分系统,所述系统包括:
获取插入模块,用于获取至少一个印刷排版文档,在每个印刷排版文档内的强制换页位置和文档的结尾位置插入强制拆分标记,在每个印刷排版文档的章、节或段落划分处插入辅助拆分标记,并将所述至少一个印刷排版文档整合成一个待拆分文档;
文档重排模块,用于按照预设显示区域尺寸对所述待拆分文档进行重排;
标记插入模块,用于根据所述强制拆分标记和辅助拆分标记在重排后的待拆分文档中插入文档拆分标记;
文档拆分模块,用于根据所述文档拆分标记对所述待拆分文档进行拆分。
其中,所述标记插入模块具体包括:
页面确定单元,用于将所述重排后的待拆分文档的第一个页面作为当前页面;
页面选取单元,用于从所述当前页面开始选取预设数量的页面;
寻找插入单元,用于若选取到的页面中存在强制拆分标记,则在所述强制拆分标记的位置插入文档拆分标记,将所述强制拆分标记所在页面的后一页面作为新的当前页面;若选取到的页面中不存在强制拆分标记,则从所述选取到的页面的后一页面开始寻找第一个辅助拆分标记,在寻找到的第一个辅助拆分标记的位置插入文档拆分标记,并将所述寻找到的第一个辅助拆分标记所在页面的后一页面作为新的当前页面。
其中,所述系统还包括:
标记判断模块,用于判断所述寻找到的第一个辅助拆分标记所在页面是否存在强制拆分标记,若是,则在所述第一个辅助拆分标记所在页面的强制拆分标记的位置插入文档拆分标记,将所述寻找到的第一个辅助拆分标记所在页面的后一页面作为新的当前页面。
其中,所述系统还包括:
序号添加模块,用于为所述重排后的待拆分文档中每个页面添加页面序号;
所述寻找插入单元,进一步用于根据所述页面序号从所述当前页面开始选取预设数量的页面。
其中,所述文档重排模块,进一步用于根据所述待拆分文档的显示区域尺寸和预设显示区域尺寸之间的区别对所述待拆分文档的文字字号按比例进行缩放,将缩放后的待拆分文档通过排版引擎进行重排。
本发明通过强制拆分标记和辅助拆分标记在重排后的待拆分文档中插入文档拆分标记,并根据所述文档拆分标记对所述待拆分文档进行拆分,达到了合理的文档拆分,避免了人工干预,并提高了文档的拆分效率。
附图说明
图1是本发明一种实施方式的文档拆分方法的流程图;
图2a是一般纸质的印刷版面第一页的示意图;
图2b是一般纸质的印刷版面第二页的示意图;
图2c是一般纸质的印刷版面第三页的示意图;
图2d是一般纸质的印刷版面第四页的示意图;
图3是本发明一种实施例的将两个印刷排版文档整合为一个待拆分文档的示意图;
图4a是本发明一种实施例中重排后的待拆分文档的第一页示意图;
图4b是本发明一种实施例中重排后的待拆分文档的第二页示意图;
图4c是本发明一种实施例中重排后的待拆分文档的第三页示意图;
图4d是本发明一种实施例中重排后的待拆分文档的第四页示意图;
图4e是本发明一种实施例中重排后的待拆分文档的第五页示意图;
图4f是本发明一种实施例中重排后的待拆分文档的第六页示意图;
图4g是本发明一种实施例中重排后的待拆分文档的第七页示意图;
图5是本发明一种实施方式的文档拆分系统的结构框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明一种实施方式的文档拆分方法的流程图;参照图1,所述方法包括:
S100:获取至少一个印刷排版文档,在每个印刷排版文档内的强制换页位置和文档的结尾位置插入强制拆分标记,在每个印刷排版文档的章、节或段落划分处插入辅助拆分标记,并将所述至少一个印刷排版文档整合成一个待拆分文档;
本步骤中,所述印刷排版文档的强制换页位置为印刷排版文档中具有强制换页符号的位置,例如:word文档中的强制换页符等。
S200:按照预设显示区域尺寸对所述待拆分文档进行重排;
S300:根据所述强制拆分标记和辅助拆分标记在重排后的待拆分文档中插入文档拆分标记;
S400:根据所述文档拆分标记对所述待拆分文档进行拆分。
为进一步提高文档被拆分的合理性,优选地,步骤S300具体包括:
S301:将所述重排后的待拆分文档的第一个页面作为当前页面;
S302:从所述当前页面开始选取预设数量的页面(所述预设数量为不小于1且不大于n的整数,所述n为重排后的待拆分文档的页面总数);
S303:若选取到的页面中存在强制拆分标记,则在所述强制拆分标记的位置插入文档拆分标记,将所述强制拆分标记所在页面的后一页面作为新的当前页面,执行步骤S302,直至所述重排后的待拆分文档的所有页面均被选取到,再执行步骤S400;
若选取到的页面中不存在强制拆分标记,则从所述选取到的页面的后一页面开始寻找第一个辅助拆分标记,在寻找到的第一个辅助拆分标记的位置插入文档拆分标记,并将所述寻找到的第一个辅助拆分标记所在页面的后一页面作为新的当前页面,执行步骤S302,直至所述重排后的待拆分文档的所有页面均被选取到,再执行步骤S400。
若步骤S303中寻找到的第一个辅助拆分标记所在页面还存在强制拆分标记,会导致在第一个辅助拆分标记处添加文档拆分标记后,在该页面中的强制拆分标记处又添加文档拆分标记,导致同一页面被拆分为两部分,从而影响阅读效果,为防止该情况的出现,优选地,步骤S303中,在寻找到的第一个辅助拆分标记的位置插入文档拆分标记之前,还包括:
判断所述寻找到的第一个辅助拆分标记所在页面是否存在强制拆分标记,若是,则在所述第一个辅助拆分标记所在页面的强制拆分标记的位置插入文档拆分标记,将所述寻找到的第一个辅助拆分标记所在页面的后一页面作为新的当前页面,直接执行步骤S302。
为便于选取页面,优选地,步骤S300之前,还包括:
为所述重排后的待拆分文档中每个页面添加页面序号;
步骤S302具体包括:
根据所述页面序号从所述当前页面开始选取预设数量的页面。
为保证重排的准确性,优选地,步骤S200具体包括:
根据所述待拆分文档的显示区域尺寸和预设显示区域尺寸之间的区别对所述待拆分文档的文字字号按比例进行缩放,将缩放后的待拆分文档通过排版引擎进行重排。
实施例
下面以两个印刷排版文档为例来说明本发明,但不限定本发明的保护范围。一般纸质的印刷版面示意图;参照图2a~2d;实施例的方法包括以下步骤:
(a1)、获取两个印刷排版文档,根据所述印刷排版文档在印刷版面的对应效果在每个印刷排版文档的结尾处插入强制拆分标记SplitA[i],i=1,2,3…,在每个印刷排版文档的段落划分处插入辅助拆分标记SplitB[j],j=1,2,3…,并将所述两个印刷排版文档整合成一个待拆分文档,参照图3;
(a2)、参照图4a~4g,根据所述待拆分文档的显示区域尺寸和预设显示区域尺寸(所述预设显示区域尺寸为电子设备版心的区域尺寸)之间的区别对所述待拆分文档的文字字号按比例进行缩放,将缩放后的待拆分文档通过排版引擎进行重排,本步骤无需考虑效果;
(a3)、为所述重排后的待拆分文档中每个页面的开始位置添加页面序号Page[v],v=1,2,3…n,所述n为重排后的待拆分文档的页面总数;
(a4)、将所述重排后的待拆分文档的第一个页面Page[0]作为当前页面;
(a5)、从所述当前页面开始选取预设数量K的页面,K为整数、K>=1且k<=n;
(a6)、从Page[w]至Page[w+K-1]查找强制拆分标记SplitA[J1];
(a7)、若步骤(a6)找到强制拆分标记SplitA[J1],则在该拆分标记SplitA[J1]的位置插入文档拆分标记Doc[I](I>=1),同时设定I=I+1,并设w=T+1,所述T为拆分标记SplitA[J1]所在页面的序号,返回步骤(a6),直至所述重排后的待拆分文档的所有页面均被选取到,再执行步骤(a12);
(a8)、若步骤(a6)未查找到强制拆分标记SplitA[J1],则从Page[i+K]点至Page[n]向后查找第一个辅助拆分标记SplitB[J2];
(a9)、判断所述第一个辅助拆分标记SplitB[J2]所在页面是否存在强制拆分标记,若是,则执行步骤(a11),否则执行步骤(a10);
(a10)、在所述第一个辅助拆分标记SplitB[J2]所在页面的强制拆分标记的位置插入文档拆分标记Doc[I](I>=1),同时设定I=I+1,并设w=C+1,所述C为拆分标记SplitB[J2]所在页面的序号,返回步骤(a6),直至所述重排后的待拆分文档的所有页面均被选取到,再执行步骤(a12);
(a11)、在所述第一个辅助拆分标记SplitB[J2]的位置插入文档拆分标记Doc[I](I>=1),同时设定I=I+1,并设w=C+1,所述C为拆分标记SplitB[J2]所在页面的序号,返回步骤(a6),直至所述重排后的待拆分文档的所有页面均被选取到,再执行步骤(a12);
(a12)、得到所有的文档拆分标记Doc[I],I=1,2,3..M(M为文档拆分标记的总数);
(a13)、以文档拆分标记Doc[I]为拆分点,将排版文档分拆为M+1个部分。
本发明还公开了一种文档拆分系统,参照图5,所述系统包括:
获取插入模块,用于获取至少一个印刷排版文档,在每个印刷排版文档内的强制换页位置和文档的结尾位置插入强制拆分标记,在每个印刷排版文档的章、节或段落划分处插入辅助拆分标记,并将所述至少一个印刷排版文档整合成一个待拆分文档;
文档重排模块,用于按照预设显示区域尺寸对所述待拆分文档进行重排;
标记插入模块,用于根据所述强制拆分标记和辅助拆分标记在重排后的待拆分文档中插入文档拆分标记;
文档拆分模块,用于根据所述文档拆分标记对所述待拆分文档进行拆分。
优选地,所述标记插入模块具体包括:
页面确定单元,用于将所述重排后的待拆分文档的第一个页面作为当前页面;
页面选取单元,用于从所述当前页面开始选取预设数量的页面;
寻找插入单元,用于若选取到的页面中存在强制拆分标记,则在所述强制拆分标记的位置插入文档拆分标记,将所述强制拆分标记所在页面的后一页面作为新的当前页面;若选取到的页面中不存在强制拆分标记,则从所述选取到的页面的后一页面开始寻找第一个辅助拆分标记,在寻找到的第一个辅助拆分标记的位置插入文档拆分标记,并将所述寻找到的第一个辅助拆分标记所在页面的后一页面作为新的当前页面。
优选地,所述系统还包括:
标记判断模块,用于判断所述寻找到的第一个辅助拆分标记所在页面是否存在强制拆分标记,若是,则在所述第一个辅助拆分标记所在页面的强制拆分标记的位置插入文档拆分标记,将所述寻找到的第一个辅助拆分标记所在页面的后一页面作为新的当前页面。
优选地,所述系统还包括:
序号添加模块,用于为所述重排后的待拆分文档中每个页面添加页面序号;
所述寻找插入单元,进一步用于根据所述页面序号从所述当前页面开始选取预设数量的页面。
优选地,所述文档重排模块,进一步用于根据所述待拆分文档的显示区域尺寸和预设显示区域尺寸之间的区别对所述待拆分文档的文字字号按比例进行缩放,将缩放后的待拆分文档通过排版引擎进行重排。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。