KOReader 电纸书阅读器实操指南:Kindle、Kobo 安装、PDF 重排与插件定制全解
【免费下载链接】koreaderAn ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices项目地址: https://gitcode.com/GitHub_Trending/ko/koreader
KOReader 是一个面向电纸书(e-ink)设备的开源电子书阅读器,支持 PDF、DjVu、EPUB、FB2 等十几种格式,能跑在 Kindle、Kobo、PocketBook、reMarkable 上,也支持 Android 和 Linux。它主要解决两个痛点:扫描版 PDF 字小到看不清,以及原厂阅读器功能封闭、没有插件可装。这篇按"装好→用上→定制"的顺序写,每一步都给你验证点,跑偏了随时能自查。
结论先行:KOReader 能帮你做什么
先看结论:它值不值得装,一张表说清。
| 核心能力 | 解决的问题 |
|---|---|
| 扫描版 PDF 重排(内置 K2pdfopt 引擎) | 扫描文档字小得必须把设备怼到脸上;重排后变成字号可调、行距可调的流动文本 |
| 多格式支持 | 固定版式的 PDF、DjVu、CBT、CBZ,和可重排的 EPUB、FB2、Mobi、DOC、RTF、HTML、CHM、TXT,一个软件全开 |
| 电纸书优化 UI | 无动画、分页菜单、对比度可调,e-ink 刷新不闪烁;在部分旧设备上翻页延迟不到内置阅读软件的一半 |
| 排版定制 | 页边距任意设、行距可覆盖文档原值、外部字体 + 多语言连字符断行 |
| 插件系统 | 云盘、RSS、Calibre 书库、生词本这类需求用插件补,不用等官方发版 |
| 多设备覆盖 | 同一套功能在 Kindle、Kobo、PocketBook、reMarkable、Android、Linux 上跑 |
动手前:设备兼容性与发行包怎么选
装之前先花 1 分钟对型号,能省掉下载半天最后装不上的时间。
① 平台兼容性看两处:frontend/device/ 下每个子目录就是一个受支持的平台,make/ 下的.mk文件是官方实际做过构建的目标。两者对得上,基本就稳了。
| 平台 | 适配代码 | 构建目标 |
|---|---|---|
| Kindle | frontend/device/kindle/ | kindle.mk(新款固件)、kindle-legacy.mk(老固件)、kindlepw2.mk |
| Kobo | frontend/device/kobo/ | kobov4.mk、kobov5.mk |
| PocketBook | frontend/device/pocketbook/ | pocketbook.mk、pocketbookhf.mk |
| reMarkable | frontend/device/remarkable/ | remarkable.mk |
| Android | frontend/device/android/ | android.mk(装 APK 即可) |
| 桌面 / Linux | frontend/device/sdl/、frontend/device/generic/ | linux.mk、emulator.mk(开发用模拟器) |
表里查不到你的型号?先别装。
② 版本与发行包的对应关系里,最容易拿错的是这两个:
- Kobo 四代(v4)与五代(v5):包名相近、功能几乎一样,装反的典型现象是启动即闪退、退回系统界面;
- Kindle 老固件(legacy)与新款:固件年代不同走不同构建目标,拿错包同样起不来。
拿不准就对着自己 release 包的说明和机型核对,别凭感觉选。
三步跑起来:KOReader 安装步骤与失败自检
拿对包之后,三步就能把它跑起来,每步都有验证点。
拿到对应平台的发行包。需要自己从源码构建时:
git clone https://gitcode.com/GitHub_Trending/ko/koreader电纸书设备把该平台的启动文件放到约定目录:Kobo 放
/mnt/us根目录,Kindle 按发行包说明放/usr或设备根目录。验证:连数据线看设备端,文件都列得出来,目录结构完整。用平台脚本拉起应用。Kindle 跑 platform/kindle/ 下的
koreader.sh;Kobo 跑 platform/kobo/ 下的koreader.sh,成功后 Kobo 系统桌面会多出一个 KOReader 启动项;PocketBook 用platform/pocketbook/koreader.app;reMarkable 是koreader.sh配 systemd 服务(platform/remarkable/)。验证:屏幕进入 KOReader 界面而不是回系统菜单,Kobo 主屏能看到启动图标——看到界面,就说明跑起来了。走完首次引导。第一次启动会自动生成一份快速入门指南(触摸设备讲触摸区,带键盘的 Kindle 讲按键),照着走完,进入文件浏览器,打开一本书翻一页。验证:能正常翻页,没有黑屏或卡死。
失败自检(按现象排查):
- 现象:一启动就闪退、退回系统菜单 → 原因:平台包拿错(典型如 v4 机型装了 v5 包)→ 怎么查:对照上一节的构建目标表,核对 release 包与机型。
- 现象:文件都拷了,Kobo 桌面却没有启动项 → 原因:没放在
/mnt/us根目录 → 怎么查:连数据线看文件位置,缺哪层补哪层。 - 现象:Kindle 启动后按键没反应或行为怪异 → 原因:按键映射与机型不符,老键盘机有专用映射 → 怎么查:对照
frontend/device/kindle/event_map_keyboard.lua里的默认映射,逐项核对实际按键。
用起来:PDF 重排与触摸导航的第一次体验
为什么有人从内置阅读器换过来不回头?答案就两个功能。
功能一:扫描版 PDF 重排。
- 痛点:扫描文档的 PDF,一页放大后只能看两三行,读几页眼睛就废了。
- 怎么开:打开扫描版 PDF,在排版设置里启用重排。引擎是 K2pdfopt,接口实现在 frontend/document/koptinterface.lua,字号记在
kopt_font_size设置里;字号、行距、字体都在同一套排版菜单里调。 - 体验变化:原本一页两三行的扫描件,变成字号可调、行距可调的普通书本文本,还能加连字符断行,阅读体验接近原生 EPUB。漫画、双栏这类固定版式文档可以切双页、条漫式翻页,不用自己硬掰。
功能二:触摸分区导航。
- 痛点:电纸书没有实体键,第一次上手不知道点哪。
- 怎么开:不用"开"——首次启动的 quickstart 就是教程,由 frontend/ui/quickstart.lua 按你的设备自动生成:点屏幕中央翻页,点最上一条弹出顶部菜单,最下边是状态栏和底部菜单,四个角还有独立的角落点按区。
- 体验变化:手指落在哪就在哪,不用找按钮;带键盘的设备则多出一套按键快捷项,翻页、跳目录都能按习惯改。
想扩展:插件目录约定与高频插件清单
KOReader 的扩展全是 Lua 插件:放进目录就加载,不用编译、不用注册表。
目录约定:每个插件一个*.koplugin文件夹,_meta.lua声明名称和描述,main.lua是入口,放进 plugins/ 就会被自动加载(加载器在frontend/pluginloader.lua)。开箱自带三十来个,高频的有这些:
| 插件 | 用途 | 目录 |
|---|---|---|
| calibre | 无线收书、OPDS 浏览 Calibre 书库、查元数据 | plugins/calibre.koplugin/ |
| cloudstorage | 挂载 Dropbox、WebDAV、FTP 云盘 | plugins/cloudstorage.koplugin/ |
| newsdownloader | 订阅并下载 RSS 源 | plugins/newsdownloader.koplugin/ |
| opds | 浏览任意 OPDS 在线目录 | plugins/opds.koplugin/ |
| vocabbuilder | 阅读时自动收集生词 | plugins/vocabbuilder.koplugin/ |
| systemstat | 看电池、内存等系统状态 | plugins/systemstat.koplugin/ |
自己写一个?拿 plugins/hello.koplugin/ 当模板最省事,总共几十行:建好含_meta.lua和main.lua的目录,在addToMainMenu里注册一个菜单项,点击后弹个 InfoMessage,整个流程就通了。注意模板开头有一行调试开关(if true then return { disabled = true } end),去掉这行插件才会真正启用。
想深挖:配置存在哪、源码从哪进
改源码前先记住两件事:设置落在哪,代码从哪进。
配置分三层,各管各的:
| 层 | 文件 | 管什么 |
|---|---|---|
| 全局 | frontend/luasettings.lua | 字号、语言、翻页方式等全局默认,写进数据目录的设置文件 |
| 单文档 | frontend/docsettings.lua | 这本书的字体、进度、高亮,存成书旁边的 sidecarmetadata.lua,换本书自动切回 |
| 路径 | datastorage.lua | 定位数据目录(Android 上是外部存储下的koreader目录,Linux 上可用KO_HOME等环境变量覆盖),插件数据库、缓存都挂在它下面 |
实现查法:应用入口在顶层reader.lua;设备差异都收敛在frontend/device/<平台>/device.lua,平台行为(触摸、按键、电源)从这里分叉。想查某个行为到底怎么实现的,去spec/unit/找对应的*_spec.lua单元测试——测试名基本就是功能名,是最好的活文档。
你大概率会卡住的三个问题:常见故障排查
下面三个坑覆盖绝大多数翻车现场。
1. Kobo 装完没有启动项,或启动就退回系统。原因十有八九是 v4/v5 包装反,或文件没放到/mnt/us根目录。解法:先对照kobov4.mk/kobov5.mk核对自己的包,再连数据线确认文件就在根目录。两者都排除后仍不行,再去看你下载包附带的机型说明。
2. PDF 里找不到重排选项,或重排不生效。原因:重排只对引擎判定为可重排的文档生效,纯图像扫描但无文字层、或被判为固定版式的文档走不到这一步;另外 DRM 加密书和 KFX 格式完全不支持(quickstart 里对 Kindle 用户专门标了这条)。解法:换一份带文字层的扫描 PDF,或直接上 EPUB——EPUB 是官方最推荐的格式。
3. 改了字体或行距,只在这本书生效。原因:单文档设置存在 sidecarmetadata.lua里,只跟这本书走;长按选项设为 DEFAULT(菜单里带星标)才是改全局默认,且只对新打开的文档生效,旧书不会被追溯修改。解法:本书的偏好就"本书改",跨书的偏好就"设为默认",两者别混。
现在就可以做的 3 件事:验证你的安装
别急着关这篇,先做完这三件事再走,每件都有可验证的预期结果。
- ✅ 挑一本字最小的扫描版 PDF,开启重排,前后各读 5 分钟。预期结果:文本变成流动排版,字号能调到舒适大小,每页行数从两三行变成整页。
- 启用一个高频插件(建议 calibre)。预期结果:主菜单多出一个新入口,能列出 Calibre 书库,并无线收一本书进设备。
- 打开任意一本书读几页,退出后重开。预期结果:进度和字体原样保留,数据目录里能找到这本书的 sidecar
metadata.lua——到这一步,"设置存在哪"的闭环你就自己验证过了。
【免费下载链接】koreaderAn ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices项目地址: https://gitcode.com/GitHub_Trending/ko/koreader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考