CN113282811A - 一种mobi文档显示方法、装置及设备 - Google Patents
一种mobi文档显示方法、装置及设备 Download PDFInfo
- Publication number
- CN113282811A CN113282811A CN202110585175.3A CN202110585175A CN113282811A CN 113282811 A CN113282811 A CN 113282811A CN 202110585175 A CN202110585175 A CN 202110585175A CN 113282811 A CN113282811 A CN 113282811A
- Authority
- CN
- China
- Prior art keywords
- document
- html
- read
- mobi
- content
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/149—Adaptation of the text data for streaming purposes, e.g. Efficient XML Interchange [EXI] format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种MOBI文档显示方法、装置及设备,本申请通过获取用户请求的待阅读文档,进而判断待阅读文档是否仅包含一份HTML文档,若是,则解析待阅读文档以便提取待阅读文档包含的HTML文档,进一步地,将提取到的HTML文档中的分隔符作为分割点,对HTML文档进行分割,得到分割后的HTML子文档,最后仅对用户请求的待阅读内容对应的HTML子文档进行渲染并显示,本申请通过对HTML文档进行分割,得到若干个HTML子文档,当用户阅读某一章节的内容时,电子书阅读终端仅对用户待阅读内容对应的HTML子文档进行加载,而不是加载整个体积较大的HTML文档,从而缩短了文档加载时间,提高了文档的加载速度。
Description
技术领域
本申请涉及文档处理技术领域,具体地说,涉及一种MOBI文档显示方法、装置及设备。
背景技术
随着移动技术的快速发展,越来越多的电子书阅读终端应运而生,因为电子书阅读终端通常具有庞大的电子书数据库,人们可以方便地从其中找到自己想要阅读的书籍或者词典,从而电子书阅读器越来越受欢迎。电子书阅读终端一般可支持多种格式的文档,其中一种常见的文档就是MOBI文档。
MOBI文档是由亚马逊公司定义的一种文档,这种格式的文档有多个版本,其中比较常见的是KF7版本,KF7版本的文档有一个特点就是压缩包内只包含一个HTML文档,整本书的内容都包含在一个HTML文档里面;另外,还有MOBI词典,这种格式的词典跟KF7版本的MOBI文档有个相同的特点,就是MOBI词典的压缩包内只包含一个HTML文档,即整个词典的内容都包含在一个HTML文档里面。
本申请的申请人发现现有的技术方案为:当用户选择某一本书籍或者词典阅读时,电子书阅读终端一次加载整个待阅读文档包含的HTML文档。在此情况下,当用户选择待阅读的文档是KF7版本的MOBI文档,或者是MOBI词典的时候,若MOBI文档中的HTML文档体积较大,则一次加载整个HTML文档会占用较长的加载时间,用户等待加载文档的时间比较长。
发明内容
有鉴于此,本申请的目的在于提供一种MOBI文档显示方法、装置及设备,以解决一次加载整个HTML文档需要的加载时间较长,加载速度慢的问题。
为了实现上述目的,本申请提出的技术方案如下:
一种MOBI文档显示方法,该方法包括:
获取用户请求的待阅读文档;
判断所述待阅读文档是否仅包含一份HTML文档;若是,则解析所述待阅读文档,以便提取所述待阅读文档包含的所述HTML文档;
将所述HTML文档中的分隔符作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档;
将用户请求的待阅读内容所对应的HTML子文档进行渲染并显示。
可选的,将所述HTML文档中的分隔符作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档,包括:
提取所述HTML文档的内容字符串;
对所述内容字符串匹配分隔符,得到所述分隔符所在的位置;
将所述分隔符所在的位置作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档。
可选的,对所述内容字符串匹配分隔符,得到所述分隔符所在的位置,包括:
对所述内容字符串使用正则表达式匹配分隔符,得到所述分隔符所在的位置。
可选的,所述提取所述HTML文档的内容字符串,包括:
将所述HTML文档中的HTML标签去除,得到无HTML标签的内容字符串。
可选的,将所述分隔符所在的位置作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档,包括:
将所述分隔符所在位置作为分割点,对所述HTML文档进行分割,得到分割后的若干个内容字符串;
在分割后的每个内容字符串两侧添加HTML标签,得到对应的HTML子文档。
可选的,所述判断所述待阅读文档是否仅包含一份HTML文档,包括:
判断所述待阅读文档是否含有KF7文档标签或MOBI词典标签,若是,则确定仅包含一份HTML文档,所述KF7文档标签或MOBI词典标签包含所述待阅读文档的版本信息。
可选的,将所述HTML文档中的分隔符作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档之后,还包括:
将所述HTML子文档缓存于本地。
可选的,将所述HTML子文档缓存于本地,包括:
计算所述待阅读文档的MD5值,将所述MD5值作为所述待阅读文档的关键字;
在本地创建文档缓存目录,所述文档缓存目录的名称为所述待阅读文档的关键字;
将所述HTML子文档写入所述文档缓存目录。
一种MOBI文档显示装置,包括:
获取单元,用于获取用户请求的待阅读文档;
判断单元,用于判断所述待阅读文档是否仅包含一份HTML文档;若是,则解析所述待阅读文档,以便提取所述待阅读文档包含的所述HTML文档;
分割单元,用于将所述HTML文档中的分隔符作为分割点,对所述HTML 文档进行分割,得到分割后的HTML子文档;
渲染单元,用于将用户请求的待阅读内容所对应的HTML文档进行渲染。
一种MOBI文档显示设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现上述的MOBI文档显示方法的各个步骤。
本申请通过获取用户请求的待阅读文档,进而判断待阅读文档是否仅包含一份HTML文档,若是,则解析待阅读文档以便提取待阅读文档包含的 HTML文档,进一步地,将提取到的HTML文档中的分隔符作为分割点,对 HTML文档进行分割,得到分割后的HTML子文档,最后仅对用户请求的待阅读内容对应的HTML子文档进行渲染并显示,本申请通过对HTML文档进行分割,得到若干个HTML子文档,当用户阅读某一章节的内容时,终端仅对用户待阅读内容对应的HTML子文档进行加载,而不是加载整个体积较大的HTML 文档,从而缩短了文档加载时间,提高了文档的加载速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种MOBI文档显示方法的流程示意图;
图2为本申请实施例提供的对HTML文档进行分割的过程示意图;
图3为本申请实施例提供的缓存HTML子文档的过程示意图;
图4为本申请实施例提供的MOBI文档显示装置结构示意图;
图5为申请实施例提供的MOBI文档显示设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的申请人发现,MOBI文档有两个比较常见版本为KF7文档和 MOBI词典,这两个版本的MOBI文档都有一个共同的特点就是KF7文档和MOBI词典内仅包含一份HTML文档,整个KF7文档或者词典的内容都包含在一个HTML文档内。目前,电子书阅读器都是一次加载整个HTML文档,所以一般仅包含一份HTML文档的KF7文档或者MOBI词典的加载时间都比较长。为了解决该问题,本申请提供了一种MOBI文档显示方法、装置及设备,本申请通过对HTML文档进行分割,得到若干个HTML子文档,当用户阅读某一章节的内容时,电子书阅读终端仅对用户待阅读内容对应的HTML子文档进行加载,而不是加载整个体积较大的HTML文档,从而缩短了文档加载时间,提高了文档的加载速度。
接下来对本申请的MOBI文档显示方法进行详细的介绍,请参考图1,图1 为本申请实施例中提供的一种MOBI文档显示方法的流程示意图,该方法包括:
步骤S110,获取用户请求的待阅读文档。
具体地,获取用户请求的待阅读文档的过程,可以是响应用户在电子书阅读终端显示界面上点击待阅读的书籍或者词典的操作,将用户所点击的书籍或词典作为待阅读文档。这里的电子书阅读终端可以是电子书阅读器、手机或其它设备。
此外,获取用户请求的待阅读文档的过程也可以是当用户通过语音发出阅读指令时,电子书阅读终端通过语音识别出用户所选择的待阅读的书籍或者词典。上述仅仅示例了两种可选的获取用户请求的待阅读文档的方式,除此之外,本领域技术人员还可以采用其它方式实现。
可选的,上述用户请求待阅读的文档可以是KF7版本的文档,可以是MOBI 格式的词典,也可以是MOBI文档的其他版本文档。
步骤S120,判断所述待阅读文档是否仅包含一份HTML文档;若是,则执行步骤S130。
具体地,电子书阅读终端可以支持打开多种格式、多种版本的文档,但有些文档并不是仅包含一份HTML文档的,这些文档通常无需进行分割便可以快速加载,这就需要先判断待阅读的文档是否仅包含一份HTML文档。
步骤S130,解析所述待阅读文档,以便提取所述待阅读文档包含的所述 HTML文档。
具体地,在上述步骤判断所述待阅读文档是否仅包含一份HTML文档的情况下,进一步对待阅读文档进行解析。
待阅读文档一般以压缩包的形式存在于电子书阅读终端,此待阅读文档的压缩包里面包含有HTML文档,并且HTML文档通常情况下体积非常大。对待阅读文档的压缩包进行解析,可以提取到待阅读文档的HTML文档。
步骤S140,将所述HTML文档中的分隔符作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档。
具体地,HTML文档中的分隔符可以根据MOBI文档的内容自定义,考虑到MOBI文档兼容性的问题,同一个HTML文档里面的分隔符的形式可以有多种。将HTML文档中分隔符作为分割点,对HTML文档进行分割,得到若干个分割后的HTML子文档。
本步骤中,对HTML文档进行分割,得到若干个分割后的HTM子文档, HTML子文档的个数可以是两个,也可以是两个以上,HTML子文档的个数根据HTML中的分隔符的个数决定。每一个HTML子文档的体积比HTML文档的体积小,体积小的HTML子文档,有利于电子书阅读终端加载。
步骤S150,将用户请求的待阅读内容所对应的HTML子文档进行渲染并显示。
具体地,对HTML文档进行分割之后,可以得到分割后的HTML子文档,并且HTML子文档的体积比HTML文档的体积小,电子书阅读终端仅对待阅读内容对应的HTML子文档进行渲染并显示。
从上述的技术方案可以看出,本申请实施例提供的MOBI文档显示方法通过获取用户请求的待阅读文档,进而判断待阅读文档是否仅包含一份HTML 文档,若是,则解析待阅读文档以便提取待阅读文档包含的HTML文档,进一步地,将提取到的HTML文档中的分隔符作为分割点,对HTML文档进行分割,得到分割后的HTML子文档,最后仅对用户请求的待阅读内容对应的HTML子文档进行渲染并显示,本申请通过对HTML文档进行分割,得到若干个HTML 子文档,当用户阅读某一章节的内容时,电子书阅读终端仅对用户待阅读内容对应的HTML子文档进行加载,而不是加载整个体积较大的HTML文档,从而缩短了文档加载时间,提高了文档的加载速度。
本申请的一些实施例中,对上述步骤S140,将HTML文档中的分隔符作为分割点,对HTML文档进行分割,得到分割后的HTML子文档的过程进行详细介绍。
请参阅图2,图2为本申请实施例提供的对HTML文档进行分割的过程示意图,如图2所示,该过程可以包括如下步骤:
步骤S210,提取所述HTML文档的内容字符串。
具体地,标准的一份HTML文档一般包含有HTML标签字符串<html>、 <body>、</body>、</html>和内容字符串,HTML标签字符串在内容字符串的两侧。本步骤中,可以将HTML文档中两侧的HTML标签字符串去掉,从而获取到HTML文档的内容字符串。以一个简单的例子进行说明:
定义HTML文档里的字符串为“<html><body>第一章内容 <mbp:pagebreak/>第二章内容<mbp:pagebreak/>第三章内容</body></html>”。
由此可知,其中开头和结尾部分的<html><body>、</body></html>属于 HTML标签字符串,中间的“第一章内容<mbp:pagebreak/>第二章内容 <mbp:pagebreak/>第三章内容”为需要提取出来的内容字符串。将内容字符串两侧的HTML标签过滤,就可以得到无HTML标签的内容字符串。
步骤S220,对所述内容字符串匹配分隔符,得到所述分隔符所在的位置。
具体地,分隔符可以根据MOBI文档定义。分隔符的具体表现形式可以有多种,如上述例子中,<mbp:pagebreak/>是一种分隔符,除此之外,分隔符还可以包括<mbp:pagebreak></mbp:pagebreak>等。<mbp:pagebreak></mbp:pageb reak>表示中间可能包含空格符或其他空白符,当包含的是空格符或者其他空白符时,仍然被认为是有效的分隔符。
分隔符所在的位置可以通过字符串的字节范围表示,本申请实施例以字符串的字节范围表示分隔符所在的位置为例进行说明。在MOBI文档中,字符串以UTF-8编码,这种编码方式的一个字符按3个字节计算,匹配分隔符后,得到多个字节范围,从而得到分隔符所在的位置。如上述例子中,HTML文档的内容字符串为“第一章内容<mbp:pagebreak/>第二章内容<mbp:pagebreak/> 第三章内容”,对此内容字符串进行匹配分隔符,记录字符串的字节范围。
“第一章内容<mbp:pagebreak/>第二章内容<mbp:pagebreak/>第三章内容”字符串中定义“第一章内容”中的“第”为整份内容字符串的第一个字符,“第一章内容<mbp:pagebreak/>”此字符串中有21个字符,每个字符按3 个字节计算,即21个字符*每个字符占3个字节=63字节,记录此字符串的字节范围为[0,63),[0,63)中的“63”表示第一个分隔符最后一个字节所在位置为内容字符串中第63个字节处,并以此表示分隔符所在的位置。
同理得到“第二章内容<mbp:pagebreak/>”字符串的字节范围为[63,126),其中126字节=63+21个字符*每个字符占3个字节。同样的,[63,126)中的“126”表示第二个分隔符最后一个字节所在的位置为内容字符串中第126个字节处,并以此表示分隔符所在的位置。
步骤S230,将所述分隔符所在的位置作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档。
具体地,考虑到若以分隔符最前一个字符作为分割点对HTML文档进行分割会导致章节开头出现空白页,为此,本申请选择分隔符最后一个字符的位置作为分割点。
本申请的一些实施例中,可以使用正则表达式的方式匹配分隔符。根据上述例子给出的HTML文档里的字符串“<html><body>第一章内容<mbp:page break/>第二章内容<mbp:pagebreak/>第三章内容</body></html>”中的分隔符形式,分隔符的正则表达式可以是<mbp:pagebreak/>|<mbp:pagebreak>\s*</mb p:pagebreak>,这个表达式的含义是匹配内容字符串中包含<mbp:pagebreak/> 或包含<mbp:pagebreak>\s*</mbp:pagebreak>分隔符,<mbp:pagebreak>\s*</mb p:pagebreak>中的\s表示匹配任何空白字符,可以是空格符、制表符、换页符, *表示可以没有字符,可以表示1个字符,也可以表示任意个字符,所以<mbp: pagebreak>\s*</mbp:pagebreak>表示以<mbp:pagebreak>开头,以</mbp:pagebreak>结尾,中间包含任意个空白符的分隔符字符串。
本申请的一些实施例中,可以将HTML标签添加到分割后内容字符串两侧,以得到HTML子文档。示例如,第一章HTML文档为:<html><body>第一章内容<mbp:pagebreak/></body></html>;第二章HTML文档为<html><body> 第二章内容<mbp:pagebreak/></body></html>。
本申请的一些实施例中,当用户第一次打开某一份MOBI文档时,电子书阅读终端按照本申请的MOBI文档显示方法对MOBI文档进行分割,仅对待阅读内容对应的HTML子文档进行渲染并显示。如果没有将第一次分割后的 HTML子文档进行缓存,那么当用户再次打开相同的MOBI文档时,电子书阅读终端需要再次对MOBI文档进行分割。为了避免重复分割同一份MOBI文档而占用文档加载时间,进一步地,本申请实施例中可以对分割后得到的HTML子文档进行缓存,下面将对缓存的过程进行详细介绍。
请参照图3,图3为本申请实施例提供的缓存HTML子文档的过程示意图。该缓存过程的详细步骤如下:
步骤S310,计算所述待阅读文档的MD5值,将所述MD5值作为所述待阅读文档的关键字。
具体地,MD5值可以是利用信息摘要算法得到的数据,MD5值可以代表待阅读文档,可以作为关键字映射到电子书阅读终端本地。当用户再次打开相同的一份MOBI文档时,电子书阅读终端会根据待阅读文档的MD5值在本地映射到对应的文档缓存目录。
步骤S320,创建文档缓存目录,所述文档缓存目录的名称为所述待阅读文档的关键字。
具体地,在电子书阅读终端本地创建文档缓存目录,文档缓存目录以待阅读文档的关键字命名。文档缓存目录以待阅读文档的关键字命名,则可以利用关键字将待阅读文档的MD5值与存有该待阅读文档的文档缓存目录关联起来。可以通过判断本地是否存在待阅读文档的关键字来确定本地是否存在与该待阅读文档对应的文档缓存目录。
步骤S330,将所述HTML子文档写入所述文档缓存目录。
具体地,不同的HTML子文档对应不同的章节,对此,可以建立章节信息表,章节信息表可以包括章节索引和章节文件的对应关系,章节文件可以包括不同章节对应的HTML子文档,章节信息和分割后的HTML子文档可以写入同一个缓存目录。章节索引和章节文件的对应关系如下表1示例的章节信息表:
表1
在上述的技术方案中,通过将分割后的HTML子文档缓存于本地,可以避免重复分割HTML文档。当用户第一次选择某一待阅读文档时,电子书阅读终端利用本申请的MOBI文档显示方法对待阅读的MOBI文档进行分割,并将分割后的HTML子文档缓存于本地,当用户再次打开相同的MOBI文档时,电子书阅读终端直接从本地获取分割后的HTML子文档,这样一来,可以避免重复分割HTML文档,节省了切割过程占用的时间,进而更进一步缩短文档的加载时间,提高文档的加载速度。
下面对比分析HTML文档在分割前与分割后分别对应的加载时间。需要说明的是,以下提及到的文档加载时间均由本申请的申请人从电子书阅读终端的程序执行后台得到。
以一本约为261MB的KF7文档为例(世界文学名著合辑(套装六十册).mobi),此文档里仅包含一份约52MB的HTML文档(约为54811195B),若使用现有技术的方法,一次加载约52MB的HTML文档,由电子书阅读终端的程序执行后台显示,此HTML文档的加载时间约为15654毫秒。
使用本申请的MOBI文档显示方法对此份约为52MB的HTML文档进行分割:提取内容字符串需要约46毫秒,对内容字符串进行匹配分隔符,将得到的分隔符所在的位置作为分割点对HTML文档进行分割约需要301毫秒,对切割后的内容字符串部分添加HTML标签<html><body>和</html></body>得到切割后的HTML子文档的过程约需要187毫秒。可见,整个HTML文档分割的过程一共约需要46+301+187=534毫秒。
使用正则表达式对此份HTML文档进行匹配分隔符,匹配到215个分隔符,由此可知,此份文档被分割成216份HTML子文档,每一份子文档对应一个章节。平均每份HTML子文档约为248KB,由电子书阅读终端的程序执行后台显示,分割后的一个HTML子文档的加载时间约为576毫秒。
综上,使用本申请的MOBI文档显示方法加载一个分割后的HTML子文档的时间约为534+576=1110毫秒,很明显地,相比一次加载整个HTML文档需要约15654毫秒,使用本申请的MOBI文档显示方法,可以大大缩短MOBI文档的加载时间,提高了文档的加载速度。
本申请的一些实施例中,对分割后的HTML子文档进行缓存,当用户再次打开此份KF7文档时,可直接从电子书阅读终端本地获取分割后的HTML子文档,从而节省对HTML文档分割的时间。从本地获取章节信息以及获取HTML 子文档所用的时间约为5毫秒,时间很短,从而可以更进一步地缩短文档的加载时间,提高文档的加载速度。
下面对本申请实施例提供的MOBI文档显示装置进行描述,下文描述的 MOBI文档显示装置与上文描述的MOBI文档显示方法可相互对应参照。
请参阅图4,图4为本申请实施例提供的MOBI文档显示装置结构示意图。
如图4所示,该装置可以包括:
获取单元11,用于获取用户请求的待阅读文档;
判断单元12,用于判断所述待阅读文档是否仅包含一份HTML文档;若是,则解析所述待阅读文档,以便提取所述待阅读文档包含的所述HTML文档;
分割单元13,用于将所述HTML文档中的分隔符作为分割点,对所述 HTML文档进行分割,得到分割后的HTML子文档;
渲染单元14,用于将用户请求的待阅读内容所对应的HTML子文档进行渲染并显示。
从上述的技术方案可以看出,本申请实施例提供的MOBI文档显示装置通过获取用户请求的待阅读文档,进而判断待阅读文档是否仅包含一份HTML 文档,若是,则解析待阅读文档以便提取待阅读文档包含的HTML文档,进一步地,将提取到的HTML文档中的分隔符作为分割点,对HTML文档进行分割,得到分割后的HTML子文档,最后仅对用户请求的待阅读内容对应的HTML子文档进行渲染并显示,本申请通过对HTML文档进行分割,得到若干个HTML 子文档,当用户阅读某一章节的内容时,电子书阅读终端仅对用户待阅读内容对应的HTML子文档进行加载,而不是加载整个体积较大的HTML文档,从而缩短了文档加载时间,提高了文档的加载速度。
可选的,上述分割单元13可以包括:
提取单元,用于提取所述HTML文档的内容字符串;
分隔符匹配单元,用于对所述内容字符串匹配分隔符,得到所述分隔符所在的位置;
HTML子文档获取单元,用于将所述分隔符所在的位置作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档。
可选的,上述分隔符匹配单元可以包括:
正则表达式匹配分隔符单元,用于对所述内容字符串使用正则表达式匹配分隔符,得到所述分隔符所在的位置。
可选的,上述提取单元可以包括:
HTML标签过滤单元,用于将所述HTML文档中的HTML标签去除,得到无HTML标签的内容字符串。
可选的,上述HTML子文档获取单元可以包括:
分割后内容字符串获取单元,用于将所述分隔符所在位置作为分割点,对所述HTML文档进行分割,得到分割后的若干个内容字符串;
HTML标签添加单元,用于在分割后的每个内容字符串两侧添加HTML 标签,得到对应的HTML子文档。
可选的,上述判断单元12可以包括:
文档标签判断单元,用于判断所述待阅读文档是否含有KF7文档标签或 MOBI词典标签,若是,则确定仅包含一份HTML文档,所述KF7文档标签或MOBI词典标签包含所述待阅读文档的版本信息。
可选的,本申请的MOBI文档显示装置还可以包括:
缓存单元,用于将所述HTML子文档缓存于本地。
可选的,上述缓存单元可以包括:
MD5值计算单元,用于计算所述待阅读文档的MD5值,将所述MD5值作为所述待阅读文档的关键字;
文档缓存目录创建单元,用于在本地创建文档缓存目录,所述文档缓存目录的名称为所述待阅读文档的关键字;
HTML子文档写入单元,用于将所述HTML子文档写入所述文档缓存目录。
本申请实施例提供的MOBI文档显示装置可应用于MOBI文档显示设备,如电子书阅读器、手机、iPad等。可选的,图5示出了MOBI文档显示设备的硬件结构框图,请参照图5,MOBI文档显示设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC (ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器 (non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
获取用户请求的待阅读文档;
判断所述待阅读文档是否仅包含一份HTML文档;若是,则解析所述待阅读文档,以便提取所述待阅读文档包含的所述HTML文档;
将所述HTML文档中的分隔符作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档;
将用户请求的待阅读内容所对应的HTML子文档进行渲染并显示。
可选地,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种MOBI文档显示方法,其特征在于,该方法包括:
获取用户请求的待阅读文档;
判断所述待阅读文档是否仅包含一份HTML文档;若是,则解析所述待阅读文档,以便提取所述待阅读文档包含的所述HTML文档;
将所述HTML文档中的分隔符作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档;
将用户请求的待阅读内容所对应的HTML子文档进行渲染并显示。
2.根据权利要求1所述的方法,其特征在于,将所述HTML文档中的分隔符作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档,包括:
提取所述HTML文档的内容字符串;
对所述内容字符串匹配分隔符,得到所述分隔符所在的位置;
将所述分隔符所在的位置作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档。
3.根据权利要求2所述的方法,其特征在于,对所述内容字符串匹配分隔符,得到所述分隔符所在的位置,包括:
对所述内容字符串使用正则表达式匹配分隔符,得到所述分隔符所在的位置。
4.根据权利要求2所述的方法,其特征在于,所述提取所述HTML文档的内容字符串,包括:
将所述HTML文档中的HTML标签去除,得到无HTML标签的内容字符串。
5.根据权利要求2所述的方法,将所述分隔符所在的位置作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档,包括:
将所述分隔符所在位置作为分割点,对所述HTML文档进行分割,得到分割后的若干个内容字符串;
在分割后的每个内容字符串两侧添加HTML标签,得到对应的HTML子文档。
6.根据权利要求1所述的方法,其特征在于,所述判断所述待阅读文档是否仅包含一份HTML文档,包括:
判断所述待阅读文档是否含有KF7文档标签或MOBI词典标签,若是,则确定仅包含一份HTML文档,所述KF7文档标签或MOBI词典标签包含所述待阅读文档的版本信息。
7.根据权利要求1所述的方法,其特征在于,将所述HTML文档中的分隔符作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档之后,还包括:
将所述HTML子文档缓存于本地。
8.根据权利要求7所述的方法,其特征在于,将所述HTML子文档缓存于本地,包括:
计算所述待阅读文档的MD5值,将所述MD5值作为所述待阅读文档的关键字;
在本地创建文档缓存目录,所述文档缓存目录的名称为所述待阅读文档的关键字;
将所述HTML子文档写入所述文档缓存目录。
9.一种MOBI文档显示装置,其特征在于,包括:
获取单元,用于获取用户请求的待阅读文档;
判断单元,用于判断所述待阅读文档是否仅包含一份HTML文档;若是,则解析所述待阅读文档,以便提取所述待阅读文档包含的所述HTML文档;
分割单元,用于将所述HTML文档中的分隔符作为分割点,对所述HTML文档进行分割,得到分割后的HTML子文档;
渲染单元,用于将用户请求的待阅读内容所对应的HTML文档进行渲染。
10.一种MOBI文档显示设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~8中任一项所述的MOBI文档显示方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110585175.3A CN113282811A (zh) | 2021-05-27 | 2021-05-27 | 一种mobi文档显示方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110585175.3A CN113282811A (zh) | 2021-05-27 | 2021-05-27 | 一种mobi文档显示方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113282811A true CN113282811A (zh) | 2021-08-20 |
Family
ID=77282013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110585175.3A Pending CN113282811A (zh) | 2021-05-27 | 2021-05-27 | 一种mobi文档显示方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282811A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346730A (zh) * | 2010-07-30 | 2012-02-08 | 汉王科技股份有限公司 | 电子阅读器中显示目录的方法和装置 |
US20160132495A1 (en) * | 2014-11-06 | 2016-05-12 | Accenture Global Services Limited | Conversion of documents of different types to a uniform and an editable or a searchable format |
CN107423013A (zh) * | 2017-03-31 | 2017-12-01 | 掌阅科技股份有限公司 | 一种数据显示方法、装置及电子设备 |
CN110929474A (zh) * | 2019-10-28 | 2020-03-27 | 维沃移动通信(杭州)有限公司 | 一种文学作品章节的显示方法、电子设备及介质 |
CN111191079A (zh) * | 2019-12-25 | 2020-05-22 | 中国平安财产保险股份有限公司 | 一种文档内容获取方法、装置、设备及存储介质 |
CN112329548A (zh) * | 2020-10-16 | 2021-02-05 | 北京临近空间飞行器系统工程研究所 | 一种文档章节分割方法、装置及存储介质 |
-
2021
- 2021-05-27 CN CN202110585175.3A patent/CN113282811A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346730A (zh) * | 2010-07-30 | 2012-02-08 | 汉王科技股份有限公司 | 电子阅读器中显示目录的方法和装置 |
US20160132495A1 (en) * | 2014-11-06 | 2016-05-12 | Accenture Global Services Limited | Conversion of documents of different types to a uniform and an editable or a searchable format |
CN107423013A (zh) * | 2017-03-31 | 2017-12-01 | 掌阅科技股份有限公司 | 一种数据显示方法、装置及电子设备 |
CN110929474A (zh) * | 2019-10-28 | 2020-03-27 | 维沃移动通信(杭州)有限公司 | 一种文学作品章节的显示方法、电子设备及介质 |
CN111191079A (zh) * | 2019-12-25 | 2020-05-22 | 中国平安财产保险股份有限公司 | 一种文档内容获取方法、装置、设备及存储介质 |
CN112329548A (zh) * | 2020-10-16 | 2021-02-05 | 北京临近空间飞行器系统工程研究所 | 一种文档章节分割方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110083805B (zh) | 一种将Word文件转换为EPUB文件的方法及系统 | |
US10261983B2 (en) | Method and device for webpage browsing, and mobile terminal | |
US20130268843A1 (en) | Method, Apparatus And System For Rendering Web Page | |
US20080282153A1 (en) | Text-content features | |
EP2532157B1 (en) | Method for content folding | |
CN109033282B (zh) | 一种基于抽取模板的网页正文抽取方法及装置 | |
JP6122800B2 (ja) | 電子機器、文字列表示方法、および文字列表示プログラム | |
CN109492177B (zh) | 一种基于网页语义结构的网页分块方法 | |
CN105005472B (zh) | 一种web上显示维吾尔文字的方法及装置 | |
CN112487763A (zh) | 基于svg的ofd文件在线显示方法、服务器端及系统 | |
CN112380337A (zh) | 基于富文本的高亮方法及装置 | |
CN102033926B (zh) | 一种页面内容处理方法及装置 | |
CN111881094A (zh) | 日志中关键信息提取方法、装置、终端及存储介质 | |
JP2002297568A (ja) | 構造化文書符号化装置及び記録媒体 | |
CN103365934A (zh) | 复杂命名实体抽取方法及装置 | |
WO2008132706A1 (en) | A web browsing method and system | |
US7814408B1 (en) | Pre-computing and encoding techniques for an electronic document to improve run-time processing | |
TW201530322A (zh) | 字型處理方法及字型處理系統 | |
CN107203509B (zh) | 标题生成方法和装置 | |
CN113282811A (zh) | 一种mobi文档显示方法、装置及设备 | |
CN112433995A (zh) | 文件格式转换方法、系统、计算机设备及存储介质 | |
CN111241096A (zh) | 一种excel文档的文本提取方法、系统、终端及存储介质 | |
CN111475679B (zh) | Html文档处理方法、页面显示方法和设备 | |
CN114880523A (zh) | 字符串处理方法、装置、电子设备及存储介质 | |
CN113268617A (zh) | 论文元数据的检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210820 |