Brave
@47c132035ed7a1105a867946b99d67af 开源软件研究 公开
讨论 Paperless-ngx:现代化的开源文档管理系统

Paperless-ngx:现代化的开源文档管理系统

在数字化时代,管理大量的纸质文档变得越来越困难。Paperless-ngx 是一个开源的文档管理系统,旨在帮助用户将物理文档转换为可搜索的数字档案,从而实现无纸化办公。

一、什么是 Paperless-ngx

Paperless-ngx 是 Paperless 和 Paperless-ng 项目的继任者,由社区支持和维护。它利用 OCR(光学字符识别)技术,将扫描的文档转换为可搜索的文本,并支持多种文档格式,包括 PDF、图片、纯文本文件以及 Office 文档。

二、主要功能

1. 文档组织与索引:用户可以通过标签、对应人、文档类型等方式对文档进行分类和索引,方便管理和查找。

2. OCR 技术:利用开源的 Tesseract 引擎,支持超过 100 种语言的识别,将扫描的图像转换为可搜索的文本。

3. 多用户权限系统:支持全局权限和单个文档或对象的权限设置,确保数据的安全性和隐私性。

4. 强大的工作流系统:提供更多控制选项,优化文档处理流程。

5. 全文搜索:支持自动补全、相关性排序和高亮显示,帮助用户快速找到所需文档。

6. 电子邮件处理:可以从电子邮件账户中导入文档,并根据规则进行处理。

三、安装与使用

Paperless-ngx 可以在多种平台上运行,包括 Docker 和 Kubernetes。用户可以通过简单的配置文件进行安装和部署,并利用现代化的 Web 界面进行管理。

# https://github.com/paperless-ngx/paperless-ngx/blob/main/docker/compose/docker-compose.portainer.yml
services:
  paperlessbroker:
    image: docker.io/library/redis:7
    container_name: paperlessbroker
    restart: unless-stopped
    volumes:
      - /volume1/docker/paperless-ngx/redisdata:/data
  paperlessdb:
    image: docker.io/library/postgres:15
    container_name: paperlessdb
    restart: unless-stopped
    volumes:
      - /volume1/docker/paperless-ngx/pgdata:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: paperless
  paperlesswebserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    container_name: paperlesswebserver
    restart: unless-stopped
    depends_on:
      - paperlessdb
      - paperlessbroker
    ports:
      - 9035:8000
    healthcheck:
      test:
        - CMD
        - curl
        - -fs
        - -S
        - --max-time
        - "2"
        - http://localhost:8000
      interval: 30s
      timeout: 10s
      retries: 5
    volumes:
      - /volume1/docker/paperless-ngx/data:/usr/src/paperless/data
      - /volume1/docker/paperless-ngx/media:/usr/src/paperless/media
      - /volume1/docker/paperless-ngx/export:/usr/src/paperless/export
      - /volume1/docker/paperless-ngx/consume:/usr/src/paperless/consume
    environment:
      PAPERLESS_REDIS: redis://paperlessbroker:6379
      PAPERLESS_DBHOST: paperlessdb
      USERMAP_UID: 1026
      USERMAP_GID: 100
      # paperless 支持的语言(已内置英语、德语、意大利语、法语)
      # See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster
      # for available languages.
      PAPERLESS_OCR_LANGUAGES: chi-sim chi-tra
      # OCR 语言
      PAPERLESS_OCR_LANGUAGE: eng+chi_sim
      PAPERLESS_SECRET_KEY: change-me
      PAPERLESS_TIME_ZONE: Asia/Shanghai

为了更好地支持中文,Paperless-ngx 可以通过以下几种方式进行优化:

1. OCR 引擎配置:确保使用支持中文的 OCR 引擎,如 Tesseract。你可以在配置文件中指定语言包。

2. 字体支持:确保系统中安装了中文字体,以便在文档预览和 OCR 处理时正确显示中文字符。

3. 界面翻译:Paperless-ngx 支持多语言界面,可以通过社区翻译项目(如 Crowdin)来完善中文翻译。你可以参与翻译项目,帮助改进中文界面的质量。

4. 文档处理:对于中文文档的处理,可以调整 OCR 参数和预处理步骤,如图像去噪、二值化等,以提高识别准确率。

四、优势与应用场景

– 提高效率:通过自动化的文档处理和分类,大大减少了手动管理的时间和精力。

– 数据安全:所有数据都存储在本地服务器上,不会被传输或共享,确保隐私和安全。

– 长期存储:文档以 PDF/A 格式保存,适合长期存档。

总之,Paperless-ngx 是一个功能强大且易于使用的文档管理系统,适合个人和企业用户。通过它,您可以轻松实现无纸化办公,提高工作效率,确保数据安全。