piapia123
zh

EPUB 电子书解析

文档

所有处理都在浏览器本地完成,数据不上传服务器

把文件拖到这里,或点击选择

单个文件 · 全程在本机处理

文件只在你的浏览器里读取,不会上传到任何服务器。断网也能正常用。

打开一份 EPUB,把它的结构讲清楚:元数据(书名、作者、语言、标识符、出版方、日期与 EPUB 版本)、按 spine 顺序排列的章节标题与体积、图片资源清单,以及整本书的体积分布(文本、图片、字体各占多少)。EPUB 2 与 EPUB 3 都能解析。EPUB 本质是一个 ZIP,全程在本机解包,不引任何依赖、不联网。

功能

  • 读 META-INF/container.xml 与 OPF,列出元数据
  • 按 spine 顺序列出章节及其标题与体积
  • 列出图片资源清单与各自体积
  • 统计文本/图片/字体/其它的体积分布
  • EPUB 2 与 EPUB 3 都能解析
  • 可选列出全部资源、按体积排序
  • XML 解析自带且拒绝 DOCTYPE,不做外部实体

使用方法

  1. 把 .epub 文件拖进来(或点击选择)
  2. 查看书名、作者与 EPUB 版本
  3. 在章节与图片清单里核对结构
  4. 看体积分布,找出最占地方的那一类

常见问题

章节标题显示成文件名?
有些章节的 XHTML 里没有 <title>,也没有 <h1>/<h2>,这时只能退回文件名。这种情况在手工制作或转换来的 EPUB 里很常见。
为什么拒绝某些 EPUB?
它的 XML 里出现了 <!DOCTYPE> 或实体声明。正常的 EPUB 不需要它们,而它们正是 XXE(外部实体)的常见手法,所以直接拒绝并说明,而不是给出一个可能被污染的结果。
体积分布是按压缩前还是压缩后算的?
按解压后的原始大小算 —— 那才是内容真正的体积。EPUB 内部通常已经压过一遍,压缩后的数字会掩盖「图片到底占了多少」这件事。
支持 DRM 加密的电子书吗?
不支持。带 DRM 的 EPUB 里,内容和密钥都被加密,无法读取。

相关工具