一种EPub电子书加载方法及装置的制作方法

文档序号:6439304阅读:358来源:国知局
专利名称:一种EPub电子书加载方法及装置的制作方法
技术领域
本发明涉及电子书技术领域,具体涉及阅读设备上EPub电子书的加载方法及装置。
背景技术
EPub (Electronic Publication,电子出版物)是一种自由的开放式电子书格式标准,能支持多种装置应用。这种标准由国际数字出版论坛和一些重要的出版商共同开发,电子书的内容可以根据阅读设备的特性,以最适于阅读的方式显示。EPub电子书一般是由按章组织的HTML文件组成,为了实现在阅读时能够连续的翻页和任意的跳转,首先需要将电子书加载到内存中进行解析,解析完毕后向用户展示内容。目前加载EPub电子书的技术方案主要有两种,方案一每次只加载一章内容(用户选择的章节),可以快速的显示该章节的内容,一般也不会超出阅读设备内存的限制。但是使用这种加载方式,显示的页码只是当前页相对于当前章的页码,不能显示当前页相对于整本书的页码,因而用户只能够在当前章内进行跳转,无法实现全文范围内的自由翻页,这和阅读纸质书的体验差别较大。方案二是一次性将整本书加载到内存中进行解析,当解析到目标页,即用户选择的页之后就可以显示当前页的内容。在整本书解析完成之后,就可以显示当前页相对于整本书的页码,用户可以在全文范围内自由跳转和翻页。但是使用这种方式也有缺点在整本书加载完成之前,是不支持翻页和跳转操作的,对于内容较多的EPub电子书,每次打开时让用户等待的时间较长,例如,从30秒到1分钟不等,会大大降低用户体验。

发明内容
解决在不影响用户当前阅读体验(如首次打开电子书的速度)的前提下,无法有效提示整本EPub电子书的页码信息的技术问题。本发明实施例提供一种EPub电子书的加载方法,包括解析EPub电子书的目录文件,得到所述EPub电子书各章节的目录索引信息,显示所述EPub电子书的目录;解析用户选择的所述EPub电子书的章节,显示所述解析完成的章节内容,以及当前页相对于所述用户选择的章节的页码;获取所述EPub电子书中其他各章节的页码数,根据所述获取的章节页码数,显示页码信息。本发明实施例同时提供一种与加载方法对应的EPub电子书阅读设备,包括解析模块,用于解析EPub电子书的目录文件,加载并解析用户选择的所述EPub电子书中的章节;页码数获取模块,用于在所述解析模块加载并解析用户选择的所述EPub电子书中的章节后,获取所述EPub电子书中其他各章节的页码数;显示模块,用于显示所述解析模块解析出的EPub电子书的目录、所述用户选择的所述EPub电子书中的章节内容和根据所述页码数获取模块获取的章节页码数显示的页码信息。本发明实施例还提供了一种共享EPub电子书各章节的加载数据的系统,包括阅读服务器和阅读设备,所述阅读服务器用于存储EPub电子书以及与所述阅读设备对应的所述EPub电子书各章节的加载数据;接收所述阅读设备的EPub电子书下载请求,将所述 EPub电子书,以及与所述阅读设备对应的所述EPub电子书各章节的加载数据发送给所述阅读设备;所述阅读设备用于从所述阅读服务器下载所述EPub电子书以及与该阅读设备对应的所述EPub电子书各章节的加载数据,根据所述与该阅读设备对应的所述EPub电子书各章节的加载数据,加载所述EPub电子书。本发明可以实现在不影响用户当前的阅读体验的情况下有效完成EPub电子书的整本书加载,并实现在加载过程中,有效提示整本EPub电子书的页码信息,提升了用户的阅读体验。


图1为本发明实施例提供的EPub电子书加载方法的示意图;图2为本发明实施例提供的获取EPub电子书各章节页码数的流程图;图3为本发明实施例提供的阅读设备加载一本EPub电子书的流程图;图4为本发明实施例提供的EPub电子书章节加载数据共享方案架构图;图5为本发明实施例提供的在阅读服务器上下载一本没有对应的章节加载数据的EPub电子书的流程图;图6为本发明实施例提供的在阅读服务器上下载一本已经有对应的章节加载数据的EPub电子书的流程图;图7为本发明实施例提供的一种阅读设备的示意图;图8为本发明实施例提供的EPub电子书章节加载数据共享系统的示意图。
具体实施例方式为了便于本领域一般技术人员理解和实现本发明,现结合附图描述本发明的实施例。目前常用的EPub电子书阅读设备包括但不限于手机、PDA、手持阅读器、MP4、平板电脑等。本发明实施例提供一种阅读设备上EPub电子书的加载方法,特别适用于内存容量不高,但是电子书文件较大的情形,如图1所示,详述步骤如下步骤101、用户打开一本EPub电子书时,阅读设备首先解析电子书内后缀名为NCX 的导航控制文件(NCX,Navigation Control file for XML),得到该电子书一共有多少章、 各章节的标题信息、各章节在电子书内的索引和各章节对应的XML或者HTML文件在EPub 压缩包内的相对路径。为了描述方便,将各章节的标题信息、各章节在EPub电子书内的索引和各章节对应的XML或者HTML文件在EPub压缩包内的相对路径统称为各章节的目录索引信息,命名方式不作为对本发明实施例的限定。完成目录文件的解析之后,即向用户显示该电子书的目录。步骤102、用户通过目录或者系统书签进入某一章,阅读设备首先读取该章节的目录索引信息,随后即在本机内存中加载该章对应的XML或HTML文件,解析出该章的内容并显示给用户,同时显示当前页相对于本章的页码。
根据当前页相对于本章的页码,用户就可以在该章范围内翻页和自由跳转了。例如,显示的格式可以为10/100,其中10表示正在显示的页面相对于该章的页码,100表示该章的总页码。用户可以在100页的范围内自由跳转,例如30/100、57/100、98/100等,只需输入欲跳转到的页码即可。步骤103、获取所述EPub电子书中其他各章节的页码数,根据所述获取的章节页码数,显示页码信息。其中,其他各章节是指EPub电子书中除用户选择阅读的章节以外的其他章节,由于在步骤101中,阅读设备已经对用户选择的章节进行了解析,获取了该章节的页码数,因此无需在步骤103中重复获取该章节的页码数。页码信息可以统一以η/Ν的格式显示。其中,N表示已加载部分的总页码,每获取一个章节的页码数就对其进行刷新;11表示当前页相对于整本EPub电子书的页码,特别地, 只有在获取用户选择阅读的章节之前的各章节的页码数之后,才可以将η显示出来。当后台获取EPub电子书所有章节的页码数之后,N就表示整本书的页码。对于已经加载完的内容,用户可以快速的进行跳转,即用户可以在N的范围内自由跳转。如果用户选择跳转的页面在当前显示的章节,则无需重新加载该章,直接显示用户选择的页面即可;如果用户选择跳转的页面在其他章节,则需在内存中重新加载欲跳转页面所在的章节,解析完成后,再向用户显示其选择的页面。前述步骤101至103中提到的加载是指将EPub电子书某一章节对应的XML或HTML 文件载入到阅读设备的内存中,以便阅读设备对其进行解析。解析是指对加载到内存中的 XML或HTML文件进行排版,排版完成后即可获得该章内容的页码数,同时要判断该章节是否用户选择阅读的章节,若是,则向用户显示排版完成的该章内容;反之,则不显示。现举例说明前述步骤103中显示页码信息的过程假设一本EPub电子书一共有10章,每章100页。用户选择阅读第3章,阅读设备首先加载这一章并进行解析,完成后向用户显示该章的内容。显示完该章的内容之后,阅读设备随即在后台开始获取该电子书中除第3章以外的各章节的页码数。例如,获取第1章的页码数之后,刷新显示为n/100,第2章页码数获取之后刷新为n/200,在获取第2章的页码数以后,加上之前解析第3章获取的该章页码数,就可以将当前页相对于已加载部分的页码刷新出来,可以是205/300。随后每获取一章的页码数,就刷新已加载部分的总页码,例如 205/400,205/700 等。对于已经加载完的部分,用户可以快速的跳转,即可以在前200页、300页、700页的范围内快速跳转,例如137/200、270/300、501/700等。在获取电子书的最后一章的页码数之后,显示的页码更新为205/1000,这时用户就可以在全书范围内自由翻页了。使用本实施例公开的方案,根据后台获取EPub电子书各章节页码数的进程更新显示的页码信息,既可以使用户明确的感受到后台加载EPub电子书的进度,又可以满足用户在已加载部分以至整本电子书范围内的自由跳转,使用户的阅读体验达到最佳。图2具体描述了步骤103中获取EPub电子书中其他各章节页码数的流程,结合前述步骤103,在获取用户选择阅读的章节的页码数时,可直接应用步骤101中获取的该章节的页码数,无需再通过该流程获取。详细步骤如下
步骤201、阅读设备获取电子书中一个章节的目录索引信息。步骤202、根据该章节的目录索引信息判断在阅读设备中是否保存有该章节的加载数据。若保存有该章节的加载数据,转向步骤203 ;若没有保存,转向步骤205。其中,章节的加载数据包括EPub电子书的唯一性标识、章节的目录索引信息、章节的页码数和解析章节时的页面属性信息。步骤203、判断该章节的加载数据中的页面属性信息是否和当前显示页面的页面属性相对应。若对应,转向步骤204 ;若不对应,则转向步骤205。由于阅读设备解析EPub电子书某章节文件获取的该章节的页码数和用户选择的字体、字号、分辨率、页面大小等页面属性密切相关,因此在确定保存有该章节的加载数据后,还需要判断该章节的加载数据中的页面属性信息是否和当前用户选择的页面属性相对应。若对应,则可直接读取该章节的页码数;若不对应,还需要重新解析该章节在当前页面属性下的页码数。步骤204、读取该章节的加载数据,获取该章的页码数。转向步骤206。步骤205、在内存中加载该章节对应的XML或HTML文件,进行解析,获取该章的页码数。根据前述步骤201-204,若在阅读设备中没有保存和当前页面属性相对应的EPub 电子书章节加载数据,就需要阅读设备加载该章节,经过解析获取该章的页码数。为了避免占用阅读设备过多的内存,每获取一章的页码数,就把在内存中加载的该章对应的XML或HTML文件删除,仅将获取的该章的页码数进行保存。在这种情况下,内存中仅保留用户正在阅读的章节的数据。在另外一种情况下,内存中除保留用户正在阅读的章节数据外,还同时保留该章节之前一章和之后一章的数据,这样用户在本章的最后一页向后翻页时可同时显示本章和其后一章的内容;在本章的第一页向前翻页时,可同时显示本章和之前一章的内容,更接近阅读纸质书时的体验。步骤206、判断该章节是否是EPub电子书的最后一章。若是最后一章,则结束本流程;若不是最后一章,则转回步骤201,继续获取下一章节的页码数。对于上述步骤205,在保存解析获得的章节页码数时,本发明实施例将EPub电子书的唯一性标识、该章节的目录索引信息、该章节的页码数和加载该章节时的页面属性信息统一进行保存。其中,EPub电子书的唯一性标识是指使所述EPub电子书区别于其他EPub 电子书的标识;章节的目录索引信息包括章节标题信息、该章节在电子书内的索引和该章节文件在EPub压缩包内的相对路径。为了描述方便,可以将上述统一进行保存的信息称为章节的加载数据,命名方式不作为对本发明方案的限定。对于用户选择阅读的章节,由于在前述步骤102中,已经通过解析获取了该章的页码数,因此可在步骤102完成后即生成用户选择的章节的加载数据。为了保证存储的数据能准确的描述一个章节内容在具体终端设备上加载后的数据,本发明实施例提供一种存储字段public class PageCountItem {
* current book id:书籍的唯一'!·生标识 public String bookld;
*the index of chapter in the book:章节在整本书内的索引
*/
public int chapterlndex;
*the url of catalog content file:章节文件在EPub压缩包内的相对路径public String chapterUrl;
* the page size, that need to load: 文字4推版时的页面的大小 public String pageSize;
* current font size:文字排版时的字体大小 public int fontSize;
* current chapter page count: 当前章在该设备上的页数 public int pageCount;可以看出,前述实施例中获取EPub电子书各章节页码数的流程中包含两个判断步骤首先判断阅读设备中是否保存有EPub电子书的章节加载数据,再进一步判断该章节加载数据中的页面属性信息是否和当前页的页面属性信息相匹配。当然,也可以不需要判断阅读设备中是否已经保存有EPub电子书各章节的加载数据,而直接依次加载各章节并进行解析,或者,只进行阅读设备中是否保存有各章节加载数据的判断,不进行页面属性信息的匹配判断,而直接读取各章节的页码数。本发明实施例对此不作限定。本发明实施例中,首先只在阅读设备的内存中加载用户选择的章节,可以快速的解析出该章内容,并向用户显示,不会使用户等待很长的时间。在获取EPub电子书的总页码数时,本发明实施例技术方案不是将整本电子书同时加载到内存中,而是一次只加载一章。经过解析获取该章节的页码数之后,即将内存中加载的章节文件删除,只将该章节的页码数进行保留,再进行下一章的加载。使用这种方法既可以获得当前页相对于整本EPub电子书的页码,实现全书范围内的自由跳转,又可以避免出现一次加载整本EPub电子书超出分配给阅读进程的内存限制,导致用户不能正常进行阅读的情况。
本发明实施例进一步通过判断在阅读设备中是否已经保存有待解析章节的加载数据,从而可以提高加载效率,并通过页面属性信息的进一步匹配,使得加载的准确性更
尚ο结合上述实施例中公开的技术方案,本实施例具体描述用户打开一本EPub电子书时,阅读设备加载该EPub电子书的流程。如图3所示,本发明技术方案提供的加载EPub电子书的流程可以分为三个线程, 分别是主线程、加载整本书的线程以及UI (user interface,用户界面)线程,以下按顺序描述三个线程内部及相互之间交互的各步骤。主线程步骤步骤311、用户打开一本EPub电子书,阅读设备开始主线程。步骤312、阅读设备解析电子书内后缀名为NCX的目录文件。向UI线程发送通知, 显示解析出的电子书目录。步骤313、用户通过目录进入电子书的某一章节,阅读设备加载用户选择的章节, 并进行解析。步骤314、向UI线程发送通知,要求刷新当前页面,显示解析出的章节内容和当前页相对于本章的页码。步骤315、通知后台启动子线程加载整本EPub电子书,获取除用户选择阅读的章节外其他各章节的页码数,转向后台加载整本书的线程。步骤316、接收后台获取的EPub电子书中其他各章节的页码数,并通知UI线程刷新页码信息。后台加载整本电子书的线程步骤主线程解析完用户选择的章节,并通知UI线程显示解析完的章节内容之后,即通知后台开始加载整本书的线程。对于后台加载整本EPub电子书,依次获取各章节的页码数的流程,前述实施例中对图2的详解中已有完整的描述,此处不再赘述。后台每获取一章的页码数,即向主线程反馈已获取的章节页码数,由主线程通知 UI线程刷新显示的页码信息,包括各章节的页码数总和,以及当前页相对于整本EPub电子书的页码。UI线程步骤步骤331、接收主线程发送的更新显示内容的通知。步骤332、刷新UI界面,更新显示的内容。前已述及,阅读设备解析用户选择的EPub电子书章节内容以及获取电子书各章节的页码数时,和用户选择的字体大小、分辨率、页面大小等页面属性密切相关。字体的大小可以通过字体缩放进行控制,而进行横竖屏切换和分辨率调整则会导致页面的大小发生变化。使用本发明技术方案加载EPub电子书的过程中,用户对页面属性做出调整,加载进程也要随之变化。用户调整了页面属性之后,阅读设备首先要终止后台进程,待重新解析并显示新的页面属性下用户选择的章节内容之后,再重新启动加载整本书的进程。后台依次获取EPub电子书各章节在新的页面属性下的页码数,进而重新显示新的页面属性下的页码信肩、ο使用本实施例公开的流程加载EPub电子书,三个子线程相互配合,既可以快速的向用户显示其选择的章节的内容,又可以获取整本电子书的页码信息,满足用户自由跳转的需求。由于一次只加载一章的内容进行解析,因而可以只占用很少的内存就获取电子书中各章节的页码数。同时本方案也考虑到了用户调整页面属性时,加载方案的变化,可以快速响应用户的属性调整操作。目前用户使用的EPub电子书阅读设备,如手机、PDA、手持阅读器、MP4、平板电脑等大都具备上网功能,从阅读服务器上将EPub电子书下载到本地阅读设备中进行阅读已经成为当下一种很流行的电子书阅读模式。其中,阅读服务器是指可以存储EPub电子书及其各章节的加载数据并提供相应下载服务的网络服务器。结合前述实施例中公开的技术方案和阅读服务器,本发明实施例公开一种EPub 电子书章节加载数据的网络共享方案。EPub电子书章节加载数据是指特定的阅读设备每获取一个章节的页码数,保存的EPub电子书的唯一性标识、该章节的目录索引信息、加载该章节时的页面属性信息,以及该章节的页码数的统称。如图4所示,用户甲从阅读服务器上下载了一本EPub电子书,在首次打开该电子书时加载完电子书各章节,生成各章节的加载数据并存储在了本地。用户甲可以选择将EPub电子书各章节的加载数据上传至阅读服务器,由于该数据是在特定的阅读设备上生成,因此用户甲在将其上传的同时,还需要上传用户甲阅读设备的类型及其型号等属性信息。阅读服务器依据阅读设备的属性信息将该EPub电子书各章节的加载数据进行存储。假设用户乙与用户甲使用了同一款电子书阅读设备,用户乙在下载同一本EPub 电子书时,就可以同时获取该电子书各章节的加载数据。这样用户乙在阅读该电子书时,在不变更页面属性的前提下,阅读设备就可以直接读取该EPub电子书各章节的加载数据,快速获取各章节的页码数,显示当前页相对于整本EPub电子书的页码和整本EPub电子书的页码数。若用户乙变更了页面属性,则其阅读设备在解析EPub电子书各章节,获取各章节页码数的同时,会保存新的页面属性下各章节的加载数据。用户乙也可以选择将新保存的各章节的加载数据上传至阅读服务器。如图5所示,用户从阅读服务器下载一本未保存各章节加载数据的EPub电子书的步骤如下步骤501、用户向阅读服务器发送下载EPub电子书的请求,同时在请求中携带用户阅读设备的属性信息。步骤502、阅读服务器验证用户请求的合法性,并判断是否保存有对应用户阅读设备的EPub电子书各章节的加载数据。步骤503、没有保存该EPub电子书各章节的加载数据,阅读服务器只向用户发送 EPub电子书。步骤504、用户接收EPub电子书,在打开该电子书时,使用该发明实施例公开的方法生成了各章节的加载数据。
步骤505、用户将本地生成的EPub电子书各章节的加载数据,及其阅读设备的属性信息上传至阅读服务器。步骤506、阅读服务器存储该EPub电子书各章节的加载数据。步骤507、阅读服务器向用户发送处理成功的响应。如图6所示,用户从阅读服务器处获取保存有各章节加载数据的EPub电子书的步骤如下步骤601、用户向阅读服务器发送下载EPub电子书的请求,同时在请求中携带用户阅读设备的属性信息。 步骤602、阅读服务器验证用户请求的合法性,并判断是否保存有对应用户阅读设备的EPub电子书各章节的加载数据。步骤603、保存有该EPub电子书各章节的加载数据,阅读服务器向用户发送EPub 电子书,同时发送该电子书的各章节加载数据。通过将用户阅读设备和阅读服务器相结合,一旦在阅读服务器上存储了某个用户上传的对应特定阅读设备的EPub电子书的各章节加载数据,所有使用相同阅读设备的用户都可以共享该数据,在阅读该电子书时就可以直接读取相应页面属性下的各章节的加载数据,快速地获取各章节的页码数,显示当前页相对于整本EPub电子书的页码和整本EPub 电子书的页码数。结合前述实施例中公开的EPub电子书加载方法,本发明实施例提供一种与之对应的阅读设备,用于实施前述方法实施例,所述阅读设备是指具备EPub电子书阅读功能的设备,包括但不限于手机、PDA、手持阅读器、MP4、平板电脑,笔记本,台式机等。如图7所示,所述阅读设备700包括解析模块701、页码数获取模块702和显示模块703,具体的解析模块701,用于解析EPub电子书的目录文件,得到所述EPub电子书的章节数, 以及各章节的目录索引信息,通知显示模块703显示所述电子书的目录文件;加载用户选择的章节进行解析,通知显示模块703显示该章节的内容。其中各章节的目录索引信息包括各章节的章节标题信息、各章节在电子书内的索引和各章节文件在EPub压缩包内的相对路径。页码数获取模块702,用于在解析模块701加载并解析用户选择的EPub电子书中的章节后,获取EPub电子书中其他各章节的页码数。显示模块703,用于显示解析模块701解析出的EPub电子书的目录、用户选择的章节内容、当前页相对于用户选择的章节的页码;还用于显示页码数获取模块702获取的 EPub电子书中各章节的页码数总和以及当前页相对于整本EPub电子书的页码,即根据所述页码数获取模块702获取的其他各章节的页码数,显示页码信息。其中页码数获取模块702还用于将获取的所述EPub电子书中各章节的页码数,生成所述EPub电子书各章节的加载数据,并保存在所述阅读设备中。EPub电子书中各章节的加载数据包括EPub电子书的唯一性标识、各章节的目录索引信息、获取的各章节的页码数和加载各章节时的页面属性信息。本发明实施例提供的阅读设备700还可以包括页面属性监测模块704,用于判断EPub电子书的页面属性是否发生变化。若发生了变化,则通知解析模块701重新解析用户选择的章节,章节页码数获取模块702重新获取 EPub电子书中其他各章节的页码数。网络模块705,用于阅读设备和阅读服务器之间的信息交互,包括用于生成阅读设备的属性信息,向阅读服务器发送携带有阅读设备属性信息的传输EPub电子书数据的请求,并接收阅读服务器发送的EPub电子书数据,还用于向所述阅读服务器发送EPub电子书各章节的加载数据。其中阅读设备的属性信息包括阅读设备的类型及其型号等信息,用于阅读服务器存储对应于特定阅读设备的EPub电子书各章节的加载数据,同时在收到传输EPub电子书数据的请求时,识别发送请求的阅读设备的类型及型号。本发明实施例同时提供一种共享EPub电子书各章节的加载数据的系统,如图8所示,章节加载数据共享系统800包括阅读设备801和阅读服务器802,具体地阅读设备801,用于从所述阅读服务器802下载EPub电子书以及与该阅读设备 801对应的所述EPub电子书各章节的加载数据,根据所述与该阅读设备801对应的所述 EPub电子书各章节的加载数据,加载所述EPub电子书。其中,EPub电子书各章节的加载数据是指阅读设备每获取一个章节的页码数之后,保存的EPub电子书的唯一性标识、该章节的目录索引信息、解析该章时的页面属性,以及该章节的页码数的统称。阅读服务器802,用于存储EPub电子书以及与各种阅读设备801对应的所述EPub 电子书各章节的加载数据;接收所述阅读设备801的EPub电子书下载请求,将所述EPub电子书,以及与所述阅读设备801对应的所述EPub电子书各章节的加载数据发送给所述阅读设备801。使用本实施例公开的数据共享系统,会有大量EPub电子书各章节的加载数据保存在阅读服务器802上,用户在下载EPub电子书时就可以同时获取与其阅读设备801相关联的各章节的加载数据,从而可以快速地读取各章节的页码数,显示当前页相对于整本 EPub电子书的页码。本领域技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法步骤可以用硬件、处理器执行的软件程序、或者二者的结合来实施。软件程序可以置于随机存取存储器(RAM)、内存、只读存储器 (ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM或技术领域内所公知的任意其它形式的存储介质中,所述的软件或者程序,包括如下步骤(方法权利要求)。尽管已示出和描述了本发明的一些实施例,但本领域技术人员应该理解,在不脱离本发明的原理和精神的情况下,可对这些实施例进行各种修改,这样的修改应落入本发明的范围。
权利要求
1.一种EPub电子书的加载方法,其特征在于,所述方法包括解析所述EPub电子书的目录文件,得到所述EPub电子书各章节的目录索引信息,显示所述EPub电子书的目录;解析用户选择的所述EPub电子书的章节,显示所述解析完成的章节内容,获取当前页相对于所述用户选择的章节的页码;获取所述EPub电子书中其他各章节的页码数,根据所述获取的章节页码数,显示页码 fn息ο
2.如权利要求1所述的方法,其特征在于,所述根据所述获取的章节页码数,显示页码信息,包括根据所述获取的章节页码数,显示所述获取的各章节的页码数总和。
3.如权利要求1或2所述的方法,其特征在于,所述获取所述EPub电子书中其他各章节的页码数,根据所述获取的各章节的页码数,显示页码信息,包括获取所述用户选择的章节之前的各章节的页码数之后,显示当前页相对于整本所述EPub电子书的页码。
4.如权利要求1-3任一所述的方法,其特征在于,所述获取所述EPub电子书中其他各章节的页码数的步骤包括加载所述EPub电子书中其他各章节并进行解析,获取所述EPub电子书中各章节的页码数。
5.如权利要求1-3任一所述的方法,其特征在于,所述获取所述EPub电子书中其他各章节的页码数的步骤包括获取所述EPub电子书中某一章节的目录索引信息;根据所述章节的目录索引信息判断所述章节的加载数据是否已经保存在当前阅读设备中;若所述章节的加载数据已经保存在所述当前阅读设备中,则读取所述章节的加载数据,获取所述章节的页码数。
6.如权利要求5所述的方法,其特征在于,若所述章节的加载数据未保存在当前阅读设备中,则加载所述章节并进行解析,获取所述章节的页码数。
7.如权利要求1-3任一所述的方法,其特征在于,所述获取所述EPub电子书中其他各章节的页码数的步骤包括获取所述EPub电子书中某一章节的目录索引信息;根据所述章节的目录索引信息判断所述章节的加载数据是否已经保存在当前阅读设备中;所述当判断所述章节的加载数据已经保存在当前阅读设备中后,进一步判断,当所述章节的加载数据所对应的页面属性信息和当前页的所述页面属性信息相一致时,读取所述章节的加载数据,获取所述章节的页码数。
8.如权利要求7所述的方法,其特征在于,若所述章节的加载数据所对应的页面属性信息和所述当前页的页面属性信息不一致,则加载所述章节并进行解析,获取所述章节的页码数。
9.如权利要求4,6,8任一所述的方法,其特征在于,所述加载所述章节并进行解析,获取所述章节的页码数之后,生成所述章节的加载数据并保存在所述当前阅读设备中,将所述加载的所述章节从内存中删除。
10.如权利要求1所述的方法,所述解析用户选择的所述EPub电子书的章节完成后,生成所述用户选择的章节的加载数据,并保存在阅读设备中。
11.如权利要求9或10所述的方法,其特征在于,所述将所述章节的加载数据保存在当前阅读设备以后,还将所述章节的加载数据上传至阅读服务器。
12.如权利要求5或6所述的方法,其特征在于,所述已经保存的章节的加载数据,由所述阅读设备生成,或者是由所述阅读设备从阅读服务器处下载。
13.如权利要求5-12任一所述的方法,其特征在于,所述章节的加载数据包括所述 EPub电子书的标识、所述章节的目录索引信息、所述章节的页码数和解析所述章节时的所述页面属性信息。
14.如权利要求1-13任一所述的方法,其特征在于,当当前页的页面属性信息发生变化时,重新解析所述用户选择的所述EPub电子书的章节,并显示所述重新解析完成的内容;重新获取所述EPub电子书中其他各章节的页码数,根据所述重新获取的章节页码数, 显示页码信息。
15.如权利要求7,8或14任一所述的方法,其特征在于,所述页面属性信息至少包括以下信息之一字体、字号、分辨率或页面大小信息。
16.如权利要求12所述的方法,其特征在于,所述从阅读服务器处下载所述EPub电子书各章节的加载数据的步骤包括向所述阅读服务器发送下载所述EPub电子书的请求,所述请求中携带所述阅读设备的属性信息;接收所述阅读服务器发送的所述EPub电子书,同时接收所述EPub电子书中各章节的加载数据。
17.一种阅读设备,其特征在于,所述阅读设备包括解析模块,用于解析EPub电子书的目录文件,加载并解析用户选择的所述EPub电子书中的章节;页码数获取模块,用于在所述解析模块加载并解析用户选择的所述EPub电子书中的章节后,获取所述EPub电子书中其他各章节的页码数;显示模块,用于显示所述解析模块解析出的EPub电子书的目录、所述用户选择的所述 EPub电子书中的章节内容和根据所述页码数获取模块获取的章节页码数显示的页码信息。
18.如权利要求17所述的阅读设备,其特征在于,所述阅读设备进一步包括页面属性监测模块,用于判断所述EPub电子书当前页的页面属性是否发生变化;所述当前页的页面属性信息发生变化时,通知所述解析模块重新加载并解析用户选择的所述EPub电子书中的章节。
19.如权利要求17或18所述的阅读设备,其特征在于,所述页码数获取模块进一步用于,将所述获取的EPub电子书中各章节的页码数,生成所述EPub电子书各章节的加载数据,并保存在所述阅读设备中。
20.如权利要求17-19任一所述的阅读设备,其特征在于,所述显示模块进一步用于根据所述章节页码数获取模块获取的各章节的页码数,显示所述获取的各章节的页码数总和,以及当前页相对于整本所述EPub电子书的页码。
21.如权利要求17-20任一所述的阅读设备,其特征在于,所述阅读设备进一步包括网络模块,所述网络模块用于与阅读服务器通信,生成所述阅读设备的属性信息,向阅读服务器发送包含所述阅读设备属性信息的EPub电子书下载请求,并接收所述阅读服务器发送的所述EPub电子书,还用于向所述阅读服务器发送与所述阅读设备对应的所述 EPub电子书各章节的加载数据。
22.—种共享EPub电子书各章节的加载数据的系统,包括阅读服务器和阅读设备,其特征在于所述阅读服务器用于存储EPub电子书以及与所述阅读设备对应的所述EPub电子书各章节的加载数据;接收所述阅读设备的EPub电子书下载请求,将所述EPub电子书,以及与所述阅读设备对应的所述EPub电子书各章节的加载数据发送给所述阅读设备;所述阅读设备用于从所述阅读服务器下载所述EPub电子书以及与该阅读设备对应的所述EPub电子书各章节的加载数据,根据所述与该阅读设备对应的所述EPub电子书各章节的加载数据,加载所述EPub电子书。
23.如权利要求22所述的系统,其特征在于,所述阅读设备进一步用于生成与所述阅读设备对应的EPub电子书各章节的加载数据,并将所述各章节的加载数据上传至所述阅读服务器;所述阅读服务器进一步用于存储所述阅读设备上传的所述EPub电子书各章节的加载数据,接收其他阅读设备发送的所述EPub电子书下载请求,判断是否存储有所述EPub电子书各章节的加载数据,若有存储,则在发送所述EPub电子书的同时发送所述EPub电子书各章节的加载数据。
24.如权利要求23所述的系统,其特征在于,所述EPub电子书各章节的加载数据包括 所述EPub电子书的标识、所述EPub电子书内各章节的目录索引信息、解析所述各章节时的页面属性,以及所述EPub电子书内各章节的页码数。
全文摘要
本发明公开了一种内存受限设备上EPub电子书的加载方法,主要包括解析所述EPub电子书的目录文件,得到所述EPub电子书各章节的目录索引信息,显示所述EPub电子书的目录;解析用户选择的所述EPub电子书的章节,显示所述解析完成的章节内容,以及当前页相对于所述用户选择的章节的页码;获取所述EPub电子书中其他各章节的页码数,根据所述获取的章节页码数,显示页码信息。本发明同时提供相应的阅读设备,以及一种共享EPub电子书各章节的加载数据的系统。通过本发明的实施例可知,使用本发明公开的加载方法,可以在不影响用户当前阅读体验的情况下有效完成EPub电子书的整本书加载,并实现在加载过程中,有效提示整本EPub电子书的页码信息,提升了用户的阅读体验。
文档编号G06F17/30GK102521280SQ20111038208
公开日2012年6月27日 申请日期2011年11月26日 优先权日2011年11月26日
发明者孙诗, 戎亚新, 王志 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1