KOReader 完整安装使用指南: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 是一款为电纸书屏优化的开源电子书阅读器,能打开 PDF、DjVu、EPUB、FB2 等十几种格式,运行在 Kobo、Kindle、PocketBook、reMarkable 等硬件上,也支持 Android 与桌面系统。如果你的痛点是"扫描版 PDF 字小得没法看",或者想在电纸书上装云盘、RSS、生词本这类附加功能,这份指南带你从选包、安装一直讲到读源码。
这是写给谁的
动手前花半分钟对号入座,不匹配就别往下看,能省不少时间。
| 你是什么情况 | KOReader 对应的解法 |
|---|---|
| 被扫描版 PDF 折磨的人 | 开启重排后可调字号、行距、字体,阅读体验接近印刷书 |
| 电纸书机主(Kobo/Kindle/PocketBook/reMarkable) | 触摸分区、按键映射都能改,还能挂插件、连在线书源 |
| 喜欢研究配置和源码的人 | 设置分三层、结构清晰,单元测试齐备,适合边读边改 |
如果你的需求只是"在电脑上看个 EPUB",那普通软件就够了,不必折腾。
动手前的准备清单
材料一次备齐,能避免装到一半发现缺东西。
- 预计耗时:电纸书设备从下载到启动约 10 分钟;Android 装完 APK 约 2 分钟。
- 需要下载的东西:
- 对应机型的发行包。注意 Kobo 分 v4/v5,Kindle 分新旧两代固件,包不通用;
- 要在桌面端开发才需要源码:
git clone https://gitcode.com/GitHub_Trending/ko/koreader,构建步骤见 doc/Building.md。
- 设备适配速查:每个平台在 frontend/device/ 下都有独立适配目录(kindle、kobo、pocketbook、remarkable、android、sony-prstux 等);make/ 目录下的编译目标文件(如 make/kindle.mk、make/kobov4.mk)则列明官方为哪些具体机型做过构建。
- 不确定自己的型号是否支持时,以上述两个目录为准:device 目录有适配代码、make 目录有对应构建目标,基本就是被支持。
安装:按你的设备选路线
各平台的装法其实同构:选对包 → 放到约定位置 → 用平台脚本拉起。差别只在"放哪里"和"怎么启动"。
Kobo 上 10 分钟装完
- 步骤:按机型选发行包(v4 对应 make/kobov4.mk,v5 对应 make/kobov5.mk),把文件传到存储卡(通常是 /mnt/us,以包内说明为准),按说明完成安装。启动逻辑由 platform/kobo/koreader.sh 负责。
- 成功判定:系统桌面多出 KOReader 启动项,点开能看到主界面。
- 最高频错误:装完没有入口或点开秒退——多半是 v4/v5 包拿反了。回到准备清单里的适配速查,确认机型代数后重下正确的包。
在 Kindle 上安装
- 步骤:Kindle 固件分"旧款(legacy)"与"新款"两代,包不混用(对应 make/kindle.mk 与 make/kindle-legacy.mk);把启动文件复制到设备根目录或 /usr(以包内说明为准),启动脚本是 platform/kindle/koreader.sh。
- 成功判定:入口启动后进入 KOReader 主界面,而不是退回系统菜单。
- 最高频错误:启动后立刻回系统菜单——通常是固件代数与包不匹配。确认机型属于哪一代后换包重试;带物理键盘的旧机型,按键默认行为见 frontend/device/kindle/event_map_keyboard.lua。
在 PocketBook 上安装
- 步骤:使用 PocketBook 专用包,入口文件为 platform/pocketbook/koreader.app,按包内说明安装到设备,目标目录以官方包说明为准。
- 成功判定:设备应用列表出现 KOReader,点开到达主界面。
- 最高频错误:装完应用入口不出现——多数情况是没放到包说明指定的安装位置。回到安装那一步,对照说明里的目标路径重新放置。
在 reMarkable 上安装
- 步骤:该平台靠 platform/remarkable/koreader.sh 脚本加 systemd 服务(platform/remarkable/koreader.service)运行,按包内说明安装;不同架构(如 aarch64)有各自的构建目标。
- 成功判定:安装后系统内能正常启动 KOReader 并稳定运行。
- 最高频错误:服务起来但秒退——先核对架构包是否选对,具体以 platform/remarkable/ 下的说明文件为准。
在 Android 上安装
- 步骤:直接安装 APK 即可,无需脚本。
- 成功判定:桌面出现应用图标,启动后到达书架页。
- 最高频错误:首次启动弹存储权限时点了拒绝,之后打不开书——回系统设置重新授权即可。
在 Linux/桌面端运行
- 步骤:用官方发行包里的桌面版(如 AppImage)直接启动;开发者可按 doc/Building.md 从源码搭模拟器,方便跑测试。
- 成功判定:窗口正常打开 KOReader 主界面。
- 最高频错误:窗口一闪而过——多为依赖库缺失,doc/Building.md 顶部列有各发行版的依赖清单,照装即可。
核心能力:把"读不了"的文档变成大字书
电纸书用户最直接的收益在这里:内置的 K2pdfopt 重排引擎,让扫描文档变得能读。
处理流程是三步:先识别原页的版式结构,再把其中的文字提取出来,最后按你指定的字号、边距重新流式排布。实际效果是,一页只能看几行的扫描件,会变成字号可调、行距可调的普通书本文页。
配套的排版项都能在重排菜单里调:
- 字号与行距:行距可以覆盖文档原值,页边距可任意设置;
- 字体替换:拷进设备的任意字体文件都能选,字体加载由 frontend/ui/font.lua 负责;
- 连字符断行:重排文本自动加断行连字符,排版更像印刷书;
- 所有排版项集中在 frontend/apps/reader/modules/readertypography.lua,K2pdfopt 引擎的选项定义在 frontend/ui/data/koptoptions.lua。
固定版式的 PDF 也有专门处理:漫画、双栏这类内容提供阅读方向选项,可以按双页或条漫方式翻页,不用自己旋转屏幕或裁页面。
再给一个参考数据:社区实测里,部分旧设备上 KOReader 的翻页延迟不到内置阅读器的一半,"第三方阅读器会卡"的顾虑通常不成立。
上手体验:让屏幕按你的习惯工作
先保证你不开任何菜单也能读完第一本书,再告诉你改习惯的入口在哪。
默认触摸分区如上图:屏幕中央翻页,最左一条回上一页,最上边弹顶部菜单,最下边是状态栏和底部菜单,四个角还有独立的角落点按区。这个布局对手指很友好——落在哪算哪。
还有三个入口值得知道:
- 首次启动的快速入门:第一次运行会自动生成一份电子指南(由 frontend/ui/quickstart.lua 动态生成),涵盖触摸区、快捷键和常用手势,照着点一遍就会用。
- 手势:触摸手势的检测与判定集中在 frontend/device/gesturedetector.lua,想改滑动行为从这里入手。
- 键盘设备:带物理键盘的机型(如旧 Kindle)另有一套按键映射,设备层映射文件里能查到默认行为,翻页、跳目录等按键都可以改成自己的习惯。
扩展生态:把设备变成随身工具箱
扩展机制很直白:插件全是 Lua,一个插件一个文件夹,放在 plugins/ 下就会被加载器(frontend/pluginloader.lua)自动认领。仓库自带 36 个,每个插件文件夹内结构固定:一个文件声明名称和描述,主文件是入口。
使用频率较高的 8 个:
| 插件 | 典型用途 | 所在目录 |
|---|---|---|
| newsdownloader | 订阅并下载 RSS 源 | plugins/newsdownloader.koplugin/ |
| cloudstorage | 挂载 Dropbox、WebDAV、FTP | plugins/cloudstorage.koplugin/ |
| vocabbuilder | 阅读时自动收集生词 | plugins/vocabbuilder.koplugin/ |
| calibre | 无线收书、浏览 Calibre 书库 | plugins/calibre.koplugin/ |
| opds | 浏览任意 OPDS 在线目录 | plugins/opds.koplugin/ |
| statistics | 阅读统计与日历视图 | plugins/statistics.koplugin/ |
| coverbrowser | 封面式书架浏览 | plugins/coverbrowser.koplugin/ |
| kosync | 与 Calibre-Web 的 KOSync 同步 | plugins/kosync.koplugin/ |
最小自制插件流程:仓库作者留了一个调试样例 plugins/hello.koplugin/,全文不过几十行,正好当模板抄:
- 复制该文件夹并重命名,改
_meta.lua里的名称与描述; - 在
main.lua的addToMainMenu里写一个菜单项,回调中弹一条 InfoMessage; - 注意样例开头有
disabled = true的开关,删掉才会真正被加载。
完成后主菜单多出一个入口,点击弹出提示——插件的完整链路就通了。
进阶:设置存在哪,源码从哪读起
改完东西容易迷路,知道每层设置落在哪个文件,排查问题就快。偏好共三层:
- 设备级:frontend/luasettings.lua 存全局设置,字号、语言、翻页方式都在这里,对所有书生效;
- 文档级:frontend/docsettings.lua 单独记住"这本"书的字体、进度、高亮,换书自动切回去;
- 路径层:datastorage.lua 定位设备上的数据目录,插件数据库、缓存都挂在它下面。
改行为的入手点:
- 触摸手势:frontend/device/gesturedetector.lua;
- 按键:设备层 event_map 文件(frontend/device/ 下按平台分布),外接键盘还能靠 plugins/externalkeyboard.koplugin/ 重新映射;
- 读源码:先通读 doc/Development_guide.md;
- 查某功能怎么实现的快捷方式:spec/unit/ 下的单元测试基本是"活文档",一个测试文件名就对应一个功能,比如 readerpaging_spec.lua 就是翻页逻辑的说明书。
常见问题与避坑
下面五个是安装到使用流程里最常见的情况,均按"现象 → 原因 → 解法"给。
现象:装完没有启动入口,或点开秒退。原因:平台包与机型对不上(v4/v5、legacy/新款最易拿错)。解法:回到准备清单的适配速查,核对机型与包名,重下重装。
现象:能启动,但闪一下回到系统菜单。原因:包与固件代数不匹配,或目标目录缺了必要文件。解法:对照包内说明检查目录结构,结构无误就换匹配固件的包。
现象:翻页明显卡顿。原因:多数不是引擎问题——扫描件开了重排后,每页首次渲染要提取文字,第一下最慢。解法:完整渲染一遍后翻页即顺畅;仍慢就降低重排的处理精度(对应选项见 frontend/ui/data/koptoptions.lua 描述的界面)。
现象:书拷进了存储卡,书架里却找不到。原因:书架只扫描默认书籍目录,位置由 datastorage.lua 决定。解法:把文件移进书籍目录,或用 KOReader 文件管理器的"加入书架"手动指定。
现象:插件拷进了 plugins 目录却不生效。原因:缺声明文件,或入口文件名不对。解法:对照 plugins/hello.koplugin/ 的文件结构补齐,再重启 KOReader。
行动清单
- 从书库里挑一本字最小的扫描版 PDF,开重排,读同一页的前后对比——这一步的体验差距比任何评测都直观;
- 启用两个插件(建议 newsdownloader 和 cloudstorage),把资讯流和书源搬上电纸书;
- 通读 doc/Development_guide.md,在 spec/unit/ 里跑一遍你关心的模块测试,之后改源码、提补丁就有路了。
改到哪算哪、换书自动还原,这套分层设置保证了你的折腾不会互相打架——放心改。
【免费下载链接】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),仅供参考