EPUB 电子书解析
文档所有处理都在浏览器本地完成,数据不上传服务器
打开一份 EPUB,把它的结构讲清楚:元数据(书名、作者、语言、标识符、出版方、日期与 EPUB 版本)、按 spine 顺序排列的章节标题与体积、图片资源清单,以及整本书的体积分布(文本、图片、字体各占多少)。EPUB 2 与 EPUB 3 都能解析。EPUB 本质是一个 ZIP,全程在本机解包,不引任何依赖、不联网。
功能
- 读 META-INF/container.xml 与 OPF,列出元数据
- 按 spine 顺序列出章节及其标题与体积
- 列出图片资源清单与各自体积
- 统计文本/图片/字体/其它的体积分布
- EPUB 2 与 EPUB 3 都能解析
- 可选列出全部资源、按体积排序
- XML 解析自带且拒绝 DOCTYPE,不做外部实体
使用方法
- 把 .epub 文件拖进来(或点击选择)
- 查看书名、作者与 EPUB 版本
- 在章节与图片清单里核对结构
- 看体积分布,找出最占地方的那一类
常见问题
- 章节标题显示成文件名?
- 有些章节的 XHTML 里没有 <title>,也没有 <h1>/<h2>,这时只能退回文件名。这种情况在手工制作或转换来的 EPUB 里很常见。
- 为什么拒绝某些 EPUB?
- 它的 XML 里出现了 <!DOCTYPE> 或实体声明。正常的 EPUB 不需要它们,而它们正是 XXE(外部实体)的常见手法,所以直接拒绝并说明,而不是给出一个可能被污染的结果。
- 体积分布是按压缩前还是压缩后算的?
- 按解压后的原始大小算 —— 那才是内容真正的体积。EPUB 内部通常已经压过一遍,压缩后的数字会掩盖「图片到底占了多少」这件事。
- 支持 DRM 加密的电子书吗?
- 不支持。带 DRM 的 EPUB 里,内容和密钥都被加密,无法读取。
相关工具
mbox 解析
文档解析 mbox 邮件归档,列出邮件总数、时间范围、发件人、附件与每封摘要,支持 base64 与 quoted-printable。本地完成,不上传。
压缩包列表
编码拖入 ZIP、JAR、APK、DOCX 等压缩包,列出里面的文件、大小与压缩方式。只读目录,不解压,所以大包也是瞬间出结果。
PDF 合并
文档把多个 PDF 按选择顺序合并成一个,也可以只取每个文件的指定页。可自定义输出文件名,合同与票据不上传,全程浏览器本地完成。
PDF 拆分
文档按页码范围提取页面,或每 N 页切成一个文件。产物文件名带页码范围,拆完直接发给别人也看得懂。不上传,浏览器本地完成。
图片转 PDF
文档把多张 JPEG、PNG 合成一份 PDF,每张图一页。页面可与图片同尺寸或固定 A4 等纸张,横竖方向自动。图片不上传,浏览器本地完成。
PDF 加页码
文档给 PDF 每一页加页码。六个位置、三种格式、起始值与字号可调,可跳过封面。旋转过的扫描件也会摆正位置,文件不上传。