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

你会收到各种各样的文件,包括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 云添加 PDF4me 和 Dropbox 节点。
- 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 上打开分类文档
- 登录 PDF4me (dev.pdf4me.com)。
- 在 侧边栏, 点击 分类文件页面标题是 分类文件 副标题是 根据表达式对文档进行分类。

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

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

重要的: PDF4me 上的分类用途 正则表达式或 JavaScript 中的表达式指南和用户界面位于 在 PDF4me 上对文档进行分类对于需要定制训练的基于人工智能的分类,PDF4me 可以安排通话提供帮助。
第二部分:n8n 中的自动分类
一旦您的类存在于 dev.pdf4me.com 上,您就可以运行分类程序了。 n8n从前一个节点(例如 Dropbox)获取 PDF 文件并将其发送到 PDF4me,文档分类节点返回 类名 (例如。 pdf4me_invoice),您可以将其用于路由、重命名或后续步骤。
工作流程概览
您的 n8n 工作流程有 三个节点 (以下截图显示,执行后均会显示绿色对勾):
- 点击“执行工作流”时:手动触发用于测试。生产环境请使用 创建文件时 (Dropbox) Webhook或其他触发因素。
- 下载文件 (Dropbox):从您指定的路径检索 PDF 文件(例如,/usr/local/lib/pdf)。
/pdf4metest/ClassifyDocs/invoice_Pdf4me-202503-25041.pdf将文件放入二进制字段(例如,data)。 - 文件分类 (PDF4me):使用您保存的分类模板将该 PDF 发送到 PDF4me。输出: 类名 (例如。
pdf4me_invoice详情如下: 文件分类,n8n。

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

步骤 2:对文档进行分类(PDF4me)
将下载的PDF文件发送到PDF4me。分类将使用您在dev.pdf4me.com网站第一部分中定义的模板。
目前为止的流程: 下载文件 → 对文档进行分类。
- 添加 PDF4me → 文件分类 (摘录部分)
- 用于连接的凭证选择您的 PDF4me 凭据(例如: 文件分类)。用你的 API密钥 如果需要的话。
- 资源: 提炼。
- 提取操作: 分类文件。
- 输入数据类型: 二进制数据。
- 输入二进制字段设置为
data(与“下载文件”节点中使用的字段名称相同)。这会指示该节点使用上一步中的二进制 PDF 文件。 - 文档名称:可选。输入参考名称(例如:
document.pdf用于跟踪。您还可以使用类似这样的表达式{{ $json.fileName }}从下载节点。 - 输出二进制字段名称:可选。默认值为:
data您可以保持原样,也可以根据需要进行更改。 - 执行步骤 进行测试。输出结果包括 类名 (例如。
pdf4me_invoice), 模板 ID, traceId, 和 元数据 (例如。success: true,message: "Document classified successfully",sourceFileName)。

步骤 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 上定义类(例如: invoice, contract在 n8n 中,添加一个 如果 或者 转变 分类文档后的节点:如果 className = invoice上传到 /Accounting/Invoices/; 如果 contract上传到 /Legal/Contracts/。
按文档类型解析(每种类型使用不同的模板)
问题: 发票需要一种解析模板;收据需要另一种。只有知道发票类型,才能知道需要哪种模板。
解决方案: 先分类,再解析。在 PDF4me 上添加类(例如: invoice, receipt在 n8n 中:下载文件,对文档进行分类, 转变 在 className。 为了 invoice, 添加 解析文档 使用发票模板; receipt添加带有收据模板的文档解析功能。
按类别重命名文件以便于搜索和归档
问题: 通用文件名 document.pdf你想给类添加前缀(例如: invoice_document.pdf, contract_document.pdf)。
解决方案: 在 PDF4me 上添加类别,然后在 n8n 中:下载文件,对文档进行分类, 上传 (Dropbox、Google Drive 等)。设置 文件路径 或者 文件名 使用表达式: {{ $json.className }}_{{ $('Download a file').item.json.fileName }}。
后续步骤
- 在 PDF4me 上设置课程: 打开 分类文件, 点击 编辑添加一个类(例如
pdf4me_invoice)与一个 正则表达式 或者 JavaScript 然后表达, 保存更改。 - 获取 API 密钥: PDF4me API 密钥仪表板在 n8n 中使用它来创建您的 PDF4me 凭证。
- PDF4me + n8n 新手?: 将 PDF4me 连接到 n8n 演示如何创建凭证。
- 构建工作流程触发器 → 下载文件(Dropbox) → 对文档进行分类。设置 输入二进制字段 从下载输出字段(例如
data); 使用 类名 在下一个节点中。 - 完整节点参考: 文件分类:n8n 适用于所有参数和输出字段。