news 2026/5/27 21:27:42

Paperless-ngx:开源界的「数字档案室」——告别纸质,拥抱智能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Paperless-ngx:开源界的「数字档案室」——告别纸质,拥抱智能

一套自托管文档管理系统,让 OCR 技术赋予你的扫描件「灵魂」,实现全文检索与智能分类。


📌 项目概览

Paperless-ngx是一个开源的文档管理系统(DMS),通过OCR(光学字符识别)技术将物理文档转化为可搜索的数字档案。它由社区维护,是已停止更新的 Paperless-ng 项目的官方继承者。

项目属性详情
开源协议MIT License
GitHub Stars~25,000+
Docker Hub 拉取量10M+
维护状态活跃(社区驱动)
官方网站https://paperless-ngx.com

✨ 核心价值

为什么选择 Paperless-ngx?

传统痛点Paperless-ngx 解决方案
📄 纸质文档堆积成山📱 数字化归档,释放物理空间
🔍 手翻查找效率低下⚡ 全文 OCR 检索,秒级定位
🏷️ 人工分类耗时耗力🤖 ML 智能标签,自动归类
💰 商业 DMS 价格昂贵💸 完全免费,自托管无订阅费
🔐 云存储隐私担忧🛡️ 本地部署,数据完全自主

🔧 核心功能

文档处理能力

功能模块技术实现说明
OCR 文字提取Tesseract + OCRmyPDF支持 100+ 语言,从 PDF/图片中提取可搜索文本层
智能分类机器学习模型根据文档内容自动建议标签、联系人、文档类型
双文件消费原始文件 + 搜索 PDF保留原件,同时生成带 OCR 层的可搜索 PDF

组织管理体系

元数据维度用途
Tags(标签)灵活的层级标签系统,如「财务/税务/发票」
Correspondents(联系人)记录文档来源,如「税务局」「电力公司」
Document Types(文档类型)分类归档,如「合同」「发票」「凭证」
Custom Fields(自定义字段)扩展元数据,满足特定业务需求
Storage Paths(存储路径)自定义文件存储规则

输入方式

入口适用场景
监控文件夹(Consume Directory)扫描仪自动投递、批量导入
邮件采集自动导入指定邮箱的邮件附件
Web 界面上传手动拖拽上传,即时处理
REST API程序化集成,自动化流水线

用户界面

  • 🌙深色模式:护眼主题
  • 📊仪表盘统计:文档分布可视化
  • ✏️批量编辑:多文档属性同时修改
  • 🔗分享链接:生成临时分享 URL
  • 📱响应式设计:移动端友好

🏗️ 技术架构

技术栈一览

层级技术选型
后端语言Python 3.10+
Web 框架Django + Django REST Framework
前端框架Angular 15+(TypeScript)
UI 样式Bootstrap 5 + Angular Material + SCSS
任务队列Celery + Redis
数据库SQLite(开发)/ PostgreSQL(生产推荐)
搜索引擎Whoosh(内嵌 Python 库)
OCR 引擎OCRmyPDF + Tesseract

Docker 服务架构

┌─────────────────────────────────────────────────────────────┐ │ Paperless-ngx 容器架构 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Webserver │ │ Broker │ │ DB │ │ │ │ (Django + │ │ (Redis) │ │ (PostgreSQL) │ │ │ │ Gunicorn) │ │ │ │ │ │ │ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │ │ │ │ │ │ │ └──────────────────┼──────────────────┘ │ │ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ Gotenberg │ │ Tika │ ← 文档转换服务 │ │ │ (Office→PDF) │ │ (文本提取) │ │ │ └──────────────┘ └──────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ Celery Workers │ │ │ │ (OCR 处理 | 缩略图生成 | 搜索索引 | 定时任务) │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘

OCR 处理流水线

文档上传 ↓ 预处理(图像清洁、倾斜校正) ↓ OCRmyPDF + Tesseract ↓ 添加文本层到 PDF ↓ Whoosh 全文索引 ↓ 可搜索文档入库

API 设计

特性实现
API 类型RESTful API
文档规范OpenAPI Schema
交互式文档Swagger UI(/swagger/
认证方式API Token(用户配置页生成)

核心端点

  • /api/documents/— 文档 CRUD
  • /api/tags/— 标签管理
  • /api/search/— 全文检索
  • /api/tasks/— 后台任务状态

🚀 安装部署

部署方式

Docker Compose 是官方推荐的部署方式。

快速启动

# 1. 创建目录结构mkdir-p./paperless-ngx/{data,media,export,consume}# 2. 下载官方 compose 配置wgethttps://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/docker-compose.yml# 3. 配置环境变量cpdocker-compose.env .env# 编辑 .env 文件,设置关键参数# 4. 启动服务dockercompose up-d# 5. 创建管理员账户(如未在 env 中设置)dockercomposeexec--userpaperless webserver createsuperuser

完整 Docker Compose 示例

version:"3.8"services:broker:image:redis:7restart:unless-stoppedvolumes:-redisdata:/datadb:image:postgres:15restart:unless-stoppedvolumes:-pgdata:/var/lib/postgresql/dataenvironment:POSTGRES_DB:paperlessPOSTGRES_USER:paperlessPOSTGRES_PASSWORD:paperlesswebserver:image:ghcr.io/paperless-ngx/paperless-ngx:latestrestart:unless-stoppeddepends_on:-db-broker-gotenberg-tikaports:-"8010:8000"volumes:-data:/usr/src/paperless/data-media:/usr/src/paperless/media-./export:/usr/src/paperless/export-./consume:/usr/src/paperless/consumeenvironment:PAPERLESS_REDIS:redis://broker:6379PAPERLESS_DBHOST:dbPAPERLESS_TIKA_ENABLED:1PAPERLESS_TIKA_GOTENBERG_ENDPOINT:http://gotenberg:3000PAPERLESS_TIKA_ENDPOINT:http://tika:9998gotenberg:image:gotenberg/gotenberg:7.8restart:unless-stoppedcommand:-"gotenberg"-"--chromium-disable-javascript=true"-"--chromium-allow-list=file:///tmp/.*"tika:image:ghcr.io/paperless-ngx/tika:latestrestart:unless-stoppedvolumes:data:media:pgdata:redisdata:

关键环境变量

变量用途示例
PAPERLESS_URL公网访问地址https://paperless.yourdomain.com
PAPERLESS_SECRET_KEYDjango 密钥python -c "import secrets; print(secrets.token_urlsafe(50))"
PAPERLESS_ADMIN_USER初始管理员用户名admin
PAPERLESS_ADMIN_PASSWORD初始管理员密码your-secure-password
PAPERLESS_OCR_LANGUAGEOCR 语言eng(英语)/chi_sim(简体中文)
PAPERLESS_TIME_ZONE时区设置Asia/Shanghai

硬件需求

项目最低配置推荐配置
内存2GB4GB+(OCR 资源密集)
CPU单核多核(并行处理加速)
存储10GBSSD(IO 性能提升)
数据库SQLitePostgreSQL(>1000 文档或多用户)

支持平台

平台说明
Ubuntu / Debian服务器首选
Raspberry PiPi 4/5(4GB+ RAM)
Synology DSM / QNAP QTSNAS 内置 Docker
macOS / Windows(WSL2)本地开发测试

🔗 集成生态

认证集成

提供商类型
LDAP / Active Directory目录服务
Keycloak / Authentik / AutheliaOIDC/OAuth

存储后端

后端用途
本地文件系统默认存储
AWS S3 / MinIO云端/私有对象存储
Azure Blob / GCS云厂商对象存储

自动化集成

平台集成方式
Home Assistant官方集成组件
n8n / Zapier / Node-REDWebhook/API
Telegram / Slack / Gotify通知推送

AI 增强

  • paperless-ai:接入 OpenAI/Anthropic/Ollama,实现 AI 驱动的智能标签

📈 社区生态

项目演进历程

Paperless(原始项目,已停止维护) ↓ Paperless-ng(增强版,已停止维护) ↓ Paperless-ngx(社区继承者,活跃维护) ← 2022年1月 fork

fork 背景:Paperless-ng 项目停滞,社区成员无权限合并 PR,遂创建 Paperless-ngx 继续开发。

社区渠道

渠道地址
官方文档https://docs.paperless-ngx.com
GitHub Discussionshttps://github.com/paperless-ngx/paperless-ngx/discussions
GitHub Wikihttps://github.com/paperless-ngx/paperless-ngx/wiki
Redditr/selfhosted 社区活跃讨论

安全响应

CVE类型修复版本
CVE-2023-46492SSRF(中危)1.17.0
CVE-2023-45543认证绕过(高危)1.16.3
CVE-2023-42046XSS(中危)1.15.1

🎯 适用场景

个人家庭

场景示例
账单管理水电燃气、信用卡账单自动归类
税务文档工资单、完税证明集中归档
医疗记录家庭健康档案统一管理
家庭资产房产证、保险单、保修卡

小微企业

场景示例
发票处理自动识别发票类型,关联供应商
合同管理客户合同归档,到期提醒
合规文档审计材料、资质证书留档
人事档案员工入职资料、证书认证

📚 参考资源

资源链接
GitHub 仓库https://github.com/paperless-ngx/paperless-ngx
官方文档https://docs.paperless-ngx.com
Docker Hubhttps://hub.docker.com/r/paperless-ngx/paperless-ngx
API 文档https://docs.paperless-ngx.com/api/
Swagger Demohttps://demo.paperless-ngx.com/swagger/
安装指南https://docs.paperless-ngx.com/setup/
配置参考https://docs.paperless-ngx.com/configuration/

结语

Paperless-ngx 是自托管文档管理的标杆项目:功能完整、架构清晰、社区活跃。对于追求隐私控制、成本节约、定制自由的技术用户而言,它是替代商业 DMS 的理想选择。

一句话总结:扫描即索引,检索秒级响应,分类自动化——纸质文档的「数字涅槃」。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/27 21:27:37

SAT-CTS算法:基于满足性目标的组合多臂赌博机在波束选择中的应用

1. 项目概述:当在线学习遇见波束赋形在毫米波通信系统的日常运维和算法调优中,我们常常面临一个经典困境:如何在信道快速变化、用户需求动态波动的环境中,实时地为多个用户分配合适的波束和调制编码方案(MCS&#xff0…

作者头像 李华
网站建设 2026/5/27 21:27:35

HEC-HMS水文模型应用

HEC-HMS是美国陆军工程兵团水文工程中心开发的一款水文模型。HMS能够模拟各种类型的降雨事件对流域水文,河道水动力以及水利设施的影响,在世界范围内得到了广泛的应用。它有着完善的前后处理软件,能有效减轻建模的负担;能够与HEC开…

作者头像 李华
网站建设 2026/5/27 21:25:12

Google 网站收录全流程解析:抓取、索引与排名机制详解

从 robots.txt、网站地图、结构化数据,到 JavaScript、移动端优化与页面索引, 一篇文章带你全面理解 Google 如何抓取、理解并收录网站内容。为什么网站需要理解 Google 的抓取与索引机制?很多人在刚开始做网站的时候, 会把重点放…

作者头像 李华
网站建设 2026/5/27 21:19:00

B站SEO优化新玩法:跳出算法陷阱,打造长效搜索流量壁垒

当下B站创作者对SEO的认知,大多陷入“算法跟着走,优化跟着变”的被动困境,要么盲目堆砌关键词,要么跟风模仿高排名内容,最终陷入流量波动大、变现难的僵局。事实上,B站SEO的核心不是“适配算法”&#xff0…

作者头像 李华
网站建设 2026/5/27 21:14:45

直播拍卖实时竞价:高交互场景下跨境网络的适配要点

相比普通直播带货,直播拍卖对网络的要求明显更高。原因很简单: 普通直播更偏“单向内容输出”,而直播拍卖本质上属于“实时多人交互系统”。尤其在跨境场景下,一旦网络延迟、抖动或链路波动明显,就容易出现&#xff1a…

作者头像 李华