跳转到内容

Paperless-ngx:纸质文档数字化归档

把扫描的 PDF 和照片自动做文字识别(OCR),提取日期、分类和标签,之后可以按内容搜索。适合处理合同、发票、说明书、证件复印件这类东西。

适合谁

  • 家里纸质文件多,找一份旧合同要翻半天。
  • 有扫描仪或愿意用手机扫描应用。

部署要点

这个应用需要多个容器配合(应用本体、数据库、Redis、OCR 组件),建议直接使用官方提供的 compose 文件,而不是自己拼凑——版本之间的依赖关系有要求。

关键配置项:

  • PAPERLESS_OCR_LANGUAGE:设置为 chi_sim+eng 以同时识别中文和英文。
  • 消费目录(consume):放进去的文件会被自动处理,可以把它映射到一个 SMB 共享文件夹,扫描仪直接存进去。
  • 数据目录:media(原始文件)、data(索引与数据库)要分别持久化。

资源需求

OCR 是计算密集型任务。处理一批扫描件时 CPU 会满载一段时间,低功耗平台上会比较慢。内存建议 4 GB 以上可用,中文 OCR 模型加载后占用不低。

数据与备份

  • media 目录里是你的原始文件,这是不可再生数据,必须纳入严格备份。
  • data 目录里是索引和数据库,丢了可以重建(重新 OCR),但很费时间。
  • 官方提供了导出命令,可以把文档和元数据一起导出成可移植的格式,适合定期归档。

原件不要马上扔

数字化完成、验证能搜到之后,重要原件(合同、证件)仍然建议保留纸质版。

已知坑

  • 首次导入大批文件时,OCR 队列会跑很久,期间 NAS 会比较卡。分批导入更稳妥。
  • 中文识别准确率取决于扫描质量,分辨率太低时效果很差。
  • 升级跨大版本时需要按官方说明执行迁移步骤。

参考资料

fnOS 非官方中文使用指南,与飞牛官方无隶属关系。