Epub电子书的生成方法
【技术领域】
[0001]本发明涉及电子书籍制作技术领域,具体涉及一种EPUB电子书的生成方法。
【背景技术】
[0002]随着移动互联网时代的到来,电子阅读逐渐成为一种趋势和潮流。愈来愈多的人通过它来获取信息和知识,对电子书的阅读效果也提出更高的要求。他们在关注内容的同时,也重视布局的合理、版式的美观、信息的直观表达和交互,来获得更愉悦、更舒适的阅读体验。
[0003]目前,很多软件可以生产出成品的电子书。它们通常采用下列两类方法:(一)固定版式的电子书。一般会选用roF、XPS、CEBX、DPUB等文件格式,将文档的排版结果,直接输出成版式的电子书。这种方法可以和纸质书一样,保留版面的布局和设计。其缺点是:在阅读器端的适应性较差,在屏幕大小不匹配时(如:竖屏排版的书籍在横屏显示、大屏排版的书籍在小屏显示等),内容很难自动调整;对动画、声音、视频等交互对象支持较差,也限制了信息的表达方式。(二)流式内容的电子书。一般会选用EPUB(ElectronicPublicat1n)、IBOOK等文件格式,将文档的内容,直接输出成流式的电子书。这种方法在阅读器端的适应性较好,在屏幕大小不匹配时,内容自动重排;对动画、声音、视频等交互对象也有较好支持。其缺点是:丢弃版面的布局和设计信息,适宜出版文学、科技等内容为主的电子书,不适宜出版烹饪、旅游、儿童等版式要求较高的电子书。
【发明内容】
[0004]针对现有技术中的缺陷,本发明提供一种EPUB电子书的生成方法,实现了在EPUB流式内容的基础上,增加富媒体元素的应用,使版面的交互性和动态感更强。
[0005]本发明提供了一种EPUB电子书生成方法,包括:
[0006]构建文档的内容流;
[0007]在所述内容流中插入标签,所述标签用于记录与所述内容流相关的信息;
[0008]将插入标签后的内容流输出成电子版EPUB文件。
[0009]可选的,所述构建文档的内容流,包括:
[0010]遍历文档中的每个页面,构建页面的内容流;
[0011 ] 将每个页面的内容流串接,构建文档的内容流。
[0012]可选的,所述标签包括版式标签、导航目标标签和富媒体元素标签。
[0013]可选的,所述在所述内容流中插入标签,包括:
[0014]根据所述文档的排版,在所述内容流中插入版式标签,用于记录所述内容流的版式信息;
[0015]根据所述文档页面内容的引用结构,在所述内容流中插入导航目标标签,用于记录所述内容流的导航目标信息;
[0016]根据所述文档的互动内容,在所述内容流中插入富媒体元素标签,用于记录所述内容流的富媒体元素信息。
[0017]可选的,所述根据所述文档的排版,在所述内容流中插入版式标签,用于记录所述内容流的版式信息,包括:
[0018]遍历文档中的每个页面,在所述每个页面内容流下插入页面版式标签,记录所述每个页面的布局信息;
[0019]遍历所述文档中的每个对象块,在所述每个对象块下插入版式标签,记录所述每个对象块的位置和尺寸信息;
[0020]遍历所述文档中的每个文字块,获取所述每个文字块的拆分位置,在所述每个文字块拆分位置处插入分块版式标签,记录所述每个文字块的分块信息;
[0021]遍历所述文字块中的每个分栏,获取所述每个分栏的拆分位置,在所述每个分栏拆分位置处插入分栏版式标签,记录所述每个分栏的位置和尺寸信息;
[0022]遍历所述分栏的每个文本行,获取所述每个文本行的行拆分位置,在所述每个文本行的行拆分位置处插入文本行版式标签,记录所述每个文本行的位置和尺寸信息;
[0023]遍历所述文本行中的每个字符,根据所述每个字符的位置和属性,构建包含多个连续字符的文本行内文本片段,并获取所述每个行内文本片段的拆分位置,在所述每个行内文本片段的拆分位置处插入文本行内文本片段的版式标签,记录所述每个文本行内文本片段的位置和尺寸信息。
[0024]可选的,所述根据所述文档页面内容的引用结构,在所述内容流中插入导航目标标签,用于记录所述内容流的导航目标信息,包括:
[0025]遍历所述文档中的每个页面,在所述每个页面的内容流下插入页面导航目标标签,记录所述每个页面的导航目标信息;
[0026]遍历所述文档中的每个段落,如果所述段落与所述目录级别相匹配,则在所述段落下插入目录导航目标标签,记录目录的导航目标信息;
[0027]遍历索引中的每个索引项,查找出与所述索引项对应的引用点,在所述引用点下插入索引导航目标标签,记录所述每个索引项的导航目标信息;
[0028]遍历引用结构中的每个引用项,查找出与所述引用项对应的引用点,在所述引用点下插入引用导航目标标签,记录所述每个引用项的导航目标信息。
[0029]可选的,所述记录所述内容流的导航目标信息,包括:
[0030]指定导航目标的对应引用结构的类别;
[0031]指定导航目标的对应引用项的级别;
[0032]指定导航目标的对应引用项的ID ;
[0033]指定导航目标的对应引用项的标题。
[0034]可选的,所述根据所述文档的互动内容,在所述内容流中插入富媒体元素标签,用于记录所述内容流的富媒体元素信息,包括:
[0035]遍历所述文档中的互动内容;
[0036]根据所述互动内容的类别和属性,选择与所述互动内容对应的富媒体元素;
[0037]在所述互动内容下插入与所述互动内容对应的富媒体元素,记录所述富媒体元素的应用信息。
[0038]可选的,所述将插入标签后的内容流输出成电子版EPUB文件,包括:
[0039]遍历所述文档中每个页面的内容流,对所述每个页面的内容流构建HTML片段文件;
[0040]遍历所述文档中每个引用结构,为引用项以及所述HTML片段文件中的导航目标标签之间建立链接,构建导航片段文件;
[0041]将所述HTML片段文件与所述导航片段文件合并输出成EPUB文件。
[0042]可选的,所述对所述每个页面的内容流构建HTML片段文件,包括:
[0043]对所述每个页面的内容流,构建中间页面结构;
[0044]对所述每个中间页面结构,构建HTML片段文件。
[0045]由上述技术方案可知,本发明提供了一种EPUB电子书生成方法,该方法在EPUB流式内容的基础上,保留了页面布局、设计等版式信息,增加富媒体元素的应用,使版面的交互性和动态感更强,能够更好地适应多种移动客户端、阅读器,并呈现出丰富多彩的版面效果。
【附图说明】
[0046]图1为本发明一实施例提供的一种EPUB电子书生成方法的流程图;
[0047]图2为本发明一实施例提供的横屏的儿童电子书的页面排版示意图;
[0048]图3为本发明一实施例提供的儿童电子书在横屏上呈现的效果示意图;
[0049]图4为本发明一实施例提供的儿童电子书在竖屏上呈现的效果示意图。
【具体实施方式】
[0050]下面结合附图,对发明的【具体实施方式】作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0051]图1示出了本实施例提供的一种EPUB电子书生成方法的流程图,如图1所示,该方法包括以下步骤:
[0052]101、构建文档的内容流。
[0053]举例来说,上述步骤包括图1中未示出的子步骤:
[0054]1011、遍历文档中的每个页面,构建页面的内容流;
[0055]1012、将每个页面的内容流串接,构建文档的内容流。
[0056]102、在所述内容流中插入标签,所述标签用于记录与所述内容流相关的信息。
[0057]举例来说,上述标签包括版式标签、导航目标标签和富媒体元素标签。
[0058]具体的,上述步骤102还包括图1中未示出的子步骤:
[0059]1021、根据所述文档的排版,在所述内容流中插入版式标签,用于记录所述内容流的版式信息;
[0060