Readium

关注
义项:开源电子书阅读引擎
Readium

Readium是国际数字出版论坛(IDPF)于2012年发起的一套开源电子书阅读引擎与阅读系统工具包, 用于解析和渲染以EPUB为核心的数字出版物。它以BSD类许可证开放源代码, 由Readium基金会维护, 并由欧洲数字阅读实验室(EDRLab)承担主要开发工作, 为手机、桌面和网页平台的阅读应用提供可复用的软件积木, 是EPUB 3生态中重要的参考实现之一。

百科 图文
目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

Readium是一套开源的电子书阅读引擎与阅读系统工具包, 由国际数字出版论坛(IDPF)在2012年启动, 目标是提供与规范高度一致、可供开发者直接集成的阅读软件构件[1][2]。它本身并非面向读者的成品阅读软件, 而是可以被浏览器、移动应用或桌面程序嵌入的软件模块集合[3]。

项目以3条款BSD式许可证发布, 涵盖当前项目与早期遗留代码, 任何人可免费用于开源或闭源产品[3][2]。其主要处理对象是EPUB 2与EPUB 3出版物, 并扩展到有声书、数字视觉叙事作品和网络出版物等格式[3]。

原理

Readium的渲染思路是尽量复用现代浏览器引擎已有的解析与排版能力, 再以补充模块填补缺口, 而不是自行实现一套完整的排版引擎[4]。对于可重排文本, 项目提供了一套参考样式表Readium CSS, 内容包括样式归一化、分页与滚动两种视图、默认样式、主题模式以及用户偏好设置[5]。

这套样式表按照层叠规则分段注入文档: 先注入基础与保护性样式, 再让出版方样式表参与层叠, 最后注入分页、滚动与用户偏好模块, 由此形成优先级顺序为用户设置高于出版方样式、出版方样式高于阅读系统默认的层次[6][5]。针对从右向左书写的文字、中日韩文字以及竖排模式, 项目分别提供了单独的样式表版本[5]。

在架构上, 工具包按平台拆分, 但共享同一套数据模型与接口, 使开发者可以在不同实现之间迁移[4]。网页端进一步分为客户端与服务端两部分: 服务端把打包的出版物转换并输出为网络出版物清单, 客户端则依据该清单与相关接口完成导航与呈现[7]。

发展历程

EPUB 3.0规范于2011年末发布后, 尚缺少公开可用的实现, IDPF因此在2012年资助并启动了Readium项目, 最初由Evident Point与Bluefire两家公司主导, 以JavaScript实现规范的重要部分, 并打包为Google Chrome扩展[1][2]。开发者很快意识到该版本没有覆盖原生平台, 且JavaScript难以安全承载数字版权管理功能, 于是IDPF开始寻找能共同构建原生实现的合作方[1]。

Kobo公司的高级工程师Jim Dovey将其整合出的C++库投入开源, 成为Readium SDK的核心, 相关重构工作大体在2013年完成[1]。2013年3月, Readium.org在巴黎书展上宣布成立会员制非营利组织Readium基金会, 同时启动面向原生应用的EPUB 3渲染引擎开发, 首批成员包括ACCESS、Kobo、索尼、Hachette Livre、DAISY联盟等机构[8][9]。

2016年前后, 原有C++代码库因平台针对性指令过多而变得庞大复杂, 同时出版业开始在万维网联盟推动网络出版物等新规范, 社区于是启动名为Readium 2的全新代码库, 由EDRLab牵头开发[2]。2018年2月起, Readium SDK的授权模式统一改为BSD-3类许可证, 不再区分商业与开源用途[2]。2019年, 社区确认原Readium SDK与ReadiumJS进入仅维护状态, 开发重心转向Readium Mobile、Readium Desktop与Readium Web[2][10]。

在内容保护方面, 项目于2017年推出Readium LCP(Licensed Content Protection)规范与实现[1]。该规范成为ISO/IEC DIS 23078-2标准, 由EDRLab负责生态管理与认证[11][10]。

应用

Readium工具包按平台划分为若干部分: Readium Mobile面向iOS与Android, 分别用Swift与Kotlin编写; Readium Desktop面向Windows、macOS与Linux, 基于TypeScript、Node.js与Electron.js; Readium Web面向网页应用, 由TypeScript客户端与Go服务端组成[10][7]。官方称已有超过100款应用基于Readium Mobile构建。

基于这些工具包的成品阅读器之一是EDRLab开发的Thorium Reader, 其桌面版本下载量超过150万次, 支持EPUB 2/3、PDF、网络出版物与DAISY出版物, 并可处理LCP加密内容[4]。Readium Web则是Thorium Web这一网页阅读器的引擎, 该阅读器可部署在书店或图书馆平台上[12]。

Readium LCP采用基于口令的认证方式, 使用AES 256位加密内容与内容密钥、SHA-256处理用户口令、RSA与SHA-256签名许可证, 其客户端可部署在移动设备、桌面电脑和电子阅读器上[13]。可受其保护的格式包括EPUB 2与EPUB 3、PDF文档以及打包的网络出版物[13]。在无障碍方面, 项目与屏幕阅读器等系统级辅助功能集成, 并通过样式表改善阅读体验[3]。

局限

Readium定位为参考系统与引擎, 而非商用阅读软件, 因此不向使用其工具包的开发者提供有保障的技术支持, 项目也没有开发完整商业级应用的计划[3]。

其样式表只针对可重排文本设计, 不适用于固定版式EPUB, 也不适用于FB2、Mobi、TEI等其他文件格式[5]。PDF虽然被部分工具包支持, 但无法享受为EPUB和网络出版物开发的注释、搜索、文本转语音等高级功能, 项目本身也将高级PDF工具交由其他开发者提供[3]。

在浏览器环境下的内容保护存在技术限制。由于浏览器对开发者透明, 任何基于加密与密钥的方案都难以在这样的环境中长期成立, 因此网页端工具包不直接支持LCP, 相关保护改由另设的网页内容保护机制承担[12]。LCP本身也不面向浏览器应用, 因为这类应用无法足够安全地处理版权管理的细节[13]。

对使用LCP的服务端与客户端应用, 项目要求每年缴纳认证费用, 属于许可成本[13]。此外, 开源社区的开发资源具有不稳定性, 早期项目文档记录过排期困难、缺少单一产品负责人以及跨地域协作带来的沟通障碍等问题[14]。

参见

  • EPUB —— Readium主要解析与渲染的电子书开放格式。

  • Readium CSS —— Readium为可重排出版物提供的参考样式表。

  • Thorium Reader —— 基于Readium工具包开发的桌面阅读应用。

  • 万维网联盟 —— 承接EPUB等出版技术标准制定的国际标准组织。

  • 数字版权管理 —— Readium LCP所属的技术领域。

  • 欧洲数字阅读实验室 —— 主导Readium工具包开发并管理LCP生态的机构。

参考资料

  1. A Bit of History [引用日期2026-10-14]
  2. Original Readium Development Kit [引用日期2026-10-14]
  3. Readium Project Goals [引用日期2026-10-14]
  4. Software [引用日期2026-10-14]
  5. Quickstart [引用日期2026-10-14]
  6. Order in which to append Readium CSS reflowable stylesheets [引用日期2026-10-14]
  7. 🌐 Readium Web [引用日期2026-10-14]
  8. publishingperspectives.com 上的网页 [引用日期2026-10-14]
  9. Press Releases [引用日期2026-10-14]
  10. Readium Projects [引用日期2026-10-14]
  11. Implementing LCP in Reading Systems and Servers [引用日期2026-10-14]
  12. Readium Web [引用日期2026-10-14]
  13. Readium LCP Specifications [引用日期2026-10-14]
  14. Background [引用日期2026-10-14]
词条评价
词条统计

浏览次数:2 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-13T19:30:04Z

历史版本

本条目引用的词条
EPUB Readium CSS Google Chrome 万维网联盟 Thorium Reader 数字版权管理 欧洲数字阅读实验室