跳到主要内容

如何在 n8n 中对 PDF 文件进行分类?一个简单的三节点工作流程,即可自动路由发票、合同和收据!

· 阅读需 13 分钟
SEO and Content Writer

你会收到各种各样的文件,包括PDF、发票、合同和收据,你需要按类型对它们进行分类,以便正确的流程能够处理每一份文件。手动操作无法扩展规模。

解决方法: 定义你的 dev.pdf4me.com 上的分类规则 (使用 正则表达式 或者 JavaScript 然后运行相同的分类 n8n 内部下载 PDF 文件(例如从 Dropbox 下载)→ PDF4me 文档分类 → 使用返回值 类名 进行路由或整理。分类信息保存在您的 PDF4me 帐户中;n8n 只需发送文件并接收分类信息即可。

本指南分为两部分。 第一部分 正在 dev.pdf4me.com:去哪里以及如何安排你的第一堂课(例如, pdf4me_invoice 使用类似这样的正则表达式 invoice(.*))。 第二部分 正在 n8n本文介绍了一个三节点工作流程(触发 → 下载文件 → 文档分类)以及如何解读结果。所有步骤和截图均已根据 PDF4me 和 n8n 用户界面进行核实。

你需要什么

  • A PDF4me 帐户登录 PDF4me分类模板创建后会存储在您的帐户中。 分类文件你定义 正则表达式或 JavaScript 中的表达式 (对于基于人工智能的分类,可以安排定制训练,如有需要请联系 PDF4me)。
  • n8n自托管或 n8n 云添加 PDF4meDropbox 节点。
  • A PDF4me API密钥获取您的 PDF4me API 密钥在 n8n 中创建 PDF4me 凭证。首次创建?请参阅 将 PDF4me 连接到 n8n
  • 文件源我们使用 Dropbox,下载文件 所以这些步骤与我们的截图相符。你可以使用 Google 云端硬盘HTTP 请求或者任何提供二进制 PDF 数据的节点。流程保持不变:获取 PDF → 对文档进行分类 → 使用 类名 在下一个节点中。

第一部分:在 dev.pdf4me.com 上设置分类

分类是 定义并存储在 dev.pdf4me.com 上你创建 文档类 并为每个班级分配一个 表达 (正则表达式或 JavaScript)。当您从 n8n 调用“分类文档”时,PDF4me 使用这些模板返回一个文档。 类名 (暴露为 className 在输出中)针对您发送的 PDF 文件。请先完成此步骤,以便您的 n8n 工作流程有可供运行的对象。

步骤 1:在 PDF4me 上打开分类文档

  1. 登录 PDF4medev.pdf4me.com)。
  2. 侧边栏, 点击 分类文件页面标题是 分类文件 副标题是 根据表达式对文档进行分类
PDF4me 侧边栏已选择“文档分类”选项

步骤 2:创建或编辑类

  1. 分类文件 页面,点击蓝色 编辑 点击(铅笔图标)创建新的分类模板或修改现有模板。
  2. 您会看到类定义区域,您可以在其中添加 文档类 并定义如何进行匹配。
PDF4me 文档分类页面,带有编辑按钮

步骤 3:定义类名和表达式

  1. 在下面 类名,点击 + (加号)按钮,用于根据需要添加新课程。
  2. 在班级卡片上:
  • 类名给类指定一个 API 将返回的名称(例如: pdf4me_invoice这就是您将看到的值, 类名 在 n8n 分类文档输出中。
  • 选择表达式类型: 选择 正则表达式 或者 JavaScript 这取决于您希望如何匹配文档内容。
  • 正则表达式 (如果您选择正则表达式):请输入一个用于识别此文档类型的模式。例如: invoice(.*) 匹配包含单词“invoice”后跟任意字符的文档。
  1. 使用 选择测试文件 选择文件,然后单击 测试分类 查看它属于哪个类别。
  2. 点击 保存更改 因此,这些课程已保存到您的 PDF4me 帐户中。这些是 n8n 的模板。 文件分类 节点将使用。
PDF4me 文档分类:class pdf4me_invoice, expression type Regular Expression, regex invoice(.*), Test Classify, Save Changes

重要的: PDF4me 上的分类用途 正则表达式或 JavaScript 中的表达式指南和用户界面位于 在 PDF4me 上对文档进行分类对于需要定制训练的基于人工智能的分类,PDF4me 可以安排通话提供帮助。


第二部分:n8n 中的自动分类

一旦您的类存在于 dev.pdf4me.com 上,您就可以运行分类程序了。 n8n从前一个节点(例如 Dropbox)获取 PDF 文件并将其发送到 PDF4me,文档分类节点返回 类名 (例如。 pdf4me_invoice),您可以将其用于路由、重命名或后续步骤。

工作流程概览

您的 n8n 工作流程有 三个节点 (以下截图显示,执行后均会显示绿色对勾):

  1. 点击“执行工作流”时:手动触发用于测试。生产环境请使用 创建文件时 (Dropbox) Webhook或其他触发因素。
  2. 下载文件 (Dropbox):从您指定的路径检索 PDF 文件(例如,/usr/local/lib/pdf)。 /pdf4metest/ClassifyDocs/invoice_Pdf4me-202503-25041.pdf将文件放入二进制字段(例如, data)。
  3. 文件分类 (PDF4me):使用您保存的分类模板将该 PDF 发送到 PDF4me。输出: 类名 (例如。 pdf4me_invoice详情如下: 文件分类,n8n
n8n 工作流程:点击“执行工作流程”→“下载文件(Dropbox)”→“对文档进行分类(PDF4me)”

步骤 1:下载文件(Dropbox)

将 PDF 文件导入 n8n,以便下一个节点可以将其发送到 PDF4me。二进制内容存储在一个字段中(例如, data)分类文档节点将使用。

目前为止的流程: 触发器 → 下载文件。

  1. 添加一个 扳机例如 点击“执行工作流”时 用于测试。用于生产环境,请使用 Dropbox:当创建文件时 或其他触发因素。
  2. 添加 Dropbox下载文件
  3. 用于连接的凭证选择您的 Dropbox 凭据(例如: Dropbox 帐户 2)。
  4. 资源文件
  5. 手术下载
  6. 文件路径 *请输入PDF文件的完整路径。例如,在我们的截图中: /pdf4metest/ClassifyDocs/invoice_Pdf4me-202503-25041.pdf
  7. 将输出文件放入字段设置为 data (或其他名称)。这是“分类”文档节点将引用的二进制字段名称。输出将包含 文件名目录文件扩展名哑剧类型, 和 文件大小
  8. 执行步骤 进行测试。输出结果显示已下载文件的元数据(例如:文件名: invoice_Pdf4me-202503-25041.pdf,MIME 类型: application/pdf文件大小: 45.5 kB)。
n8n 下载文件:凭证 Dropbox 帐户 2,文件路径 /pdf4metest/ClassifyDocs/invoice_Pdf4me-202503-25041.pdf,将输出文件放入字段数据中

步骤 2:对文档进行分类(PDF4me)

将下载的PDF文件发送到PDF4me。分类将使用您在dev.pdf4me.com网站第一部分中定义的模板。

目前为止的流程: 下载文件 → 对文档进行分类。

  1. 添加 PDF4me文件分类 (摘录部分)
  2. 用于连接的凭证选择您的 PDF4me 凭据(例如: 文件分类)。用你的 API密钥 如果需要的话。
  3. 资源提炼
  4. 提取操作分类文件
  5. 输入数据类型二进制数据
  6. 输入二进制字段设置为 data (与“下载文件”节点中使用的字段名称相同)。这会指示该节点使用上一步中的二进制 PDF 文件。
  7. 文档名称:可选。输入参考名称(例如: document.pdf用于跟踪。您还可以使用类似这样的表达式 {{ $json.fileName }} 从下载节点。
  8. 输出二进制字段名称:可选。默认值为: data您可以保持原样,也可以根据需要进行更改。
  9. 执行步骤 进行测试。输出结果包括 类名 (例如。 pdf4me_invoice), 模板 IDtraceId, 和 元数据 (例如。 success: truemessage: "Document classified successfully"sourceFileName)。
n8n 文档分类:凭证文档分类,资源提取,输入二进制字段数据,文档名称 document.pdf,输出类名 pdf4me_invoice

步骤 3:使用结果

文件分类 输出包括 className (例如。 pdf4me_invoice在后续节点中,您可以使用此值来路由文档,例如,添加一个 如果 节点和分支 {{ $json.className }}。 使用 转变 路由到不同的路径(发票、合同、收据),或传递 类名 一个 上传 节点用于保存带有类型前缀名称的文件。每个分类都使用 1 学分


要点总结

工作原理

  • 分类定义在 dev.pdf4me.com 上。 前往 分类文件 在 PDF4me 侧边栏中,使用 编辑并添加类 正则表达式 或者 JavaScript 表达式。保存更改,以便 n8n 可以使用这些模板。
  • n8n 只负责运行分类。 下载 PDF 文件(例如从 Dropbox 下载)并传递其二进制字段(数据) 到 PDF4me,文档分类节点返回 类名 (例如。 pdf4me_invoice这样你就可以在后面的节点中进行路由或组织。
  • 每个类别一个学分。 每次对文档进行分类操作消耗 1 个积分。使用 类名 输出到 IF、Switch 或后续节点。
  • 对于基于人工智能的分类和自定义训练,PDF4me 可以提供帮助,请联系我们安排通话。对于正则表达式/JavaScript 设置,请使用 分类文件 本页及本指南。

实际应用案例

在分类模板中添加您的 PDF4me 帐户然后,在 n8n 中使用它们来路由、重命名或触发特定类型的工作流:

将发票和合同分别归档到不同的文件夹

问题: 混合的 PDF 文件都放在同一个 Dropbox 文件夹中;发票交给会计部门,合同交给法务部门。

解决方案: 在 PDF4me 上定义类(例如: invoicecontract在 n8n 中,添加一个 如果 或者 转变 分类文档后的节点:如果 className = invoice上传到 /Accounting/Invoices/; 如果 contract上传到 /Legal/Contracts/

按文档类型解析(每种类型使用不同的模板)

问题: 发票需要一种解析模板;收据需要另一种。只有知道发票类型,才能知道需要哪种模板。

解决方案: 先分类,再解析。在 PDF4me 上添加类(例如: invoicereceipt在 n8n 中:下载文件,对文档进行分类, 转变className。 为了 invoice, 添加 解析文档 使用发票模板; receipt添加带有收据模板的文档解析功能。

按类别重命名文件以便于搜索和归档

问题: 通用文件名 document.pdf你想给类添加前缀(例如: invoice_document.pdfcontract_document.pdf)。

解决方案: 在 PDF4me 上添加类别,然后在 n8n 中:下载文件,对文档进行分类, 上传 (Dropbox、Google Drive 等)。设置 文件路径 或者 文件名 使用表达式: {{ $json.className }}_{{ $('Download a file').item.json.fileName }}


后续步骤

  1. 在 PDF4me 上设置课程: 打开 分类文件, 点击 编辑添加一个类(例如 pdf4me_invoice)与一个 正则表达式 或者 JavaScript 然后表达, 保存更改
  2. 获取 API 密钥PDF4me API 密钥仪表板在 n8n 中使用它来创建您的 PDF4me 凭证。
  3. PDF4me + n8n 新手?将 PDF4me 连接到 n8n 演示如何创建凭证。
  4. 构建工作流程触发器 → 下载文件(Dropbox) → 对文档进行分类。设置 输入二进制字段 从下载输出字段(例如 data); 使用 类名 在下一个节点中。
  5. 完整节点参考文件分类:n8n 适用于所有参数和输出字段。