PDF图书馆索引器和阅读器Inkheart
简介
什么是 Inkheart ?
Inkheart是一个为你所有
主要特点
- 自动索引:自动扫描指定目录中的
PDF文件并建立索引。 - 封面提取:自动提取每个
PDF文件的第一页作为书库中的封面图片。 - 优雅界面:提供一个美观、现代化的书架网页界面,用于浏览你的所有
PDF收藏。 - 文档管理:提供文档的分类和管理功能,用户可以轻松组织和查阅文档。
- 链接预览:为分享的页面链接生成缩略图,在社交媒体上提供更好的预览效果。
- 轻松部署:基于
Docker,部署过程简单快捷,无需依赖外部服务,保护隐私和数据安全。
应用场景
- 个人电子书管理:为你的电子书收藏创建一个漂亮的在线书架。
- 文档资料库:整理和展示技术手册、研究报告、产品说明等
PDF文档。 - 家庭共享:在家庭内部共享和展示食谱、漫画、学习资料等。
- 个人数字图书馆:打造一个完全由你掌控的、可随时访问的个人在线图书馆。
比较
以下是 Inkheart 与 Paperless-ngx、Kavita 和 Komga 的比较:
| 项目 | Inkheart | Paperless-ngx | Kavita | Komga |
|---|---|---|---|---|
| 类型 | 自托管 PDF 库 | 自托管文档管理系统 | 自托管电子书和漫画阅读器 | 自托管漫画和电子书管理器 |
| 开发语言 | Rust(后端),Svelte(前端) | Django(Python) | .NET | Java |
| 主要功能 | PDF 索引与阅读,文档管理 | 文档存储和管理,OCR 处理 | 电子书和漫画上传、管理和阅读 | 漫画和电子书上传、管理和阅读 |
| 用户界面 | 现代化的单页应用,流畅的用户体验 | 提供简单的用户界面 | 现代化用户界面,支持自定义主题 | 现代化设计,功能齐全的用户界面 |
| 连接方式 | 自托管 | 自托管 | 自托管 | 自托管 |
| 数据存储 | 本地文件系统 | 数据库(支持各种数据库) | 本地文件系统(包括电子书和漫画文件) | 本地文件系统 |
| 社区与支持 | 开源项目,较小的社区 | 活跃的开源社区,定期更新 | 开源并有活跃的支持社区 | 开源项目,活跃开发 |
| 文档管理 | 通过索引和分类组织 PDF 文档 | OCR 文本识别,支持各种文档格式 | 支持封面、内容组织,分类功能 | 支持分类和标签管理 |
| 许可证 | Apache License 2.0 | GPL v3 | MIT License | GPL v3 |
这些工具各有侧重,选择合适的工具取决于用户的需求。例如,Inkheart 适合希望专注于 PDF 管理的用户,而 Paperless-ngx 更适合需要文档 OCR 功能的用户。Kavita 和 Komga 则更专注于电子书和漫画的管理与阅读。

Inkheart 提供了一种高效、安全的方式来管理和阅读 PDF 文档。其自托管的特性和现代化的技术栈使其成为个人和机构在数字内容管理方面的理想选择。
安装
在群晖等支持 Docker 的设备上以 Docker 方式安装。
在注册表中搜索 inkheart ,选择第一个 nobbe/inkheart,版本选择 latest。
本文写作时,
latest版本对应为1.1.0;

涉及的参数比较多,建议用命令行方式安装比较简单和快捷
docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建项目文件夹和所有子目录 |
卷
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/inkheart/media |
/media |
必须!存放你的 PDF 文件 |
docker/inkheart/covers |
/covers |
必须!存放自动提取的封面 |
docker/inkheart/config |
/config |
可选。存放 inkheart.toml 等配置文件 |
docker/inkheart/thumbnails |
/thumbnails |
必须!存放分享链接的缩略图 |
环境变量
| 变量 | 值 | 说明 |
|---|---|---|
MEDIA_DIR |
/media |
PDF 文件输入目录 |
COVER_DIR |
/covers |
封面图片输出目录 |
THUMBNAIL_DIR |
/thumbnails |
缩略图输出目录 |
CONFIG_PATH |
/config/inkheart.toml |
配置文件路径 |
BIND_ADDR |
0.0.0.0 |
监听地址 |
更多的环境变量可以参考官方的说明文档,地址在:https://gitlab.com/Nystik/inkheart#variables
docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | services: |
然后执行下面的命令来启动:
1 | # 新建项目文件夹和所有子目录 |

运行
在浏览器中输入 http://群晖IP:8754 就能看到主界面

将 pdf 文件放入 media 目录

索引时间取决于你放入 media 文件夹中 pdf 文件的数量和大小

通过左侧菜单的 + 号创建合集

然后可以将书加入到合集中

直接点击进行阅读

参考文档
Nystik / Inkheart - Self-hosted PDF library · GitLab
地址:https://gitlab.com/Nystik/inkheart