摘要:大量电脑文档管理麻烦,通过NAS实现无纸化管理,OCR、项目分类、自动化工作流全都有。
大量电脑文档管理麻烦,通过NAS实现无纸化管理,OCR、项目分类、自动化工作流全都有。
大家好,这里是Cherry,喜爱折腾、玩数码,热衷于分享数码玩耍经验~
风水轮流转,今天到我司。作为一个办公室文员牛马,我长期面临的是海量的纸质文档和电子化文档,以及文档的管理、归档、调阅工作。
不同的项目文档,不同的版本文档,不同格式的文档,稍稍有一天忘记整理,那第二天就需要花费大量的时间去梳理。这还不包括小组长突然要一个文件,或者要全局搜索某个项目内容,某某项目组又要调阅一个历史文档。
因此,文档资料数字化这件事,成为了我迫在眉睫的工作需求,也成为我再次压榨铁威马NAS 性能的理由,谁让这颗 i5-1235U 性能如此富裕呢~
今天,为大家带来的是知名的文档电子化项目——Paperless-ngx。一款开源的无纸化文档管理工具,github 28.5k star,实现PDF文档的扫描、索引和存档,并且实现项目成员点对点派件和权限管理。
一、铁威马部署项目
铁威马F6-424 Max,是我使用在办公环境下的一台企业级NAS。它采用了10核12线程的i5-1235U处理器,最大支持64G DDR5内存,拥有双万兆网口,3个USB口,可以满足工作室、小型企业存储和服务器使用。
本次部署采用的是docker-compose方式,主打一键安装、一键卸载,不污染NAS环境,既方便又清洁。
铁威马NAS内置了Docker Manager应用,支持一键部署Docker Compose应用。
打开Docker Manager,配置好项目名称和项目路径以后,我们将下面的代码复制到配置文件来源处进行YAML验证即可。
services:
broker:
image: docker.io/library/redis:8
restart: unless-stopped
volumes:
- redisdata:/data
db:
image: docker.io/library/postgres:17
restart: unless-stopped
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
- gotenberg
- tika
ports:
# 下面左边的端口可以修改
- "21200:8000"
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
TZ: Asia/Shanghai
# 下面的OCR的语言,chi-sim是简体,chi-tra是繁体,具体可以在debian的`bullseye/graphics`包里查询对应的内容。
PAPERLESS_OCR_LANGUAGES: eng chi-sim chi-tra
PAPERLESS_OCR_LANGUAGE: eng
USERMAP_UID: 0
USERMAP_GID: 0
# 公网使用的话,下面改成自己公司的域名
# PAPERLESS_URL: https://paperless.example.com
PAPERLESS_SECRET_KEY: cherry
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
gotenberg:
image: docker.io/gotenberg/gotenberg:8.20
restart: unless-stopped
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"
tika:
image: docker.io/apache/tika:latest
restart: unless-stopped
volumes:
data:
media:
pgdata:
redisdata:
初次启动,paperless会自动从debian库下载对应的ocr语言包,这里耗时比较久,大概5-10分钟,耐心等待即可。
二、铁威马无纸化办公实操
1、初始化并配置OCR
等系统启动完成后,我们先来注册一个账号密码。注意不要使用相似字符,否则会注册使用。
Paperless拥有一套比较完整的新手导引,初次登陆以后,我们只需要跟着导引走一遍流程,就可以大致明白的七七八八了。
在正式开始之前,我们还需要配置一下OCR设置。点击左下角设置——应用配置——OCR设置。里面将语言设置成我们需要的语种。
如果是多语言的,则使用+连接,比如eng+chi_sim。注意,语种中间的横杠-,在这里要替换成下划线_。
2、上传文件
目前,Paperless本体支持PDF文件,如果增加了kita则支持word格式。本次教程内的代码是自带kita的,所以我们理论上可以上传绝大多数的文档格式。
上传完成以后的文档,会在项目首页进行预览展示。这里支持全文搜索、路径搜索、标签搜索等等,简单易用。
这里以我们文档管理中常用的PDF为例。众所周知分为文字型PDF和扫描型PDF,前者可以直接复制、修改,而后者则需要通过OCR来识别。
我这里上传了一个之前2份文档,上传后可以看到Paperless正在读取文档的元数据。
首先是文字型PDF文件,左侧会展示标题、日期等元数据,右侧是PDF文档的文件内容。
将左侧标签切换到内容一栏后,可以看到文字型PDF所有内容都在里面了,可以搜索、复制、黏贴。
这一份电子化文档,我们可以通过HTTP链接进行分享,也可以在Paperless系统里创建项目、组织、人员进行点对点分配。
接着,我们再来看一个扫描型PDF,同样在内容里,可以看到通过OCR识别以后的文字内容,准确度还是比较高的。
如果刚才没配置OCR语言,这里就会显示英文乱码,所以记得去配置一下。
3、其它功能
Paperless目前还集成了一定的AI能力,可以设置一个文档工作流。在工作流中,我们可以根据文档上传、更新、触发等条件,进行文档的自动分配、通知,从而实现项目文档全自动处理。
此外,Paperless还支持webhook、邮件等消息通知,增加项目、文档管理的沟通渠道。
剩下的就是文档管理方面的标签、类型、权限、组员等维护信息。
总结
Paperless-ngx这个项目,支持海量的文件格式上传,支持通过不同类型、标签、路径进行分类,甚至支持全文检索。因此无论是个人使用,亦或是在企业办公场景下使用,都可以帮助我们快速整理和管理文件资料, 进一步发挥NAS存储资料的核心用途。
最后,还是得提醒一句,项目使用了docker volume进行文件路径,所以我们上传的资料都是data卷下面,大家记得定时备份,或者改成bind模式哦~
来源:可爱的小cherry