简介
Paperless-ngx 是一个开源AI文档管理系统,旨在帮助您实现数字化文档管理。它能够AI识别、智能分类建立您的内部私有文档库,并经过权限分配后,协作伙伴可以使用搜索功能轻松访问内容。
主要功能
- 文档数字化:数字化各种类型的文档,包括图片、PDF、WORD、EXCEL、PPT等,无论是电子还是纸质形式
- AI私有化:AI私有化在本地部署,不会把文档发给外部AI学习训练,保障文档的安全
- 智能分类:基于机器学习能力,自动对文档进行识别分类及应用标签,极大提高文档归档效率
- 全文搜索:通过AI检索能力,快速查找归档资料库中的指定文本内容
- 多用户支持:使用权限控制功能,您可以轻松实现内部私有资料库共享和分发给指定伙伴使用
- PDF 编辑:在线实时对PDF文件进行编辑,如转换、合并、分割、裁剪、旋转等
- Web 界面:现代化响应式设计,支持移动端访问
- API 接口:RESTful API 支持第三方集成
- 多语言支持:包括中文在内的多种语言界面
历史
Paperless-ngx 是原始 Paperless 和 Paperless-ng 项目的官方继承者,旨在通过团队协作来推进和支持该项目。
安装指南
推荐安装方式
Paperless-ngx 提供了多种安装选项,最推荐的方式是使用 Docker 或 Docker Compose。
Docker Compose 安装步骤:
version: "3.4"
services:
paperless-ngx:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
ports:
- "8000:8000"
volumes:
- ./data:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
environment:
- PAPERLESS_REDIS=redis://redis:6379
- PAPERLESS_DBHOST=db
depends_on:
- db
- redis
db:
image: postgres:15
restart: unless-stopped
volumes:
- ./pgdata:/var/lib/postgresql/data
environment:
- POSTGRES_DB=paperless
- POSTGRES_USER=paperless
- POSTGRES_PASSWORD=supersecretpassword
redis:
image: redis:7
restart: unless-stopped
volumes:
- ./redisdata:/data
其他安装方式
除了 Docker 外,还可以通过以下方式安装:
- 直接从源码安装
- 使用 pip 安装
- 通过包管理器安装(如 Arch Linux 的 AUR 包)
迁移
可以从 Paperless-ng 或原始 Paperless 迁移到 Paperless-ngx:
- 停止当前的 Paperless 实例
- 备份数据
- 下载最新的 Paperless-ngx 发布版本
- 更新 docker-compose.yml 文件中的镜像地址
- 执行数据库迁移和搜索索引重建
- 启动 Paperless-ngx
配置说明
Paperless-ngx 提供了丰富的配置选项,可以通过环境变量进行设置。
必需服务
Redis Broker
PAPERLESS_REDIS:这是处理计划任务所必需的,例如邮件获取、索引优化和训练自动文档匹配器。
数据库
默认情况下,Paperless 使用 SQLite,但建议在生产环境中使用 PostgreSQL 或 MariaDB。
常用配置项
| 配置项 | 说明 | 默认值 |
|---|---|---|
| PAPERLESS_TIME_ZONE | 时区设置 | UTC |
| PAPERLESS_OCR_LANGUAGE | OCR 语言(可指定多个) | eng |
| PAPERLESS_CONSUMER_POLLING | 消费目录轮询间隔(秒) | 0(不轮询) |
| PAPERLESS_FILENAME_FORMAT | 归档文件命名格式 | 无 |
更多配置选项请参考官方文档。
使用方法
添加文档
有多种方式将文档添加到 Paperless-ngx:
- 上传文件:通过 Web 界面直接上传 PDF、图片等文件
- 消费目录:将文件放入指定目录自动处理
- 邮件接收:配置邮箱自动接收并处理附件
- 扫描仪集成:通过 SANE 或网络扫描仪直接扫描
文档管理
在 Web 界面中,您可以:
- 搜索文档(支持全文搜索)
- 为文档添加标签、对应人和文档类型
- 查看文档详细信息和元数据
- 下载或在线查看文档
- 批量操作多个文档
术语和定义
- 文档:一份包含有价值信息的纸质文件
- 对应人:文档的来源或发送对象,可以是个人、机构或公司
- 标签:可以分配给文档的标签,比文件夹更强大
- 文档类型:用于标识文档类型,如合同、档案、行政公文、财务、知识等
- 创建日期:文档最初发布或签署的日期
- 存档序列号:文档在物理文档活页夹中的标识符
高级功能
自动化匹配
Paperless-ngx 可以自动匹配标签、对应人、文档类型和存储路径:
- 基于文档内容的自动匹配算法
- 支持多种匹配算法:无、任意、全部、精确、正则表达式、模糊匹配和自动匹配
- 机器学习驱动的自动匹配功能
自动化规则
Paperless-ngx 支持创建自动化规则,根据文档内容自动执行操作:
- 自动分配标签
- 自动设置对应人
- 自动归类文档类型
- 自定义操作流程
消费钩子
可以在文档消费过程前后执行自定义脚本:
- 预消费脚本:在处理文档之前执行
- 后消费脚本:在文档处理完成后执行
故障排除
常见问题
没有文件被添加
- 确保放置文档的目录是 Paperless 监视的文件夹
- 确保 Redis 正在运行
- 确保任务处理器正在运行
OCR 失败
如果 OCR 精度太低,可能需要安装与文档语言匹配的 Tesseract 语言文件。
Web 界面卡在"Loading..."
确保前端文件已正确编译并存在于相应目录中。
获取帮助
如果遇到问题,可以通过以下途径获得帮助:
- 查阅官方文档
- 在 GitHub Issues 中提问
- 微信扫码获取支持
API 接口
Paperless-ngx 提供了功能齐全的 REST API 和可浏览的 Web 界面。
认证方式
- 基本认证:使用 Base64 编码的用户名和密码
- 会话认证:在浏览器中登录后自动认证
- 令牌认证:通过 API 令牌进行认证
- 远程用户认证:使用远程用户认证
文档搜索
支持全文搜索和相似文档搜索:
/api/documents/?query=搜索词:全文搜索/api/documents/?more_like_id=文档ID:查找相似文档
上传文档
通过 /api/documents/post_document/ 端点上传文档:
- 使用 multipart 表单上传文件
- 支持指定标题、创建日期、对应人、文档类型等元数据