CN106156191A - 基于ePub文件的试读方法和基于ePub文件的试读系统 - Google Patents

基于ePub文件的试读方法和基于ePub文件的试读系统 Download PDF

Info

Publication number
CN106156191A
CN106156191A CN201510191255.5A CN201510191255A CN106156191A CN 106156191 A CN106156191 A CN 106156191A CN 201510191255 A CN201510191255 A CN 201510191255A CN 106156191 A CN106156191 A CN 106156191A
Authority
CN
China
Prior art keywords
file
epub
academic probation
size
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510191255.5A
Other languages
English (en)
Other versions
CN106156191B (zh
Inventor
李辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Founder Holdings Development Co ltd
Peking University
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN201510191255.5A priority Critical patent/CN106156191B/zh
Publication of CN106156191A publication Critical patent/CN106156191A/zh
Application granted granted Critical
Publication of CN106156191B publication Critical patent/CN106156191B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提出了一种基于ePub文件的试读方法和一种基于ePub文件的试读系统,其中,所述方法包括:获取ePub文件的整体目录索引文件;解析所述整体目录索引文件,以获取所述整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小;根据目标比例确定试读ePub文件的第二文件大小;根据所述第一文件大小和所述第二文件大小确定所述试读ePub文件的试读目录结构,以获取所述试读ePub文件。通过本发明的技术方案,通过将ePub文件的整体目录索引文件解析成多个子目录索引文件,从而根据每个子目录索引文件对应的HTML文件内容的大小和目标比例所确定的试读ePub文件的大小,可以有效且快速地获取试读ePub文件,进而实现了对ePub文件进行批量快速地处理。

Description

基于ePub文件的试读方法和基于ePub文件的试读系统
技术领域
本发明涉及文件的试读方法技术领域,具体而言,涉及一种基于ePub文件的试读方法和一种基于ePub文件的试读系统。
背景技术
目前,ePub(Electronic Publication,电子出版)是一个自由的开放标准,属于一种可以“自动重新编排”的内容,也就是文字内容可以根据阅读设备的特性,以最适于阅读的方式显示。ePub档案内部使用了XHTML(Extensible Hyper Text Markup Language,可扩展超文本标记语言)或DTBook(一种由Daisy Consortium提出的XML标准,其中XML为可扩展标记语言)来展现文字,并以zip压缩格式来包裹档案内容。
在相关的技术方案中,为了获取试读ePub文件,ePub文件的解析方式主要有两种,即解压式和直接式(相对叫法),大多数书籍阅读器都选择了解压式(包括iOS平台上的Ibooks),在某一个位置可以找到整一本书的完整解压文档,但是,解压式获取试读ePub文件有一定的缺点,即对缓存位置的读写速度有一定要求:如果解压(包括运算、写入文件)速度比较慢,那么首次打开的速度也就被迫拖慢,加上渲染、排版等,首次打开的时间就会很长,即使第二次打开的速度比第一次快一些,但是依然会导致用户不好的体验。
因此,如何有效快速地获取试读ePub文件,从而实现了对ePub文件进行批量快速地处理,进而提升用户体验成为亟待解决的问题。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,通过将ePub文件的整体目录索引文件解析成多个子目录索引文件,从而根据每个子目录索引文件对应的HTML文件内容的大小和目标比例所确定的试读ePub文件的大小,可以有效且快速地获取试读ePub文件,进而实现了对ePub文件进行批量快速地处理,提升了用户体验。
有鉴于此,本发明的一方面提出了一种基于ePub文件的试读方法,包括:获取ePub文件的整体目录索引文件;解析所述整体目录索引文件,以获取所述整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小;根据目标比例确定试读ePub文件的第二文件大小;根据所述第一文件大小和所述第二文件大小确定所述试读ePub文件的试读目录结构,以获取所述试读ePub文件。
在该技术方案中,通过将ePub文件的整体目录索引文件解析成多个子目录索引文件,且每个子目录索引文件对应有HTML(Hyper TextMarkup Language,超文本标记语言)文件内容,从而可以按照目标比例获取与试读ePub文件的第二文件大小对应的HTML文件内容,进而可以有效且快速地获取试读ePub文件,实现了对ePub文件进行批量快速地处理,可以提升用户体验。
在上述技术方案中,优选地,获取所述ePub文件的所述整体目录索引文件,具体包括:将所述ePub文件解压至目标路径中;在所述目标路径中,获取所述ePub文件的打包索引文件;解析所述打包索引文件,以获取所述打包索引文件中指定代码文件的标签内容;解析所述标签内容,以获取所述指定代码文件的文件路径;根据所述文件路径获取所述整体目录索引文件。
在该技术方案中,根据ePub文件的打包索引文件中指定代码文件的标签内容,获取所述指定代码文件的文件路径,从而可以根据文件路径获取整体目录索引文件,进而为获取整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小奠定了基础,即为有效且快速地获取试读ePub文件奠定了基础。
在上述技术方案中,优选地,获取所述每个子目录索引文件对应的HTML文件的所述第一文件大小,具体包括:解析所述整体目录索引文件的XML格式至目标对象中;获取所述整体目录索引文件中的目录结构标签,以解析与所述目录结构标签对应的节点列表;根据所述节点列表的目录标签获取对应的所述每个子目录索引文件对应的HTML文件的每个锚点位置;根据所述每个锚点位置解析所述每个子目录索引文件对应的HTML文件的文件内容,确定所述第一文件大小。
在该技术方案中,对解析所述整体目录索引文件进行解析,以根据每个子目录索引文件对应的HTML文件的每个锚点位置确定第一文件大小,为有效且快速地获取试读ePub文件奠定了基础,从而实现了对ePub文件进行批量快速地处理,可以提升用户体验。
在上述技术方案中,优选地,根据所述第一文件大小和所述第二文件大小确定所述试读ePub文件的所述试读目录结构,具体包括:循环累加所述第一文件大小,以得到目标文件大小;判断所述目标文件大小是否大于或等于所述第二文件大小;在判断结果为是时,停止循环累加所述第一文件大小,并确定所述试读ePub文件的所述试读目录结构。
在该技术方案中,由于循环累加的算法比较简单,因此,通过循环累加可以快速地确定试读ePub文件的试读目录结构,从而就可以根据该试读目录结构快速地获取试读ePub文件,进而实现了对ePub文件进行批量快速地处理,可以提升用户体验,优选地,试读ePub文件=与整体目录索引文件对应的HTML文件内容的大小×目标比例。
在上述技术方案中,优选地,在所述目标路径下,将除与所述试读目录结构对应的HTML文件内容以外的剩余HTML文件内容删除,以获取所述试读ePub文件。
在该技术方案中,由于除与试读目录结构对应的HTML文件内容以外的剩余HTML文件内容并不会出现在试读ePub文件中,因此,在目标路径下,可以将剩余HTML文件内容删除,从而可以节省试读ePub文件所占用的内存,进而节省了整个系统所占用的内存。
本发明的另一方面提出了一种基于ePub文件的试读系统,包括:第一获取模块,用于获取ePub文件的整体目录索引文件;第一解析模块,用于解析所述整体目录索引文件,以获取所述整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小;计算模块,用于根据目标比例确定试读ePub文件的第二文件大小;第一确定模块,用于根据所述第一文件大小和所述第二文件大小确定所述试读ePub文件的试读目录结构,以获取所述试读ePub文件。
在该技术方案中,通过将ePub文件的整体目录索引文件解析成多个子目录索引文件,且每个子目录索引文件对应有HTML文件内容,从而可以按照目标比例获取与试读ePub文件的第二文件大小对应的HTML文件内容,进而可以有效且快速地获取试读ePub文件,实现了对ePub文件进行批量快速地处理,可以提升用户体验。
在上述技术方案中,优选地,所述第一获取模块包括:解压模块,用于将所述ePub文件解压至目标路径中;第二获取模块,用于在所述目标路径中,获取所述ePub文件的打包索引文件;第二解析模块,用于解析所述打包索引文件,以获取所述打包索引文件中指定代码文件的标签内容,以及解析所述标签内容,以获取所述指定代码文件的文件路径;以及所述第二获取模块还用于:根据所述文件路径获取所述整体目录索引文件。
在该技术方案中,根据ePub文件的打包索引文件中指定代码文件的标签内容,获取所述指定代码文件的文件路径,从而可以根据文件路径获取整体目录索引文件,进而为获取整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小奠定了基础,即为有效且快速地获取试读ePub文件奠定了基础。
在上述技术方案中,优选地,所述第一解析模块包括:第三解析模块,用于解析所述整体目录索引文件的XML格式至目标对象中;第三获取模块,用于获取所述整体目录索引文件中的目录结构标签,以解析与所述目录结构标签对应的节点列表,以及根据所述节点列表的目录标签获取对应的所述每个子目录索引文件对应的HTML文件的每个锚点位置;第二确定模块,用于根据所述每个锚点位置解析所述每个子目录索引文件对应的HTML文件的文件内容,确定所述第一文件大小。
在该技术方案中,对解析所述整体目录索引文件进行解析,以根据每个子目录索引文件对应的HTML文件的每个锚点位置确定第一文件大小,为有效且快速地获取试读ePub文件奠定了基础,从而实现了对ePub文件进行批量快速地处理,可以提升用户体验。
在上述技术方案中,优选地,所述第一确定模块包括:累加模块,用于循环累加所述第一文件大小,以得到目标文件大小;判断模块,用于判断所述目标文件大小是否大于或等于所述第二文件大小;第三确定模块,用于在判断结果为是时,停止循环累加所述第一文件大小,并确定所述试读ePub文件的所述试读目录结构。
在该技术方案中,由于循环累加的算法比较简单,因此,通过循环累加可以快速地确定试读ePub文件的试读目录结构,从而就可以根据该试读目录结构快速地获取试读ePub文件,进而实现了对ePub文件进行批量快速地处理,可以提升用户体验,优选地,试读ePub文件=与整体目录索引文件对应的HTML文件内容的大小×目标比例。
在上述技术方案中,优选地,所述第一确定模块还包括:删除模块,用于在所述目标路径下,将除与所述试读目录结构对应的HTML文件内容以外的剩余HTML文件内容删除,以获取所述试读ePub文件。
在该技术方案中,由于除与试读目录结构对应的HTML文件内容以外的剩余HTML文件内容并不会出现在试读ePub文件中,因此,在目标路径下,可以将剩余HTML文件内容删除,从而可以节省试读ePub文件所占用的内存,进而节省了整个系统所占用的内存。
通过本发明的技术方案,通过将ePub文件的整体目录索引文件解析成多个子目录索引文件,从而根据每个子目录索引文件对应的HTML文件内容的大小和目标比例所确定的试读ePub文件的大小,可以有效且快速地获取试读ePub文件,进而实现了对ePub文件进行批量快速地处理,可以提升用户体验。
附图说明
图1示出了根据本发明的一个实施例的基于ePub文件的试读方法的流程示意图;
图2示出了根据本发明的另一个实施例的基于ePub文件的试读方法的流程示意图;
图3示出了根据本发明的一个实施例的基于ePub文件的试读系统的结构示意图。
具体实施方式
为了可以更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的基于ePub文件的试读方法的流程示意图。
如图1所示,根据本发明的一个实施例的基于ePub文件的试读方法,包括:
步骤102,获取ePub文件的整体目录索引文件;
步骤104,解析所述整体目录索引文件,以获取所述整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小;
步骤106,根据目标比例确定试读ePub文件的第二文件大小;
步骤108,根据所述第一文件大小和所述第二文件大小确定所述试读ePub文件的试读目录结构,以获取所述试读ePub文件。
在该技术方案中,通过将ePub文件的整体目录索引文件解析成多个子目录索引文件,且每个子目录索引文件对应有HTML文件内容,从而可以按照目标比例获取与试读ePub文件的第二文件大小对应的HTML文件内容,进而可以有效且快速地获取试读ePub文件,实现了对ePub文件进行批量快速地处理,可以提升用户体验。
在上述技术方案中,优选地,步骤102具体包括:将所述ePub文件解压至目标路径中;在所述目标路径中,获取所述ePub文件的打包索引文件;解析所述打包索引文件,以获取所述打包索引文件中指定代码文件的标签内容;解析所述标签内容,以获取所述指定代码文件的文件路径;根据所述文件路径获取所述整体目录索引文件。
在该技术方案中,根据ePub文件的打包索引文件中指定代码文件的标签内容,获取所述指定代码文件的文件路径,从而可以根据文件路径获取整体目录索引文件,进而为获取整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小奠定了基础,即为有效且快速地获取试读ePub文件奠定了基础。
在上述技术方案中,优选地,获取所述每个子目录索引文件对应的HTML文件的所述第一文件大小,具体包括:解析所述整体目录索引文件的XML格式至目标对象中;获取所述整体目录索引文件中的目录结构标签,以解析与所述目录结构标签对应的节点列表;根据所述节点列表的目录标签获取对应的所述每个子目录索引文件对应的HTML文件的每个锚点位置;根据所述每个锚点位置解析所述每个子目录索引文件对应的HTML文件的文件内容,确定所述第一文件大小。
在该技术方案中,对解析所述整体目录索引文件进行解析,以根据每个子目录索引文件对应的HTML文件的每个锚点位置确定第一文件大小,为有效且快速地获取试读ePub文件奠定了基础,从而实现了对ePub文件进行批量快速地处理,可以提升用户体验。
在上述技术方案中,优选地,根据所述第一文件大小和所述第二文件大小确定所述试读ePub文件的所述试读目录结构,具体包括:循环累加所述第一文件大小,以得到目标文件大小;判断所述目标文件大小是否大于或等于所述第二文件大小;在判断结果为是时,停止循环累加所述第一文件大小,并确定所述试读ePub文件的所述试读目录结构。
在该技术方案中,由于循环累加的算法比较简单,因此,通过循环累加可以快速地确定试读ePub文件的试读目录结构,从而就可以根据该试读目录结构快速地获取试读ePub文件,进而实现了对ePub文件进行批量快速地处理,可以提升用户体验,优选地,试读ePub文件=与整体目录索引文件对应的HTML文件内容的大小×目标比例。
在上述技术方案中,优选地,在所述目标路径下,将除与所述试读目录结构对应的HTML文件内容以外的剩余HTML文件内容删除,以获取所述试读ePub文件。
在该技术方案中,由于除与试读目录结构对应的HTML文件内容以外的剩余HTML文件内容并不会出现在试读ePub文件中,因此,在目标路径下,可以将剩余HTML文件内容删除,从而可以节省试读ePub文件所占用的内存,进而节省了整个系统所占用的内存。
图2示出了根据本发明的另一个实施例的基于ePub文件的试读方法的流程示意图。
如图2所示,根据本发明的另一个实施例的基于ePub文件的试读方法,包括:
步骤202,将ePub文件解压至目标路径中,并在目标路径中获取ePub文件的打包索引文件。
步骤204,解析打包索引文件,以获取打包索引文件中指定代码文件的标签内容。
步骤206,解析指定代码文件,以对指定代码文件的标签内容进行解析,以获取指定代码文件的文件路径,从而根据文件路径获取整体目录索引文件。
步骤208,读取整体目录索引文件中的目录结构标签。
步骤210,解析与目录结构标签对应的节点列表。
步骤212,解析节点列表的目录标签,以获取对应的每个子目录索引文件对应的HTML文件的每个锚点位置。
步骤214,根据每个锚点位置解析每个子目录索引文件对应的HTML文件的文件内容,计算第一文件大小。
步骤216,循环累加第一文件大小,以得到目标文件大小。
步骤218,判断目标文件大小是否大于或等于第二文件大小,在判断结果为是时,进入步骤220,否则,进入步骤210,其中,第二文件大小是根据目标比例确定的。
步骤220,停止循环累加所述第一文件大小,并生成试读ePub文件的试读目录结构。
步骤222,根据试读目录结构,重新组成新的试读文件。
步骤224,将新的试读文件压缩成试读ePub文件。
图3示出了根据本发明的一个实施例的基于ePub文件的试读系统的结构示意图。
如图3所示,根据本发明的一个实施例的基于ePub文件的试读系统300,包括:第一获取模块302,用于获取ePub文件的整体目录索引文件;第一解析模块304,用于解析所述整体目录索引文件,以获取所述整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小;计算模块306,用于根据目标比例确定试读ePub文件的第二文件大小;第一确定模块308,用于根据所述第一文件大小和所述第二文件大小确定所述试读ePub文件的试读目录结构,以获取所述试读ePub文件。
在该技术方案中,通过将ePub文件的整体目录索引文件解析成多个子目录索引文件,且每个子目录索引文件对应有HTML文件内容,从而可以按照目标比例获取与试读ePub文件的第二文件大小对应的HTML文件内容,进而可以有效且快速地获取试读ePub文件,实现了对ePub文件进行批量快速地处理,可以提升用户体验。
在上述技术方案中,优选地,所述第一获取模块302包括:解压模块3022,用于将所述ePub文件解压至目标路径中;第二获取模块3024,用于在所述目标路径中,获取所述ePub文件的打包索引文件;第二解析模块3026,用于解析所述打包索引文件,以获取所述打包索引文件中指定代码文件的标签内容,以及解析所述标签内容,以获取所述指定代码文件的文件路径;以及所述第二获取模块3024还用于:根据所述文件路径获取所述整体目录索引文件。
在该技术方案中,根据ePub文件的打包索引文件中指定代码文件的标签内容,获取所述指定代码文件的文件路径,从而可以根据文件路径获取整体目录索引文件,进而为获取整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小奠定了基础,即为有效且快速地获取试读ePub文件奠定了基础。
在上述技术方案中,优选地,所述第一解析模块304包括:第三解析模块3042,用于解析所述整体目录索引文件的XML格式至目标对象中;第三获取模块,用于获取所述整体目录索引文件中的目录结构标签,以解析与所述目录结构标签对应的节点列表,以及根据所述节点列表的目录标签获取对应的所述每个子目录索引文件对应的HTML文件的每个锚点位置;第二确定模块3046,用于根据所述每个锚点位置解析所述每个子目录索引文件对应的HTML文件的文件内容,确定所述第一文件大小。
在该技术方案中,对解析所述整体目录索引文件进行解析,以根据每个子目录索引文件对应的HTML文件的每个锚点位置确定第一文件大小,为有效且快速地获取试读ePub文件奠定了基础,从而实现了对ePub文件进行批量快速地处理,可以提升用户体验。
在上述技术方案中,优选地,所述第一确定模块308包括:累加模块3082,用于循环累加所述第一文件大小,以得到目标文件大小;判断模块3084,用于判断所述目标文件大小是否大于或等于所述第二文件大小;第三确定模块3086,用于在判断结果为是时,停止循环累加所述第一文件大小,并确定所述试读ePub文件的所述试读目录结构。
在该技术方案中,由于循环累加的算法比较简单,因此,通过循环累加可以快速地确定试读ePub文件的试读目录结构,从而就可以根据该试读目录结构快速地获取试读ePub文件,进而实现了对ePub文件进行批量快速地处理,可以提升用户体验,优选地,试读ePub文件=与整体目录索引文件对应的HTML文件内容的大小×目标比例。
在上述技术方案中,优选地,所述第一确定模块308还包括:删除模块3088,用于在所述目标路径下,将除与所述试读目录结构对应的HTML文件内容以外的剩余HTML文件内容删除,以获取所述试读ePub文件。
在该技术方案中,由于除与试读目录结构对应的HTML文件内容以外的剩余HTML文件内容并不会出现在试读ePub文件中,因此,在目标路径下,可以将剩余HTML文件内容删除,从而可以节省试读ePub文件所占用的内存,进而节省了整个系统所占用的内存。
综上所述,在本发明的技术方案中,对ePub文件进行解压缩后,对其整体目录索引文件进行解析,确定整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小,并根据目标比例确定试读ePub文件的第二文件大小,根据第一文件大小和第二文件大小确定试读ePub文件的试读目录结构,根据试读目录结构获取试读ePub文件,从而实现了对ePub文件进行批量处理,同时该试读ePub文件可供其他ePub阅读器进行阅读。下面详细说明本发明的技术方案:
1.基于ePub文件的试读系统的程序结构主要包括:
bean:数据载体,主要用于存储ePub文件中,以及解析后的整体目录索引文件中的每个子目录索引文件对应的HTML文件内容。
read:算法核心,包括递归解析算法,按比例判断试读内容等。
utils:工具体,包括文件读写,文件解压缩。
mian:主执行方法,调用算法核心模块,进行试读ePub文件的生成。
2.主要步骤为:
将ePub文件通过zip方式解压缩至目标路径中。
进入解压后的目标路径中,读取ePub对应的打包索引文件如package.opf文件,并对打包索引文件进行xml格式解析,优选地,使用公用JAR包DOM4J进行XML格式解析。
读取package.opf中id为ncx文件(指定代码文件)的item标签内容,并对标签内容进行解析,得出ncx文件的文件路径href,优选地,使用公用JAR包DOM4J对标签内容进行解析,使用Element对象中的attribute对象存储了节点标签对应的属性。
根据读取的ncx文件路径,读取文件toc.ncx,此文件为ePub文件的整体目录索引文件。
解析toc.ncx文件的XML格式到JAVA对象(目标对象)中。
读取toc.ncx中的navMap标签(目录结构标签),并进一步进行递归解析与navMap标签对应的navPoint节点列表,优选地,使用DOM4J中的Element对象进行存储navPoint节点列表中的每个节点内容。
根据navPoint的目录标签获取对应的每个子目录索引文件对应的HTML文件的每个锚点位置,并根据每个锚点位置解析每个子目录索引文件对应的HTML文件的文件内容,从而确定第一文件大小,例如,字符格式demo.html为#数字_数字即为文件demo.html的锚点。
按目标比例计算试读ePub文件的第二文件大小,具体地,目标比例是提前确定好的合适的数值(0~1),试读ePub文件=与整体目录索引文件对应的HTML文件内容的大小×目标比例。
循环累加第一文件大小,以得到目标文件大小,当目标文件大小是否大于或等于第二文件大小时循环累加停止,即找到了试读ePub文件的试读目录结构,优选地,循环累加的算法采用递归算法。
将剩余目录对应的链接锚点修改为空白提示页面地址,其中,空白提示页面可以自己进行定制内容。
将除与试读目录结构对应的HTML文件内容以外的剩余HTML文件内容删除。
将整体处理过后的目标路径中的文件进行zip压缩为最终的试读ePub文件。
以上结合附图详细说明了本发明的技术方案,通过将ePub文件的整体目录索引文件解析成多个子目录索引文件,从而根据每个子目录索引文件对应的HTML文件内容的大小和目标比例所确定的试读ePub文件的大小,可以有效且快速地获取试读ePub文件,进而实现了对ePub文件进行批量快速地处理。
在本发明中,术语“第一”、“第二”、“第三”仅用于描述的目的,而不能理解为指示或暗示相对重要性;术语“多个”表示两个或两个以上。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于ePub文件的试读方法,其特征在于,包括:
获取ePub文件的整体目录索引文件;
解析所述整体目录索引文件,以获取所述整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小;
根据目标比例确定试读ePub文件的第二文件大小;
根据所述第一文件大小和所述第二文件大小确定所述试读ePub文件的试读目录结构,以获取所述试读ePub文件。
2.根据权利要求1所述的基于ePub文件的试读方法,其特征在于,获取所述ePub文件的所述整体目录索引文件,具体包括:
将所述ePub文件解压至目标路径中;
在所述目标路径中,获取所述ePub文件的打包索引文件;
解析所述打包索引文件,以获取所述打包索引文件中指定代码文件的标签内容;
解析所述标签内容,以获取所述指定代码文件的文件路径;
根据所述文件路径获取所述整体目录索引文件。
3.根据权利要求1所述的基于ePub文件的试读方法,其特征在于,获取所述每个子目录索引文件对应的HTML文件的所述第一文件大小,具体包括:
解析所述整体目录索引文件的XML格式至目标对象中;
获取所述整体目录索引文件中的目录结构标签,以解析与所述目录结构标签对应的节点列表;
根据所述节点列表的目录标签获取对应的所述每个子目录索引文件对应的HTML文件的每个锚点位置;
根据所述每个锚点位置解析所述每个子目录索引文件对应的HTML文件的文件内容,确定所述第一文件大小。
4.根据权利要求2或3所述的基于ePub文件的试读方法,其特征在于,根据所述第一文件大小和所述第二文件大小确定所述试读ePub文件的所述试读目录结构,具体包括:
循环累加所述第一文件大小,以得到目标文件大小;
判断所述目标文件大小是否大于或等于所述第二文件大小;
在判断结果为是时,停止循环累加所述第一文件大小,并确定所述试读ePub文件的所述试读目录结构。
5.根据权利要求4所述的基于ePub文件的试读方法,其特征在于,
在所述目标路径下,将除与所述试读目录结构对应的HTML文件内容以外的剩余HTML文件内容删除,以获取所述试读ePub文件。
6.一种基于ePub文件的试读系统,其特征在于,包括:
第一获取模块,用于获取ePub文件的整体目录索引文件;
第一解析模块,用于解析所述整体目录索引文件,以获取所述整体目录索引文件中的每个子目录索引文件对应的HTML文件内容的第一文件大小;
计算模块,用于根据目标比例确定试读ePub文件的第二文件大小;
第一确定模块,用于根据所述第一文件大小和所述第二文件大小确定所述试读ePub文件的试读目录结构,以获取所述试读ePub文件。
7.根据权利要求6所述的基于ePub文件的试读系统,其特征在于,所述第一获取模块包括:
解压模块,用于将所述ePub文件解压至目标路径中;
第二获取模块,用于在所述目标路径中,获取所述ePub文件的打包索引文件;
第二解析模块,用于解析所述打包索引文件,以获取所述打包索引文件中指定代码文件的标签内容,以及解析所述标签内容,以获取所述指定代码文件的文件路径;
以及所述第二获取模块还用于:
根据所述文件路径获取所述整体目录索引文件。
8.根据权利要求6所述的基于ePub文件的试读系统,其特征在于,所述第一解析模块包括:
第三解析模块,用于解析所述整体目录索引文件的XML格式至目标对象中;
第三获取模块,用于获取所述整体目录索引文件中的目录结构标签,以解析与所述目录结构标签对应的节点列表,以及根据所述节点列表的目录标签获取对应的所述每个子目录索引文件对应的HTML文件的每个锚点位置;
第二确定模块,用于根据所述每个锚点位置解析所述每个子目录索引文件对应的HTML文件的文件内容,确定所述第一文件大小。
9.根据权利要求7或8所述的基于ePub文件的试读系统,其特征在于,所述第一确定模块包括:
累加模块,用于循环累加所述第一文件大小,以得到目标文件大小;
判断模块,用于判断所述目标文件大小是否大于或等于所述第二文件大小;
第三确定模块,用于在判断结果为是时,停止循环累加所述第一文件大小,并确定所述试读ePub文件的所述试读目录结构。
10.根据权利要求9所述的基于ePub文件的试读系统,其特征在于,所述第一确定模块还包括:
删除模块,用于在所述目标路径下,将除与所述试读目录结构对应的HTML文件内容以外的剩余HTML文件内容删除,以获取所述试读ePub文件。
CN201510191255.5A 2015-04-21 2015-04-21 基于ePub文件的试读方法和基于ePub文件的试读系统 Expired - Fee Related CN106156191B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510191255.5A CN106156191B (zh) 2015-04-21 2015-04-21 基于ePub文件的试读方法和基于ePub文件的试读系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510191255.5A CN106156191B (zh) 2015-04-21 2015-04-21 基于ePub文件的试读方法和基于ePub文件的试读系统

Publications (2)

Publication Number Publication Date
CN106156191A true CN106156191A (zh) 2016-11-23
CN106156191B CN106156191B (zh) 2019-08-06

Family

ID=58057929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510191255.5A Expired - Fee Related CN106156191B (zh) 2015-04-21 2015-04-21 基于ePub文件的试读方法和基于ePub文件的试读系统

Country Status (1)

Country Link
CN (1) CN106156191B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391655A (zh) * 2017-07-18 2017-11-24 北京京东尚科信息技术有限公司 一种抽取试读文件的方法和装置
CN110955484A (zh) * 2019-12-12 2020-04-03 北京思维造物信息科技股份有限公司 一种电子书页面呈现方法、装置和设备
CN111475456A (zh) * 2020-03-06 2020-07-31 北京思维造物信息科技股份有限公司 一种基于动态参数来提供电子文件的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996250A (zh) * 2010-11-15 2011-03-30 中国科学院计算技术研究所 一种基于Hadoop的海量流数据存储和查询方法及系统
CN102521280A (zh) * 2011-11-26 2012-06-27 华为技术有限公司 一种EPub电子书加载方法及装置
CN103761277A (zh) * 2014-01-09 2014-04-30 北京掌阔技术有限公司 一种ePub电子书的加载方法和系统
CN103942205A (zh) * 2013-01-18 2014-07-23 深圳市腾讯计算机系统有限公司 存储、读取目录索引的方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996250A (zh) * 2010-11-15 2011-03-30 中国科学院计算技术研究所 一种基于Hadoop的海量流数据存储和查询方法及系统
CN102521280A (zh) * 2011-11-26 2012-06-27 华为技术有限公司 一种EPub电子书加载方法及装置
CN103942205A (zh) * 2013-01-18 2014-07-23 深圳市腾讯计算机系统有限公司 存储、读取目录索引的方法、装置及系统
CN103761277A (zh) * 2014-01-09 2014-04-30 北京掌阔技术有限公司 一种ePub电子书的加载方法和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391655A (zh) * 2017-07-18 2017-11-24 北京京东尚科信息技术有限公司 一种抽取试读文件的方法和装置
CN107391655B (zh) * 2017-07-18 2020-11-24 北京京东尚科信息技术有限公司 一种抽取试读文件的方法和装置
CN110955484A (zh) * 2019-12-12 2020-04-03 北京思维造物信息科技股份有限公司 一种电子书页面呈现方法、装置和设备
CN111475456A (zh) * 2020-03-06 2020-07-31 北京思维造物信息科技股份有限公司 一种基于动态参数来提供电子文件的方法及系统
CN111475456B (zh) * 2020-03-06 2023-04-28 北京思维造物信息科技股份有限公司 一种基于动态参数来提供电子文件的方法及系统

Also Published As

Publication number Publication date
CN106156191B (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
CN111639287A (zh) 一种页面处理方法、装置、终端设备及可读存储介质
CN101025738B (zh) 一种免模板动态网站生成方法
CN104020984B (zh) 一种生成静态页面的方法及装置
CN102163233A (zh) 一种网页标记语言格式转换方法及系统
US20130339840A1 (en) System and method for logical chunking and restructuring websites
CN105094786A (zh) 基于JavaScript定制页面的方法及系统
CN104572035A (zh) 网页代码的动态生成方法和动态生成系统
CN102289407A (zh) 文档格式转换自动测试方法及其装置
CN111382192B (zh) 一种数据列表展示方法、装置和电子设备
CN106156191A (zh) 基于ePub文件的试读方法和基于ePub文件的试读系统
Panić et al. Fuzzy XML and prioritized fuzzy XQuery with implementation
CN103853770B (zh) 一种抽取论坛网页中帖子内容的方法及系统
WO2003067470A1 (fr) Appareil de delivrance de documents, appareil de reception de documents, procede de delivrance de documents, programme de delivrance de documents et systeme de delivrance de documents
CN105095285B (zh) 数字出版物导览目录处理方法和装置
CN103294463A (zh) 一种编辑系统及方法
JP2007115276A (ja) コンテンツデータ生成処理プログラムおよびコンテンツデータ生成処理プログラム記録媒体
KR102585545B1 (ko) 음성 기반 제품사용설명서 안내 서비스 제공 방법
CN105653513A (zh) 一种基于猪场管理的表单录入方法及系统
Marcadet et al. RiseClipse: Why working at the model level is better for validating data conforming to IEC standards
CN113239670A (zh) 一种业务模板上传的方法、装置、计算机设备及存储介质
CN112328246A (zh) 页面组件生成方法、装置、计算机设备及存储介质
KR101231329B1 (ko) 모바일 환경에서의 웹 데이터 추출을 위한 시스템
Lubell et al. XML representation of STEP schemas and data
US11714954B1 (en) System for determining reliability of extracted data using localized graph analysis
JP2004145736A (ja) 文字認識装置および文字認識データ出力方法およびプログラムおよび記録媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220623

Address after: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee after: Peking University

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee before: Peking University

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190806