跳到主要内容

Reader Kit简介

Reader Kit(阅读服务)为开发者提供多种格式电子书的解析、排版、阅读交互能力,开发者可以借助Reader Kit的能力和组件快速构建书籍阅读能力。

能力范围

Reader Kit提供的能力如下:

  • 多种格式书籍的解析能力:提供对txt、epub、mobi、azw、azw3格式书籍进行解析的能力,可获取书籍中的书名、作者、书封、目录以及目录对应的正文内容。
  • txt、富文本内容排版能力:支持对标准的txt、富文本内容(html+css)按仿真和横滑方式进行分页排版,并提供排版快照和排版信息。
  • 阅读页组件(ReadPageComponent):支持对书籍排版内容的显示、多种翻页交互和翻页动效,以及翻页阅读过程中阅读器所需要的进度、行为感知能力。

亮点/特征

  • 支持多种电子书籍格式解析,提供标准规范的书籍信息和内容数据。
  • 对富文本内容(html+css)的排版符合W3C标准规范,且对排版过程做了高效的算法优化,提高了排版速度和效率。
  • 对内容进行展示时,除了支持系统字体之外,还支持扩展自定义字体,满足用户的个性化需求。
  • 阅读页组件(ReadPageComponent)提供常用的阅读交互能力,支持多种翻页方式,采用OpenGL(C/C++)绘制翻页动效,阅读过程更丝滑,更流畅。

基本概念

  • ReadPageComponent

    Reader Kit封装的阅读页UI组件ReadPageComponent(ets),支持对书籍排版内容的显示、多种翻页交互和翻页动效,以及翻页阅读过程中阅读器所需要的进度、行为感知能力。

  • BookParser

    电子书解析引擎bookParser,支持txt、epub、mobi、azw、azw3格式书籍文件的解析。

  • spine(书脊)

    书的背脊;平装书或精装书封面和封底的联结处。一般印有书名、作者名、出版单位名等。在Reader Kit中,spine(书脊)定义了书籍内容的阅读顺序,每一个SpineItem表示一个可阅读的内容节点,标识着可阅读的一个内容资源。

约束和限制

  • 在书籍处理过程中,Reader Kit只支持有本地文件的书籍,不支持在线的文件流,且不同的书籍文件需要存放在应用沙箱下的不同目录。
  • 在书籍处理过程中,Reader Kit不提供对书籍的DRM保护能力。
  • 解析能力只支持对txt、epub、mobi、azw、azw3标准格式的书籍文件进行解析,对于非标准格式的书籍在解析时可能会抛出异常,开发者需要捕获和处理。
  • 排版引擎及交互能力需要配套Reader Kit的阅读页组件(ReadPageComponent)使用。

设备限制

Reader Kit仅适用于HarmonyOS NEXT 5.0.4及以上版本的Phone、PC/2in1、Tablet设备。

支持的国家/地区

Reader Kit当前仅在中国境内(香港特别行政区、澳门特别行政区、中国台湾除外)提供服务。

模拟器支持情况

本Kit暂不支持模拟器。

示例代码

Reader Kit开发指南涉及到的示例代码均为片段,全量示例代码请参考:CodeLabsSampleCode。CodeLabs和SampleCode包括了导入本地书籍、构建阅读器、构建目录列表、修改阅读设置等场景的完整实践示例,可帮助开发者更好地使用Reader Kit API。