返回博客
EPUB目录教程修复工具推荐

EPUB 目录错乱或缺失?目录修复与重建指南

EPUB 目录为空、章节标题重复、点击跳转错误?解释 EPUB 双目录机制(nav 与 NCX)为什么会坏,并用目录修复工具、编辑器或手动方法重建目录导航。

E-Ink Team2026-10-272 分钟阅读

目录是 EPUB 里最脆弱的部分。书能打开、章节都在——但目录是空的、"第 1 章"出现五次、或者点进去跳到错误的页面。章节本身没有任何问题;是给它们做索引的导航文件和实际内容失去了同步。

本文解释 EPUB 目录为什么特别容易坏(根源是历史遗留的双文件机制),并给出每种常见情况的修法——自动重建、编辑器里修,以及想搞懂原理的手动路径。

EPUB 为什么有两套目录文件

历史原因让 EPUB 同时背着两套导航系统,多数书两套都带:

  • nav.xhtml —— EPUB 3 标准:一个带导航列表的 HTML 页面,人和机器都能读
  • toc.ncx —— EPUB 2 遗产:XML 格式的播放顺序表,为兼容旧设备保留,一些老阅读器至今只读它

还有第三个东西经常被误认为目录:包文件里的 spine(书脊),它定义阅读顺序但不显示任何内容。人们说"目录不对"时,真正的问题出在 nav、NCX,或者它们与 spine 的不一致上。

双文件正是目录易坏的根源:编辑工具更新了一个忘了另一个、转换工具重新生成时写坏一个、章节改名后两个文件都指向旧文件名。

症状 → 原因 → 修法

症状原因最快修法
目录为空或缺失nav/NCX 缺失或未登记进清单重建(方法一)
章节标题全错("第 1 章"×20)目录按默认值生成,没用真实标题按标题重建(方法一)
点击跳转到错误位置目录指向改名后的旧文件重建(方法一)
一个阅读器正常,另一个乱nav 正常但 NCX 过期(或相反)重建——两套一起写
目录里有已删除的章节删章节后没重新生成目录重建(方法一)
不看目录顺序也不对spine 顺序问题,不是目录编辑器(方法二)

方法一:自动重建目录(最快)

目录重建工具从书的真实内容出发完成全部工作:读取每个章节、提取标题层级(h1/h2)、写出干净的 nav 加上配套的 NCX——三者互相一致、与 spine 同步。

用免费的 EPUB 目录修复工具:

  1. 拖入 .epub 文件。
  2. 工具扫描章节、重新生成导航——正确的标题、正确的目标、正确的层级。
  3. 下载后检查:阅读器上的目录与书的实际内容完全对应。

这能解决几乎全部目录问题,因为"从现实重新生成"永远胜过"修补漂移"。工具在浏览器本地运行,私密书稿不出设备。

方法二:在编辑器里连结构一起修

当目录问题的本质是结构问题——章节阅读顺序不对、一章被拆成几段该合并、某些小节值得独立目录条目——用在线 EPUB 编辑器重建布局:

  1. 打开书,在侧栏把章节拖到正确顺序。
  2. 结构不对的地方合并或拆分章节文件。
  3. 修章节内的标题层级——目录是从 h1/h2/h3 生成的,整章只有 h2 的文本只能生成扁平或空的目录。
  4. 导出:目录和 spine 按新结构一致地写入。

标题层级这一点经常被低估:如果一本书的目录看起来"全是平级"——所有条目同一层级——说明章节正文用的是同级标题。把正文里的标题层级修对,目录的层级结构就永久正确了。

方法三:手改 nav 文件(给好奇者)

看懂 nav 文件,整个系统就不再神秘。一个最小化的 nav.xhtml 长这样:

<nav epub:type="toc" id="toc">
  <ol>
    <li><a href="text/chapter1.xhtml">第一章 那封信</a></li>
    <li><a href="text/chapter2.xhtml">第二章 上路</a>
      <ol>
        <li><a href="text/chapter2.xhtml#section-2">岔路口</a></li>
      </ol>
    </li>
  </ol>
</nav>

ol/li 的嵌套结构就是目录层级;每个 href 必须指向从书根目录算起的真实文件路径。NCX 用 XML 的 navPoint 元素和序号做同样的事。

手改一两个条目没问题、也很有教育意义。但再多了就不如重新生成:href 里一个笔误(大小写、%20 与空格、漏掉目录层级)就是一个死链条目——而这恰恰是自动重建不可能犯的错误类别。

各阅读器兼容性备忘

  • Kindle(推送/转换): 历史上只读 NCX;现在的转换器两者都认,但过期的 NCX 仍会产生幽灵条目——两套都保持新鲜
  • Kobo: 读 nav;对 href 编码错误敏感
  • BOOX(文石): 走 Android 阅读栈——尊重 nav 层级,坏条目静默忽略
  • Apple Books: 对 nav 的 epub:type="toc" 属性要求严格;缺了它的书完全不显示目录
  • 仅支持 EPUB 2 的老应用: 只读 NCX——有 nav 没 NCX 的书在这些应用里没有目录

通用答案朴素而有效:两套文件、一起生成、指向真实文件。方法一产出的就是这个状态。

防止目录再坏

  • 结构性编辑后重新生成 —— 任何涉及重命名、拆分、排序章节的工具流程,最后一步都该是目录重建
  • 正文用真实标题 —— 每章一个 h1、小节用 h2,生成的目录才有意义
  • 转换后校验 —— 用 EPUB 校验工具快速过一遍,悬空的目录引用在阅读器发现之前就被标记出来
  • 修源头,别修表象 —— nav 补好了、章节还是错的名字,下次编辑一切照坏

常见问题

EPUB 目录为什么是空的? nav 或 NCX 文件缺失、为空、或没有登记进书的清单——通常是生成这本书的工具的问题。用目录修复工具从章节重建,一遍恢复。

能给没有目录的 EPUB 补一个吗? 可以。目录修复工具从章节标题直接生成——不需要原书有任何目录。

为什么手机上目录正常、阅读器上乱? 不同阅读器读不同文件(nav 或 NCX)、执行不同的严格度。一个完好、另一个过期或格式错误——重建会把两套一致地写好。

目录会影响阅读顺序吗? 只有间接影响。阅读顺序由包文件里的 spine 决定;目录是叠加在其上的导航。章节播放顺序错误是 spine 的问题——在完整的 EPUB 编辑器里修最省事。

现在就重建

一分钟修复方案:打开 EPUB 目录修复工具,拖入书,下载重建后的文件。更深的结构问题——顺序错误、标题缺失——交给 EPUB 编辑器,在那里,目录是从你真正修好的结构上重建的。

分享