项目标题与描述
Paperless-ngx 是一个文档管理系统,旨在将纸质文档转换为可搜索的电子档案,帮助用户减少纸张使用。它是原始 Paperless 和 Paperless-ng 项目的官方继承者,由团队共同维护和发展。
功能特性
- 文档管理:将物理文档转换为可搜索的电子档案
- 自动分类:基于内容自动分配文档类型、标签和对应关系
- 全文检索:支持文档内容的全文搜索
- 多种文件格式支持:包括 PDF、PNG、JPG、TIFF 等
- 加密存储:支持使用 GPG 加密文档
- 工作流管理:支持自定义文档处理工作流
- 多用户支持:支持权限管理和多用户协作
- REST API:提供完整的 API 接口供集成使用
- 插件系统:支持通过插件扩展功能(如条形码识别、双面扫描处理等)
安装指南
系统要求
- Docker 和 Docker Compose
- Python 3.10-3.12
安装步骤
-
克隆项目仓库:
git clone https://github.com/paperless-ngx/paperless-ngx.git cd paperless-ngx
-
复制并修改环境配置文件:
cp docker-compose.env.yml.example docker-compose.env.yml
-
启动服务:
docker-compose up -d
-
访问应用:
http://localhost:8000
依赖项
- Redis
- PostgreSQL
- Gotenberg(用于文档转换)
- Apache Tika(用于文本提取)
使用说明
基本使用
-
添加文档:
- 通过 Web 界面上传文档
- 使用消费目录自动导入文档
-
文档分类:
- 系统会自动根据内容分类文档
- 可手动调整分类结果
-
搜索文档:
- 使用搜索框查找文档
- 支持高级搜索和过滤
API 使用示例
import requests
# 获取文档列表
response = requests.get("http://localhost:8000/api/documents/",
auth=("username", "password"))
documents = response.json()
# 上传新文档
files = {
"document": open("example.pdf", "rb")}
response = requests.post("http://localhost:8000/api/documents/post_document/",
files