公开/公告号CN104699714A
专利类型发明专利
公开/公告日2015-06-10
原文格式PDF
申请/专利号CN201310662481.8
申请日2013-12-09
分类号G06F17/30(20060101);
代理机构11112 北京天昊联合知识产权代理有限公司;
代理人罗建民;邓伯英
地址 100871 北京市海淀区成府路298号中关村方正大厦5层
入库时间 2023-12-18 09:18:47
法律状态公告日
法律状态信息
法律状态
2017-10-20
授权
授权
2015-07-08
实质审查的生效 IPC(主分类):G06F17/30 申请日:20131209
实质审查的生效
2015-06-10
公开
公开
技术领域
本发明涉及计算机排版技术领域,具体涉及一种将书版格式文件转换为EPUB格式文件的方法及装置。
背景技术
随着数字出版和移动阅读技术的迅速发展,能够自适应终端屏幕大小的EPUB(Electronic Publication,电子出版)格式电子书(e-book)日趋流行,但出版社出版的大量书籍都是采用书版格式排版的,无法直接应用于终端中,因此,将书版格式文件加工制作成EPUB格式电子书的需求越来越强烈。所述书版指的是方正书版排版软件,适用于期刊、一般图书、辞书、典籍、科技类和文艺类书刊等的排版。
目前,将书版格式文件转换为EPUB格式电子书的常用方法是:先将书版格式文件导出形成TXT文档,或者导出形成PDF文档,再将导出的TXT文档或PDF文档通过工具或者代码加工成EPUB格式电子书,这种方法的加工过程繁杂,内容损失多,而且还需要大量人工参与。导致上述情况出现的根本原因在于,现有技术无法很好地解析书版小样文件,因此,即使能够得到书版格式文件,也没有一套便捷、合理的流程将书版格式文件进行有效组织而形成EPUB格式电子书,因而也就更谈不上在终端上正确呈现了。
发明内容
本发明所要解决的技术问题是针对现有技术中所存在的上述缺陷,提供一种能够很好地解析小样文件,且加工过程简单、内容差错率小、自动化程度高的将书版格式文件转换为EPUB格式文件的方法及装置。
解决本发明技术问题所采用的技术方案:
所述将书版格式文件转换为EPUB格式文件的方法包括如下步骤:
1)指定书版格式文件的存储目录,检测所述存储目录下的书版格式文件是否出现错误或缺失;
2)将所述书版格式文件及其检测结果以固定的目录结构进行存储,以打包形成资源包;
3)对所述资源包进行分析和结构化处理,并形成包含样式和内容的结构化逻辑树;
4)提取所述结构化逻辑树的内容,对其进行格式化处理并套用层叠样式表,以生成HTML文件;
5)将步骤1)~4)得到的数据和文件按照EPUB标准规范进行打包输出,以形成EPUB格式文件。
优选地,所述书版格式文件包括:
小样文件,以及小样文件中标题设置信息、大样文件、图片文件、补字文件、外挂字体文件中的至少一种。
优选地,在所述步骤1)中,检测所述书版格式文件是否出现错误或缺失包括:对所述小样文件中的注解进行语法检查,以及对所述小样文件进行预飞处理;
所述步骤1)还包括:
在检测到书版格式文件出现错误和/或缺失时,提示用户。
优选地,在所述步骤3)中,对所述资源包进行分析和结构化处理具体为:
31)对所述小样文件进行规格化处理,包括编码转换、转义字符处理、注解风格和美观处理、外挂字体别名定义注解和自定义注解;
32)提取所述小样文件中的素材,将所述小样文件中的图片、表格和数学公式转换成低精度图;
33)对所述小样文件中标题定义注解进行深度解析。
优选地,在所述步骤3)中,形成包含样式和内容的结构化逻辑树具体为:
逐个扫描分析所述资源包中小样文件的注解,并按照段落对所述注解进行组织,以形成多个段落,将各个段落中每两个段落符号之间相同格式的内容提取出来作为一个格式片段,且每个段落均对应一个或多个格式片段,所述格式片段中包含其对应提取内容的排版格式信息,将小样文件中的所有注解处理完后就形成所述包含样式和内容的结构化逻辑树。
优选地,在所述步骤4)中,使层叠样式表的样式定义和结构化逻辑树的标签定义的规则相匹配。
本发明还提供一种将书版格式文件转换为EPUB格式文件的装置,其特征在于,包括:指定单元、检测单元、存储单元、第一处理单元、第二处理单元和输出单元;
所述指定单元用于指定书版格式文件的存储目录;
所述检测单元用于检测所述存储目录下的书版格式文件是否出现错误或缺失;
所述存储单元用于将所述书版格式文件及其检测结果以固定的目录结构进行存储,以打包形成资源包;
所述第一处理单元用于对所述资源包进行分析和结构化处理,并形成包含样式和内容的结构化逻辑树;
所述第二处理单元用于提取所述结构化逻辑树的内容,对其进行格式化处理并套用层叠样式表,以生成HTML文件;
所述输出单元用于将检测单元、存储单元、第一处理单元和第二处理单元形成的数据和文件按照EPUB标准规范进行打包输出,以形成EPUB格式文件。
优选地,所述书版格式文件包括:
小样文件,以及小样文件中标题设置信息、大样文件、图片文件、补字文件、外挂字体文件中的至少一种。
优选地,所述检测单元具体用于,对所述小样文件中的注解进行语法检查,以及对所述小样文件进行预飞处理;
所述检测单元还用于,在检测到书版格式文件出现错误和/或缺失时,提示用户。
优选地,所述第一处理单元具体用于,
对所述小样文件进行规格化处理,包括编码转换、转义字符处理、注解风格和美观处理、外挂字体别名定义注解和自定义注解;
提取所述小样文件中的素材,将所述小样文件中的图片、表格和数学公式转换成低精度图;
对所述小样文件中标题定义注解进行深度解析。
优选地,所述第一处理单元具体用于,
逐个扫描分析所述资源包中小样文件的注解,并按照段落对所述注解进行组织,以形成多个段落,将各个段落中每两个段落符号之间相同格式的内容提取出来作为一个格式片段,且每个段落均对应一个或多个格式片段,所述格式片段中包含其对应提取内容的排版格式信息,将小样文件中的所有注解处理完后就形成所述包含样式和内容的结构化逻辑树。
优选地,所述第二处理单元还用于,使层叠样式表的样式定义和结构化逻辑树的标签定义的规则相匹配。
有益效果:
本发明所述将书版格式文件转换为EPUB格式文件的方法及装置,通过解析和结构化处理包括小样文件的书版格式文件,以简单、合理的方式将书版格式文件转换为EPUB格式文件(即EPUB格式电子书),并且能够一步完成从书版格式文件到EPUB格式文件的转换,加工过程简单,自动化程度高,内容差错率小,极大提高了加工效率,因而解决了现有技术中将书版格式文件通过工具或者代码加工成EPUB格式电子书时加工过程繁杂,内容损失多,和人工干预过多的问题。
附图说明
图1为本发明实施例1中将书版格式文件转换为EPUB格式文件的方法流程图;
图2为图1中步骤s102所述目录的结构示意图;
图3为图1中步骤s103所述结构化逻辑树的示意图;
图4为本发明实施例2中将书版格式文件转换为EPUB格式文件的装置结构图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和实施例对本发明所述将书版格式文件转换为EPUB格式文件的方法及装置作进一步详细描述。
实施例1:
如图1所示,本实施例提供一种将书版格式文件转换为EPUB格式文件的方法,包括如下步骤:
s101.指定书版格式文件的存储目录,检测所述存储目录下的书版格式文件是否出现错误或缺失。
优选地,所述书版格式文件包括:小样文件,以及小样文件中标题设置信息、大样文件、图片文件、补字文件、外挂字体文件中的至少一种。其中,根据小样文件中标题设置信息可以形成图书目录,以及形成图书内容中的各级标题。
由于任意一本书籍最终形成的书版格式文件并不是单一的文件,其包括一个或多个.fbd文件(即小样文件),还可能包括一个后缀名为.pro的文件(其包括小样中标题设置信息等)、图片文件、补字文件、外挂字体文件等,这些文件(即书版格式文件)可能不在同一个目录中,甚至可能不在同一台机器上,因此需要预先指定书版格式文件的存储目录,根据所述存储目录就可以找到书版格式文件,从而对其进行检测。
本实施例中,所述小样文件指的是,包含BD排版语言注解的文本文件,而BD排版语言注解由各种排版注解构成,故小样文件也指排版前加有排版注解的录入文件,所述排版注解指的是书版格式文件的排法说明。小样文件的扩展名固定为“fbd”。
所述大样文件是排版的中间结果文件,主要供排版时显示和输出用,这样可以非常方便地预览排版后的结果是否有误,同时极大地提高了排版的工作质量和效率;小样文件通过排版与扫描将自动生成大样文件。
所述补字文件指的是,用户根据实际需求将现有字库中不包括的冷僻字的字形补入现有字库的用户自定义区中,即形成补字文件。
所述外挂字体文件指的是,除在书版安装时安装的字体文件以外的其它字体文件。书版安装时一般只会安装几套字体文件供用户排版使用,其它字体文件在书版中都属于外挂字体文件。
优选地,检测所述书版格式文件是否出现错误或缺失包括:对所述小样文件中的注解进行语法检查,和对所述小样文件进行预飞处理,以检测所述书版格式文件的合法性和完整性。其中,所述预飞处理指的是,对小样文件中的字体、图像、颜色、对象等进行检查,以自动排查错误,显示可能出错的地方,还可生成预飞报告,供用户查阅,以防止后续形成EPUB格式文件时出错,从而能提高转换效率。
优选地,所述步骤s101还包括:在检测到所述书版格式文件出现错误和/或缺失时,提示用户。
具体地,本实施例中,首先需要在操作界面中指定书版格式文件的存储目录,然后检测该存储目录下的书版格式文件是否出现错误或缺失,即检测其合法性和完整性,包括逐个扫描小样文件中的注解,并对小样文件中的注解进行语法检查(可称为一扫语法检测),以及对小样文件进行预飞处理,并在检测到书版格式文件出现错误和/或缺失时提示用户,因此提高了书版格式文件转换为EPUB格式文件的准确率,避免了因原始文件(即书版格式文件)中的图片文件、补字文件等的缺失而导致最后生成的EPUB格式文件无法在终端上阅读的情况发生。
s102.将所述书版格式文件及其检测结果以固定的目录结构进行存储,以打包形成资源包(即形成BDX数据包,BDX为所述资源包的扩展名)。所述目录的结构如图2所示,其中,packinfo.xml即书版格式文件的索引信息,source目录中分类存放各种文件。
由于书版格式文件可能不在同一个目录中,甚至可能不在同一台机器上,程序处理起来很困难,因此,为了后续程序处理方便,不管书版格式文件原来以何种目录结构进行存储,都要经过打包处理,统一为一种固定的目录结构,这样,后续程序只需针对这一种目录结构进行处理即可,使得后续程序的处理过程简单、明了。其中,所述打包指的是,将书版格式文件收集到同一个目录中。
s103.对所述资源包进行分析和结构化处理,并形成包含样式和内容的结构化逻辑树。所述结构化逻辑树为BDXML文件。所述BDXML是指对所述资源包中的小样文件进行结构化处理后形成的Xml文件,其包含了小样文件中所有的信息,但不是包含原来的排版注解,而是包含该排版注解经过处理后形成的结构化信息。
优选地,对所述资源包进行分析和结构化处理具体为:
s103-1.对小样文件进行规格化处理,包括编码转换、转义字符处理、注解风格和美观处理、外挂字体别名定义注解(即KD注解)和自定义注解(即ZD注解)。
由于现有的书版排版软件有许多版本,之前的版本的部分字符编码和最新版本有些不同,为保证最终显示效果,需要对编码进行转换,即,由低版本转换到高版本。
s103-2.提取小样文件中的素材,将小样文件中的图片、表格和数学公式转换成低精度图。
s103-3.对小样文件中标题定义注解(即BD注解)进行深度解析。
优选地,形成包含样式和内容的结构化逻辑树具体为:
在BDX数据包生成之后,逐个扫描分析BDX数据包中小样文件的注解,并按照段落(Para)对所述注解进行组织,以形成多个段落,将各个段落中每两个段落符号之间相同格式的内容(content)提取出来作为一个格式片段(Range),且每个段落均对应一个或多个格式片段,所述格式片段中包含其对应提取内容的排版格式信息(style),将小样文件中的所有注解处理完后就形成如图3所示的包含样式和内容的结构化逻辑树(LogicTree),并保存为BDXML文件。在图3中,LogicDoc表示结构化逻辑树文件,Para表示小样文件中注解的各个段落,content表示各个段落中每两个段落符号之间相同格式的内容,Range表示与每个段落对应的格式片段,style表示各个格式片段对应提取内容的排版格式信息。
s104.提取所述结构化逻辑树的内容,对其进行格式化处理并套用层叠样式表,以生成HTML文件。
所述层叠样式表(CCS,Cascading Style Sheet)是一种设计文档或网页样式的工具,利用层叠样式表可以控制文档或网页的文本格式和外观,例如可对文档或网页中的字体、字号、颜色、表格和页面布局等属性进行统一的设置。
优选地,使层叠样式表的样式定义和结构化逻辑树的标签定义的规则相匹配。
具体地,新建一个HTML文件,将一个段落中提取的内容(即格式片段)写入HTML文件中body下的一个<p class="BT1">XXXX。</p>,其中,BT1是所述段落的注解名,当处理到下一个一级目录注解时,再新建一个HTML文件,继续处理下个段落的内容,直至处理完所有段落的内容,从而生成多个HTML文件,将生成的所有HTML文件保存在以书籍命名的文件夹下的OPS子文件下,同时,一级目录的内容写入OPS文件下的content.opf文件(用于记录epub元数据信息及html、css等文件的索引信息等内容)中,其格式为:
<item id="Chapter001"href="Chapter001.html"
media-type="application/xhtml+xml"/>
其中,Chapter001是第一个HTML文件的名字。
另外,系统会提取结构化逻辑树的元数据内容,并按照EPUB元数据定义规范也写入OPF文件中。
当结构化逻辑树的内容都处理完毕之后,系统会将层叠样式表存入OPScss文件夹下,命名为main.css,并要求层叠样式表的样式定义必须与结构化逻辑树的标签定义的规则相匹配,也即,符合HTML样式定义的标准规范。而且,每个需要设置的样式名称必须和注解名一致,以完成系统自动匹配和加载样式。此处系统将设置为交互界面,用户在处理完毕后,可以指定所套用的样式文件。同时,交互界面中会显示系统已经提取的元数据信息,用户可以在交互界面中修改或补充元数据信息,填写完成保存之后,元数据信息按照EPUB的标准规范写入到OPF文件中。
s105.将步骤s101~s104得到的数据和文件按照EPUB标准规范进行打包输出,以形成EPUB格式文件。
具体地,系统自动将以上文件(BDX数据包、结构化逻辑树、层叠样式表、HTML文件、epub元数据信息、html和css等文件的索引信息、以及epub目录信息等)按照EPUB的文件结构目录分别保存,并打包,形成以书籍名.epub的文件,至此,EPUB格式文件的转换和制作完毕。
可见,本实施例所述将书版格式文件转换为EPUB格式文件的方法能够很好地解析小样文件,且加工过程简单、内容差错率小、自动化程度高。
实施例2:
如图4所示,本实施例提供一种将书版格式文件转换为EPUB格式文件的装置,包括:指定单元、检测单元、存储单元、第一处理单元、第二处理单元和输出单元。本实施例中,所述书版格式文件包括:小样文件,以及小样文件中标题设置信息、大样文件、图片文件、补字文件、外挂字体文件中的至少一种。
其中,所述指定单元用于指定书版格式文件的存储目录;
所述检测单元用于检测所述存储目录下的书版格式文件是否出现错误或缺失。
具体地,所述检测单元用于对所述小样文件中的注解进行语法检查,以及对所述小样文件进行预飞处理;还可在检测到书版格式文件出现错误和/或缺失时,提示用户。
所述存储单元用于将所述书版格式文件及其检测结果以固定的目录结构进行存储,以打包形成资源包。
所述第一处理单元用于对所述资源包进行分析和结构化处理,并形成包含样式和内容的结构化逻辑树。
所述第一处理单元对所述资源包进行分析和结构化处理指的是:对所述小样文件进行规格化处理,包括编码转换、转义字符处理、注解风格和美观处理、外挂字体别名定义注解和自定义注解;提取所述小样文件中的素材,将所述小样文件中的图片、表格和数学公式转换成低精度图;对所述小样文件中标题定义注解进行深度解析。
具体地,所述第一处理单元逐个扫描分析所述资源包中小样文件的注解,并按照段落对所述注解进行组织,以形成多个段落,将各个段落中每两个段落符号之间相同格式的内容提取出来作为一个格式片段,且每个段落均对应一个或多个格式片段,所述格式片段中包含其对应提取内容的排版格式信息,将小样文件中的所有注解处理完后就形成所述包含样式和内容的结构化逻辑树。
所述第二处理单元用于提取所述结构化逻辑树的内容,对其进行格式化处理并套用层叠样式表,以生成HTML文件;还用于使层叠样式表的样式定义和结构化逻辑树的标签定义的规则相匹配。
所述输出单元用于将检测单元、存储单元、第一处理单元和第二处理单元形成的数据和文件按照EPUB标准规范进行打包输出,以形成EPUB格式文件。
可见,本实施例所述将书版格式文件转换为EPUB格式文件的装置能够很好地解析小样文件,且加工过程简单、内容差错率小、自动化程度高。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
机译: 用于将雏菊格式文件转换为数字流媒体文件的方法和装置
机译: 将便携式文档格式文件转换为brarille的方法和系统
机译: 用于将格式文件转换为网页的系统和方法