文档目录处理方法和装置
技术领域
本发明涉及数字排版领域,具体而言,涉及文档目录处理方法和装置。
背景技术
常用的书版排版软件例如方正书版排版软件是一个流式处理排版软件,目前最新的版本为书版2008版,它采用BD注解描述排版内容的格式和样式,通过二扫解析、排版内容,形成页面描述文件展现排版结果,具有排版速度快、效率高、排版标准等特点,适合各类教材、教辅、辞书、公文排版,在各个出版社、排版中心和数字加工中心得到了广泛的使用,其排版结果已经成为出版行业的排版标准。
随着信息化建设的加速,越来越多的出版社开始重视原始资源的多介质形式发布。目前国内出版社多数是以书版软件作为主要排版软件,因此都保留着大量的书版文件,出版社除了传统的纸质印刷之外,还输出成PDF(Portable Document Format,便携文档格式)文件,以实现网络营销。
书版文件可以以书版小样文件的形式存在,书版小样文件是指包含书版软件规定的BD语言注解信息的文本文件,这些BD注解描述了后续小样内容的排版属性和排版格式,暗藏着小样的章节目录。
目前书版小样文件输出的PDF文件是没有章节目录书签的,用户在浏览这些PDF文件时需要手动翻转到指定的页进行阅读,当PDF文件比较大时,翻转很不方便。为了解决这个问题,目前采用的方法是在书版小样文件输出成PDF文件后,在PDF文件中手动添加章节目录书签:首先通过人工查看PDF文件,找出所有的章节目录内容和所有的页号;其次再把这些章节目录内容及页号信息作为书签嵌入到PDF文件中。这种操作效率较低,工作量较大,而且较易出错。
发明内容
本发明旨在提供一种文档目录处理方法和装置,以解决现有技术目录处理效率较低的问题。
在本发明的实施例中,提供了一种文档目录处理方法,包括:将书版小样文件转换成XML文件;从XML文件中获取文档目录;将文档目录嵌入到由书版小样文件生成的PDF文件中。其中,将书版小样文件转换成XML文件包括:在由所述书版小样文件进行二扫排版生成书版大样文件的过程中,每生成一页大样内容,将其页号及其内容对应于所述书版小样文件中的起始、终止位置记录到临时文件中;根据所述书版小样文件的注解,将所述书版小样文件的内容分成多个段;确定每段内容在所述书版小样文件中的先后顺序;确定每段内容中所用到的字体、字号及其作用范围;根据所述临时文件,确定每段内容所在的页号;将以上确定内容写入所述XML文件。
在本发明的实施例中,提供了一种文档目录处理装置,包括:转换模块,用于将书版小样文件转换成XML文件;获取模块,用于从XML文件中获取文档目录;嵌入模块,用于将文档目录嵌入到由书版小样文件生成的PDF文件中。其中,所述转换模块包括:临时记录模块,用于在由所述书版小样文件进行二扫排版生成书版大样文件的过程中,每生成一页大样内容,将其页号及其内容对应于所述书版小样文件中的起始、终止位置记录到临时文件中;分段模块,用于根据所述书版小样文件的注解,将所述书版小样文件的内容分成多个段;顺序模块,用于确定每段内容在所述书版小样文件中的先后顺序;字体字号模块,用于确定每段内容中所用到的字体、字号及其作用范围;页号模块,用于根据所述临时文件,确定每段内容所在的页号;写入模块,用于将以上确定内容写入所述XML文件。
本发明实施例的文档目录处理方法和装置,因为采用XML文件来获取文档目录,所以克服了现有技术目录处理效率较低的问题,达到了提高目录处理效率的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明实施例的文档目录处理方法的流程图;
图2示出了根据本发明实施例的文档目录处理装置的示意图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图1示出了根据本发明实施例的文档目录处理方法的流程图,包括:
步骤S10,将书版小样文件转换成XML文件;
步骤S20,从XML文件中获取文档目录;
步骤S30,将文档目录嵌入到由书版小样文件生成的PDF文件中。
现有技术因为无法从书版小样文件中直接确定文档目录,所以只能通过人工方式向PDF文件中添加文档目录。而本实施例利用XML文件可以记录书版小样文件的结构化信息的特点,从XML文件中获取目录信息,从而自动向PDF文件添加文档目录,这提高了生成文档目录的效率,而且能减少差错。
优选地,步骤S10包括:
在由书版小样文件进行二扫排版生成书版大样文件的过程中,每生成一页大样内容,将其页号及其内容对应于书版小样文件中的起始、终止位置记录到临时文件中;
根据书版小样文件的注解,将书版小样文件的内容分成多个段;
确定每段内容在书版小样文件中的先后顺序;
确定每段内容中所用到的字体、字号及其作用范围;
根据临时文件,确定每段内容所在的页号;
将以上确定内容写入XML文件。
书版软件采用BD语言编写的书版小样文件不是纯文本文件,其中除了文本内容,还包含各种注解。本优选实施例利用这些注解分析排版信息,从而可以记录到XML文件中。
具体来说,步骤S10包括:对小样进行排版处理,依次输出书版大样文件和PDF文件,并且在生成书版大样文件过程(例如进行二扫排版)中,每生成一页大样内容,记录该大样页内容对应于书版小样文件中起始、终止位置及页号信息,当输出完所有小样内容后,把这些信息记录到一个临时文件中。首先对书版小样文件注解进行分析,根据各个注解排版属性、注解最终排版效果是否独立成段、注解作用范围及它在书版小样文件中的位置,对小样内容进行切分,形成一段段内容;其次完成对整个小样的分析后,依据每段内容在书版小样文件中的先后顺序,把所有切分出来的段按顺序组织起来;再次对每段内容中所用到的字体、字号注解进行解析处理,提取出本段内容所用到的所有字体和字号属性及它的作用范围;再次根据生成的内容与页号关系临时文件,按顺序与切分出来的每段内容进行比较,确定每段内容排版所在的页;最后把经过上述加工操作后的内容输出出来,形成小样结构化的逻辑XML文件。
优选地,步骤S20包括:预先创建匹配规则;对XML文件运行匹配规则,以获取文档目录。该匹配规则可以是正则表达式。本优选实施例很容易通过计算机编程来实现。
优选地,预先创建匹配规则包括以下至少之一:将书版小样文件中的标题注解加入到匹配规则中;规定字体和字号组合表示章节标题;规定序号表示章节标题;接受用户自定义。章节标题通常具有与其他段落内容不同的排版格式或者特定的内容,具体来说,可以包括以下几步:
1、提供一个匹配规则设置工具,在通过此工具进行规则设置时,如果书版小样文件中包含了标题注解,即书版小样文件中已经指明了哪些内容排版成章节内容,则在该匹配规则设置界面中默认增加“大纲提取”规则,它表示把书版小样文件中标题注解内容提取成章节内容。
2、在匹配规则设置工具中还提供其它三种章节提取规则供用户选择,分别是一:字体、字号提取规则;二:序号提取规则;三:自定义提取规则;这三种规则概括了目前书籍出版物所有通用的章节目录排版方式。
1)字体、字号提取规则:指出什么样的字体和字号组合表示第几级章节标题,比如用户小样常采用一号黑体表示一级章节,即篇;二号黑体表示二级章节,即章;三号宋体表示三级章节,即节等等。
2)序号提取规则:有些小样采用诸如“一”、“二”、“三”或“一、”、“二、”、“三、”或“(一)”、“(二)”、“(三)”等等序号方式表示章节,通过设置各种序号方式对应的章节级别对小样进行章节目录进行提取。
3)自定义提取规则:有些小样采用诸如“第一章XXX”、“第二章XXX”或“第一节XXX”、“第二节XXX”或“章一:XXX”、“章二:XXX”等等方式表示章节,通过用户自定义规则,描述出各种类型章节组合提取规则对小样章节目录进行提取。
在设置好匹配规则后,设置工具会输出形成匹配规则文件,用户还可以利用设置工具再打开该匹配规则文件,对上次设置的规则进行修改、完善。
接下来,从逻辑XML文件中按顺序一段段读取出每段内容及其属性。
取一段内容,利用匹配规则文件中每条章节目录提取规则按顺序一条条进行匹配,如果满足其中一条章节提取规则,则把该段内容作为章节目录内容提取出来,并记录下该段内容在PDF文件中的页号,同时终止该段的章节目录提取过程。
循环读取下一段内容,重复执行上述匹配步骤,对每段内容进行章节目录匹配、提取,直到读取完所有段内容。
把所有提取出来的章节目录内容及其页号信息按目录层次结构输出成小样章节目录XML文件,完成小样章节目录提取过程。
优选地,步骤S30包括:将提取的文档目录的章节目录内容、层次结构和页号按照书签格式嵌入到PDF文件中。PDF文件提供了书签格式用于插入文档目录,本优选实施例与现有的PDF软件保持一致。具体来说,在本步骤中,可以利用生成的小样章节目录XML文件和由书版小样文件生成的PDF文件进行合并,把小样章节目录XML文件中章节目录内容、层次结构和页号信息按照PDF文件书签格式嵌入到PDF文件中,完成PDF文件书签添加过程。用户通过点击书签,可以自动跳转到该章节所在的页上进行浏览。同时,通过不同的、详细的匹配规则设置,提取出不同层次级别或详细级别的章节目录信息,并嵌入到小样生成的PDF文件中形成不同要求或形式的书签,从而实现在书版小样文件输出PDF时动态添加章节目录。
本发明的优选实施例通过PDF文件输出、小样结构化加工、章节目录匹配规则设置、提取加工过程,可以提取出书版小样文件中完整的章节目录内容及其层次结构、页号,并通过自动嵌入到小样输出的PDF文件中实现动态生成PDF章节目录书签过程。同时,本发明优选实施例中,用户可设置章节目录内容提取规则,可以实现不同级别、层次结构的章节目录提取,实现根据不同需要动态生成不同要求的PDF文件章节目录书签。
图2示出了根据本发明实施例的文档目录处理装置的示意图,包括:
转换模块10,用于将书版小样文件转换成XML文件;
获取模块20,用于从XML文件中获取文档目录;
嵌入模块30,用于将文档目录嵌入到由书版小样文件生成的PDF文件中。
本装置提高了生成文档目录的效率,而且能减少差错。
优选地,转换模块10包括:
临时记录模块,用于在由书版小样文件进行二扫排版生成书版大样文件的过程中,每生成一页大样内容,将其页号及其内容对应于书版小样文件中的起始、终止位置记录到临时文件中;
分段模块,用于根据书版小样文件的注解,将书版小样文件的内容分成多个段;
顺序模块,用于确定每段内容在书版小样文件中的先后顺序;
字体字号模块,用于确定每段内容中所用到的字体、字号及其作用范围;
页号模块,用于根据临时文件,确定每段内容所在的页号;
写入模块,用于将以上确定内容写入XML文件。
本优选实施例通过分析书版小样文件的注解得到书版小样文件的结构化信息。
优选地,获取模块20用于对XML文件运行预先创建的匹配规则,以获取文档目录。本优选实施例很容易通过计算机编程来实现。
优选地,预先创建匹配规则包括以下至少之一:将书版小样文件中的标题注解加入到匹配规则中;规定字体和字号组合表示章节标题;规定序号表示章节标题;接受用户自定义。利用这些丰富的规则,可以很灵活地从XML文件中获取文档目录。
优选地,嵌入模块30将提取的文档目录的章节目录内容、层次结构和页号按照书签格式嵌入到PDF文件中。本优选实施例实现了对PDF文件加入文档目录。
从以上的描述中可以看出,通过本发明实施例提供的方案,快速、高效、准确、自动地实现了输出PDF时动态添加章节目录书签,特别是当书版小样文件中已经明确使用了标题注解指明了哪些内容为章节目录内容时,整个处理过程不需要人工干预。同时由于章节目录内容的提取自动完成,而且能自动定位到该章节目录在PDF文件中的页号,可以保证章节目录内容的正确性,减少了人工手动添加时的错误。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。