本发明专利技术公开了一种ePub电子书的加载方法和系统,方法包括:解析用户选择的ePub电子书,得到所述ePub电子书的目录信息和对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息;解析用户选择的所述ePub电子书的目录,获取所述目录对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息,并进行渲染和向用户显示所述渲染完成的章节内容。本发明专利技术支持文字与图片、音频、视频等多媒体资源的混排。且由于每次只取一个用户指定的正文进行解析,而不会将整本书的内容全都加载到内存中,因此大大减少内存负荷。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种ePub电子书的加载方法和系统,方法包括:解析用户选择的ePub电子书,得到所述ePub电子书的目录信息和对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息;解析用户选择的所述ePub电子书的目录,获取所述目录对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息,并进行渲染和向用户显示所述渲染完成的章节内容。本专利技术支持文字与图片、音频、视频等多媒体资源的混排。且由于每次只取一个用户指定的正文进行解析,而不会将整本书的内容全都加载到内存中,因此大大减少内存负荷。【专利说明】—种ePub电子书的加载方法和系统
本专利技术属于移动阅读领域,涉及一种ePub格式的图书文件的加载方法及系统。
技术介绍
现有的关于ePub电子书解析一般做在浏览器中。对于传统PC,由于屏幕比较大,因此通过浏览器用鼠标或键盘拖滚动条来阅读已经成为习惯。然而对于手机而言,屏幕相对较小,因此,让用户通过滚动条阅读明显很不友好。另外,浏览器的样式也不适合手机端的阅读,由于很多文字可能需要向左右方向拖动才能看到,这使得阅读体验大幅降低。目前,手机端良好的阅读体验就是通过用户自己翻页来阅读更多内容,既不上下滚动,更不左右滚动。而且用户根据自己情况可自由调整行间距以及字体大小。这就需要手机设备端的ePub解析引擎需要迎合自己写的电子书渲染引擎进行配合解析。目前市面上也存在一些自己实现的ePub渲染引擎,但是大部分都是直接移植于原本浏览器上的插件实现代码,因此程序体积庞大笨重,而且在手机上也是加载速度缓慢,很多也都不支持字体调整以及行间距的调整。现有不少手机端的ePub渲染引擎的通病有:1、实现体积庞大,解析速度慢。2、有些有字体调整功能的,每次调整字体需要等很长时间,由于这些实现把整个电子书的内容全都加入到内存中然后依次做字体调整处理,而没有做分章处理。3、几乎所有手机端现有实现都不支持图文混排模式以及多媒体播放功能。
技术实现思路
本专利技术所要解决的技术问题是提供一种ePub格式的图书文件的解析方法及系统。本专利技术解决上述技术问题所采取的技术方案如下:一种ePub电子书的加载方法,包括:解析用户选择的ePub电子书,得到所述ePub电子书的目录信息和对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息;解析用户选择的所述ePub电子书的目录;获取所述目录对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息,并进行渲染和向用户显示所述渲染完成的章节内容。优选的是,解析用户选择的ePub电子书,得到所述ePub电子书的目录信息和对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息,包括:对ePub电子书中的content, opf文件进行解析,获取对应的电子书的书名、作者以及整本书的其他介绍信息;获取到所述对应的电子书的正文文件,并对正文文件进行解析获取到对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息;获取所述对应的电子书对应的NCX文件,并对其进行解析以得到所述电子书的目录/[目息。优选的是,进一步包括:将所述正文的文字信息和/或多媒体索引信息作为一个单独的线性列表进行保存;和/或,将所述多媒体资源文件名信息也作为一个单独的线性列表进行保存。优选的是,获取所述目录对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息,并进行渲染和向用户显示所述渲染完成的章节内容,包括:获取所述目录对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息,将所述文字信息和/或多媒体索引信息进行分页并向用户进行展示;其中,在当用户点击到所述多媒体索引信息时,则根据索引查询到对应的多媒体资源文件名,并对应的多媒体资源作为一个单独的页面进行展示。优选的是,将所述文字信息和/或多媒体索引信息进行分页并向用户进行展示,进一步包括:将所述文字信息和/或多媒体索引信息进行分页并向用户进行缓存展示第一页,并在用户阅读本页的时候,对后续的页码内容提前缓存。优选的是,解析用户选择的ePub电子书,进一步包括:解析正文文件,并获取其中包含的转义符信息,并将所述转义符信息都放入到所述正文的文字信息中和/或多媒体索引信息中,同时,在后续解析的时候还解析HTML标签,并对解析器支持的标签做相应处理;其中,所述HTML标签包括:音频、粗体、正文body部分、换行符、标题行、标题、斜体、对图像的索引、超链接、段落、标题、视频标签任一或组合。优选的是,进一步包括:获取所述目录对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息,将所述文字信息和/或多媒体索引信息进行分页并向用户进行展示具体包括:将所述正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息都放入到一个内容线性列表中进行保存,包括以下:字符串形式的文字内容或图像/视频链接、所述字符串是正文内容还是属于多媒体类型、多媒体链接。优选的是,进一步包括:获取用户调整字体或者行间距的信息,并对文字进行调整;且在每次调整文章页的时候,将之前构建好的所述内容线性列表都进行清空并重新构建。一种ePub电子书的加载系统,包括:解析引擎模块和渲染引擎模块,其中,所述解析引擎模块,用于解析用户选择的ePub电子书,得到所述ePub电子书的目录信息和对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息;解析用户选择的所述ePub电子书的目录,获取所述目录对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息;所述渲染弓I擎模块,用于进行渲染和向用户显示所述渲染完成的章节内容。优选的是,所述解析引擎模块,进一步用于对ePub电子书中的content, opf文件进行解析,获取对应的电子书的书名、作者以及整本书的其他介绍信息;获取到所述对应的电子书的正文文件,并对正文文件进行解析获取到对应的正文的文字信息和/或多媒体索引信息、多媒体资源文件名信息;获取所述对应的电子书对应的NCX文件,并对其进行解析以得到所述电子书的目录/[目息。本专利技术采取了上述方案以后具有以下的优点:本专利技术主要抓取电子书文字信息以及多媒体链接信息,而放弃其中的css格式文件等其它用于网页排版的信息文件,使得通过本解析器与渲染器绘制出来的电子书排版格式对于所有书而言都是统一的。并且,与现有的将整本图书的内容加载到内存中不同,本专利技术会根据ePub相应文件中的分章内容,对整本书进行按章节进行渲染,使得用户在调整行间距以及字体大小时响应速度极快。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。【专利附图】【附图说明】下面结合附图对本专利技术进行详细的描述,以使得本专利技术的上述优点更加明确。其中,图1是本专利技术实施例ePub电子书的加载系统的结构示意图;图2是本专利技术实施例ePub电子书的加载系统的解析引擎模块的解析过程示意图;图3是本专利技术实施例ePub电子书的加载方法的流程示意图。【具体实施方式】以下将结合附图及实施例来详细说明本专利技术的实施方式,借此对本专利技术如何应用技术手段来解决技术问题,并达成技术效果的本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:陈轶,王玮,潘腾,吴远青,王旭东,郭伟,
申请(专利权)人:北京掌阔技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。