iloveepub
菜单
ZH

本地处理 — 文件永不离开你的设备

修复我的 EPUB

一本书的抢救全在一页完成:拖入那本打不开、目录坏掉、或在书架上没有名字的书,先做健康检查,结构损坏自动修复,封面和元数据的缺口由你补上——下载前还会自动复检。全部在浏览器里进行,文件从不离开你的设备。

01选择你的 EPUB

会来到这一页的那些书

一份下载,Apple Books 和 Calibre 都不肯打开,常见原因是某个 zip 工具把 mimetype 条目压缩了,或把它挪离了第一的位置。一次合并或一次手工修改之后,目录仍指向已经删掉的文件。书架上显示的是文件名,因为 dc:title 从未写过。你这时候还分不清是哪一种。这一页要做的,就是这次健康检查。

先到这里,再去编辑器。编辑器需要一个它能解析的包。本工具告诉你这个包能不能解析,把结构这一层修好,并在下载出现之前,对结果再跑一遍同一套检查。

修复允许改写哪些文件

META-INF/container.xml 缺失或格式坏了时会重建。压缩包会重新打包,让 mimetype 成为第一条记录,存储而不压缩,内容正好是 application/epub+zip。指向缺失文件的清单项和书脊条目会被去掉。缺失的 EPUB 3 nav,或缺失的 EPUB 2 NCX,会按现存的章节重建。目录已经在,里面的死链会被去掉。

章节 HTML、图片和 CSS 逐字节复制。它们不会重新编码,也不会被收拾。书名、作者和封面,只有在你填写或放上图片时才会改。写进去的就是 dc:title、dc:creator、meta name=cover 和 cover-image 属性。同一份检查清单随后会跑在你即将下载的那些字节上。上限是 120 MB,超过 100 MB 会给出警告,因为修复把整个压缩包放在内存里。

会点名、但不会假装能修的损坏

不是合法 ZIP 的文件、没有可读章节的书,以及带 DRM 的文件,都会被报告为无法修复。没下完的文件得重新获取。DRM 不会被去掉。一章本身没问题,里面的正文却坏了——某一篇里没闭合的标签,或一份把文字藏起来的样式表——不会被改写。健康检查不会去整理 HTML。

字体不会做成子集,图片也不会重新压缩。如果报告说结构是健康的,阅读器却仍然不对,问题在章节标记里,那是编辑器该做的事。

Calibre 的润色修得更多,改动也更多

Calibre 的「润色书籍」和「修改 EPUB」可以在修书的同时做字体子集、重新压缩图片,并压平 CSS。多出来的清理有用。一次本以为只是修复的操作,排版却变了,就是这么发生的。编辑器里的检查更接近 EpubCheck,然后留给你自己拿文件去试。

本页只停在包这一层:container、mimetype、清单、书脊、nav、封面标记、Dublin Core。下载之前,它会把自己的检查清单再跑一遍。你想要字体和图片方面的清理时,用「润色」。你希望章节逐字节保持原样时,用这一页。如果报告说这个压缩包不是 ZIP,Calibre 也一样救不回来。

如何修复一本坏掉的 EPUB

  1. 放入坏书

    选择任何 .epub 文件——打不开的、目录坏掉的、书架上没名字的都行。不上传任何内容。

  2. 查看健康报告

    诊断列出每一项检查——container、mimetype、引用、目录、封面、元数据——标注健康、可修复或无法修复。

  3. 应用修复

    结构问题自动修复。若封面或书名/作者元数据缺失,在同一步补上——两项都是可选的。

  4. 下载验证过的书

    修复后的 EPUB 在下载前会自动复检。你拿到的是修复报告和全绿结论,不是一句空泛的「成功」。

常见问题

一个 zip 工具重新保存了我的 EPUB,现在什么都打不开。坏在哪里?

常常是 mimetype 条目。阅读器期望它在压缩包里排第一,存储而不压缩,内容正好是 application/epub+zip。普通的 zip 软件会破坏这一点。修复会把这条重新写回去,并对结果再跑一遍健康检查。

修复会改写哪些文件?

container.xml 在缺失或格式坏了时会被改写,还有 mimetype 条目;去掉失效的清单或书脊引用时会改 OPF;nav 或 NCX 在缺失或含有死链时也会改。章节 HTML、图片和 CSS 是原样复制过去的。书名、作者和封面,只有你提供了才会改。

Calibre 的「润色书籍」也说能修复 EPUB。为什么用这个?

「润色」可以在修复包的同时做字体子集、重新压缩图片,并压平 CSS。改动的就不只是结构了。本页不做那些变换。它把包修好,并在下载前把同一份检查清单再显示一遍。

报告说这本书修不了。我该试试 Calibre 吗?

如果文件不是合法的 ZIP,Calibre 也读不了。重新下载一次。如果是 DRM,两个工具都不该去掉它。如果包没问题,只是某一章的 HTML 坏了,Calibre 的编辑器或 Sigil 可以改那一章。这项检查不会改写正文的标记。

第二次检查会把书送到别的地方吗?

不会。复检和第一次一样,是在浏览器里检查即将下载的那些字节。你选择跳过的封面仍会列在报告里。它不会被说成是结构修复失败了。

相关工具