Epub.js - 浏览器中的电子书渲染神器
项目地址:https://gitcode.com/futurepress/epub.js
Epub.js 是一个强大的JavaScript库,它能够让你在浏览器中优雅地展示EPUB格式的文档,跨平台且无需额外的应用或插件。通过一个简单的接口,你可以实现常见的电子书功能,如页面翻转和持久化存储。其采用自由BSD许可证,使得开发者可以自由地使用和扩展。
为什么选择EPUB?
EPUB是一种广泛使用的标准格式,且易于转换。许多书籍都以这种格式存在,并可轻松转化为PDF、Mobi、iBooks等其他格式。EPUB3文件实质上是HTML5、CSS、图像和其他媒体资源的集合,就像任何普通网站一样。但其通过规范的内容目录、资源清单和内容与显示方式的分离,使我们能按照控制词汇表来渲染图书及其部分。
快速入门
首先引入JSZip库(在引入epub.js之前):
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.5/jszip.min.js"></script>
然后加载minify后的代码:
<script src="../dist/epub.min.js"></script>
设置用于渲染的元素:
<div id="area"></div>
创建新的Epub实例并将其渲染到该元素:
<script>
var book = ePub("url/to/book/package.opf");
var rendition = book.renderTo("area", {width: 600, height: 400});
var displayed = rendition.display();
</script>
渲染方法
- 默认模式:仅显示单个章节。
- 连续模式:适用于无缝滑动/滚动的设备,会预加载下一个章节,但性能略逊于默认模式。
格式切换
- 自动(默认):基于OPF设定,默认为“分页”模式。
- 分页:固定宽度和高度的分页视图。
- 滚动:连续滚动显示。
脚本内容支持
默认情况下,脚本内容是禁用的,以防恶意内容执行。若需启用,可在Rendition设置中添加allowScriptedContent: true
。
文档和示例
详细的API文档见 epubjs.org/documentation/0.3/ 或者查看本地的 documentation/API.md。
运行本地示例,请安装Node.js后,使用npm install
安装依赖,并通过npm start
启动服务器。
特点
- 跨平台:无论是在桌面还是移动设备上,都能完美呈现EPUB文档。
- 简单易用:提供直观的API,方便集成至你的应用。
- 自定义渲染:支持不同的渲染模式,满足不同场景的需求。
- 安全可控:通过严格的沙箱环境,保护用户免受潜在的恶意脚本影响。
- 社区活跃:拥有丰富的资源和社区支持,包括邮件列表、IRC频道和Gitter聊天室。
探索更多 示例 ,开始你的阅读之旅吧!如果你对Epub.js感兴趣,不妨尝试一下,你会发现它给电子书阅读带来的便利和乐趣。