
Paperless-ngx 怎么按消费目录子目录结构自动给文档打标签【免费下载链接】paperless-ngxA community-supported supercharged document management system: scan, index and archive all your documents项目地址: https://gitcode.com/GitHub_Trending/pa/paperless-ngx如果你把待处理的文档按文件夹分类放进 Paperless-ngx 的消费目录consume 目录希望在文档被消费时自动按子目录结构打标签——比如consume/car/2024/账单.pdf打上car和2024两个标签——而不需要每份文档手动选标签那么需要用到的核心配置是PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS并且它依赖PAPERLESS_CONSUMER_RECURSIVE开启递归监听。本文基于 配置文档 和 使用文档 给出完整操作路径并附一条基于 Workflow 的替代方案。准备条件确认消费目录与递归监听先确认消费目录本身配置正确。PAPERLESS_CONSUMPTION_DIR是文档放入后被消费的位置需要该目录存在、且运行 Paperless 服务的用户对其有读写权限见 PAPERLESS_CONSUMPTION_DIR非 Docker 部署该项写在paperless.conf中Paperless 会按以下顺序查找配置文件并采用第一个找到的环境变量PAPERLESS_CONFIGURATION_PATH、/path/to/paperless/paperless.conf、/etc/paperless.conf、/usr/local/etc/paperless.conf。Docker 部署paperless.conf不会被使用需要把配置项写到docker-compose.env里同时注意不要在 Docker 里改PAPERLESS_CONSUMPTION_DIR它只改变容器内路径本地消费目录应在docker-compose.yml中调整。接下来开启递归监听。默认情况下 Paperless 只处理消费目录第一层的文件放进子目录的文件不会被拾取。开启递归监听需要设置默认为falsePAPERLESS_CONSUMER_RECURSIVEtrue这一步是后续所有“按子目录”行为的硬性前提PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS在 配置文档 中明确要求PAPERLESS_CONSUMER_RECURSIVE必须先启用。核心配置PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS在同一个配置位置Docker 下为docker-compose.env其他部署为paperless.conf再设置PAPERLESS_CONSUMER_SUBDIRS_AS_TAGStrue两项配置放在一起即PAPERLESS_CONSUMER_RECURSIVEtrue PAPERLESS_CONSUMER_SUBDIRS_AS_TAGStrue该配置的行为在 配置文档 中定义如下消费文件时把其路径中各级子目录名设置为该文档的标签。文档给出的例子CONSUMPTION_DIR/foo/bar/file.pdf会为该文档添加foo和bar两个标签CONSUMPTION_DIR即你的消费目录。不存在的标签会被 Paperless自动创建无需预先在界面里建好。用途是给文档“在消费前按标签分好类”文档里举的例子就是先把带car、todo之类标签的文档放进对应文件夹。子目录本身不会被删除文件被消费后移除承载分类结构的文件夹保留。该配置默认值为false仓库根目录的 paperless.conf.example 中同样以注释形式提供了这两项#PAPERLESS_CONSUMER_SUBDIRS_AS_TAGSfalse、#PAPERLESS_CONSUMER_RECURSIVEfalse取消注释并改为true即可。结果验证按标签确认消费结果验证方式如下在消费目录下建一个子目录例如consume/invoices/把一份文档如发票001.pdf放进去。等待 consumer 消费该文件文件本身会被移走invoices目录保留。在 Web UI 的文档列表中按标签过滤——文档列表支持按 tags、correspondents、document types 等条件过滤见 使用文档——用invoices作为标签筛选应能看到刚消费的文档且其标签列表中包含invoices若invoices标签此前不存在标签页里此时也应能看到它被自动创建出来。用多层目录验证叠加行为把a.pdf放入consume/foo/bar/消费后该文档应同时带foo和bar两个标签。如果文档没有出现对应标签优先检查两点PAPERLESS_CONSUMER_RECURSIVE是否确实为true递归未开启时子目录文件根本不会被消费以及配置是否写在了当前部署方式实际生效的位置Docker 下确认在docker-compose.env而非paperless.conf。可选替代路径用 Workflow 按文件路径分配标签如果“目录名即标签名”的规则不够用——例如希望子目录invoices映射成自定义标签名或需要同时分配 owner、document type 等——可以使用 Workflow。使用文档 中 Workflow 章节描述了这条能力触发器选Consumption Started文档被消费之前触发该类型支持按来源邮件、消费文件夹、API和**文件路径含通配符**过滤文档明确提到开启PAPERLESS_CONSUMER_RECURSIVE后文件路径过滤“would allow, for example, automatically assigning documents to different owners based on the upload directory”即按上传目录做差异化分配。动作选Assignment可分配 Title、Tags、correspondent、document type、storage path 等。多个 Workflow 按 sort order 顺序执行对 tags 这类可多值字段的分配是合并而非覆盖。因此流程是为每个子目录或每类路径通配符建一个 Workflow触发条件为“文件路径匹配该子目录”动作为分配目标标签路径过滤同样依赖PAPERLESS_CONSUMER_RECURSIVEtrue。边界与限制两个配置默认都是false缺一不可只开PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS不开递归监听时子目录里的文件不会被消费自然也不会有标签。标签名取自目录名本身不做映射或变换需要重命名/映射时走 Workflow 方案。子目录在消费后保留只有文件被移除如果你希望目录也消失文档中没有提供对应配置需要自行清理。Docker 部署下所有 Paperless 配置都应进docker-compose.env修改容器内路径类变量如PAPERLESS_CONSUMPTION_DIR不改变本地挂载位置。【免费下载链接】paperless-ngxA community-supported supercharged document management system: scan, index and archive all your documents项目地址: https://gitcode.com/GitHub_Trending/pa/paperless-ngx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考