iloveepub
菜单
ZH

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

EPUB 转 KEpub

把任意 EPUB 转换为 Kobo 阅读器的增强格式 KEpub,解锁按章阅读统计、章内精确进度等专属功能。转换完全在你的浏览器中完成,文件永不离开你的设备。免费、无需注册、无次数限制。

01选择 EPUB 文件

02转换并下载

Kobo 把你拷进去的书当成普通 EPUB

Kobo 商店买来的书已经是 KEpub,而且通常带 DRM,本页不会打开。需要转换的是你经 USB 拷过去的那些:一本 Project Gutenberg 小说、一份杂志导出、一本你在本站压缩过的书。文件里还没有 Kobo 按句子包起来的 span 时,Clara、Libra、Sage 或 Elipsa 只会显示普通页数,并跳过每一章的剩余时间那一行。

文件名也是这件事的一部分。Kobo 只对以 .kepub.epub 结尾的文件打开增强渲染器。一个名叫 .epub 的文件可以包含全部 span,却仍被当成普通 EPUB 打开。下载使用双重扩展名,就是为了这个。

这次转换实际插入的标记

每个句子会变成一个 class 为 koboSpan、id 类似 kobo.4.2 的 span。段落编号和句子编号,就是设备用来计算本章还剩多少时间的依据。CJK 标点会立刻把句子切开。ASCII 的句号、问号或感叹号,只有在后面跟着空白、文本结尾、开引号或 CJK 字符时才切开,所以 3.14 和 e.g. 这类字符串会保持完整。词语本身不会被改写。span 只是包在原来的文字外面。

script、style、pre、audio、video、svg 和 math 原样不动。body 会被包进 div#book-columns 和 div#book-inner,并加一行样式表,免得和 Kobo 默认的 body 边距叠在一起。在 OPF 里,封面项如果还没有 cover-image 属性就会补上,名称以 calibre: 开头的 meta 标签会被去掉。已经是 KEpub 的章节会跳过,这样 span 就不会嵌套。不是格式良好的 XML 的章节会原样复制,并记为已跳过。上限是 120 MB。

你仍然得不到的

这不是 Kobo 的驱动。它不会把系列信息写进设备数据库,也不管理收藏,统计数字要等 Kobo 自己把 span 数完才会出现。没有从 KEpub 转回普通 EPUB 的功能。固定版式和绘本几乎得不到什么,因为没什么句子可标。

被跳过的章节仍留在书里,只是没有句子这一级的统计。来自 Kobo 商店的 DRM 文件会被拒绝。去掉这种 DRM,不是本页会做的事。

kepubify 和 Calibre 的 Kobo 驱动

独立的 kepubify 工具和 Calibre 的 KoboTouchExtended 插件做的是同一类标记变换,而且 Calibre 还能经 USB 拷贝文件并更新设备书库。如果你已经在 Calibre 里管书架,用驱动是更短的路。

本页只做标记。它不跟 Kobo 通信,并在修补 OPF 时去掉 calibre: 元数据。一个文件,不用安装:它要做的全部就是这件事。

如何将 EPUB 转换为 KEpub

  1. 选择 EPUB 文件

    从设备中打开电子书。浏览器直接在本地读取文件——不会向任何服务器上传数据。

  2. 转换为 KEpub

    每句话都会加上 Kobo 标记,整本书重新打包为 .kepub.epub 文件。进度条实时显示本地处理的每一步。

  3. 下载并拷贝到 Kobo

    保存转换后的书,通过 USB 传输到 Kobo 设备。阅读器会自动识别增强格式。

常见问题

为什么下载文件以 .kepub.epub 结尾?

Kobo 根据这个双重扩展名来选择增强渲染器。名叫 .epub 的文件即使 span 都在,也常常被当成普通 EPUB 打开,章节统计就一直是关的。

一章里会插入什么?

每个句子变成一个 class 为 koboSpan、id 类似 kobo.4.2 的 span。body 被包进 div#book-columns 和 div#book-inner,一行样式表用来阻止 Kobo 的默认边距叠加上去。词语本身不会被改写。

如果这本书已经是 KEpub 呢?

已经有 book-columns 或 koboSpan 的文档会原样留下,这样 span 就不会嵌套。如果每份文档都已经转换过,工具会停下来说明,而不是再写一份副本。

我还需要 Calibre 吗?

只有当你想让 Calibre 经 USB 把书送过去,并把系列信息留在 Kobo 数据库里时才需要。span 变换本身不需要 Calibre。kepubify 和 KoboTouchExtended 插件在桌面上做的是同等的标记工作。

有一章被跳过了。下载的文件缺页吗?

不缺。那一章 XML 解析失败,或者没有 body,所以被原样复制,不会有句子这一级的统计。其他章节仍有自己的 span。结果那一行会报告跳过了多少个文件。

相关工具