使用 PDF4me 和 n8n 的文档解析功能,根据 PDF 内容重命名 PDF 文件(无需代码!)

您收到PDF文件、发票、合同、采购订单和报告,需要按发票号、客户名称、订单ID或合同编号重命名,以便日后查找。手动操作?那得花好几个小时。
听起来是不是很熟悉?你并不孤单。手动重命名无法有效扩展。
解决方案:一个 n8n 工作流程 下载 该文件使用 PDF4me 解析文档 从PDF文件中提取值, 合并 该值与文件关联,并且 上传 自动将文件重命名。内容不变,文件名改变。无需编写任何代码。
本指南将引导您完成三个步骤:在 PDF4me 控制面板中创建解析模板,在 n8n 中连接下载 → 解析文档,然后添加合并和上传,以便将文件保存为提取的值作为其名称。
流程概览
您的 n8n 工作流程 使用 PDF4me 进行动态文件重命名 看起来像这样:
- 扳机:使用手动触发器进行测试,或者使用自动触发器(例如 Dropbox、电子邮件、webhook),以便在有新的 PDF 可用时运行工作流。
- 下载文件:从您的源(例如 Dropbox)获取 PDF 并将其输出为二进制文件(例如 .
document)。 - 解析文档 (PDF4me):提取您需要的字段(发票号、客户名称、订单号)
parseInfo输出仅包含 JSON 格式;二进制文件保留在前一个节点中。 - 合并:将解析输出和下载输出合并为一个项目,以便同时获得文件内容和新文件名。
- 上传文件:将文件保存为路径/文件名设置为提取的值(例如,
Invoice #Pdf4me-202601-32324.pdf)。
每次都是同一个文件,只是文件名不同。下面我们将详细介绍每个部分。
步骤 1:创建解析模板并获取解析 ID
首先,定义 提取什么 文件名。PDF4me 解析模板 告诉 API 要从每个文档中提取哪个字段,例如发票号、客户名称或订单号。您将使用模板的 解析 ID 在步骤 2 中,n8n。
对两者使用同一个 PDF4me 帐户:登录到控制面板创建模板,然后在 n8n 中添加解析文档节点时使用该帐户的 API 密钥。
- 登录或创建账户 在 PDF4me 控制面板。
- 前往 解析文档 (或者如果需要,可以使用带有返回 URL 的登录链接)。
- 创建模板: 上传一份与您将收到的文档相符的PDF样本。添加 钥匙 对于您要提取的每个字段(例如,
invoiceNr,customerName,orderNumber)并在文档上为每个键绘制捕获区域。 - 点击 测试解析 要查看提取的值,然后 保存更改。
- 复制解析 ID 从控制面板:下一步您将将其粘贴到 n8n 中。
有关详细的模板设置,请参阅 准备文档解析信息 (捕获区域、正则表达式、多个键)。

步骤 2:下载文件并在 n8n 中解析。
接下来,将PDF文件导入n8n。 提取命名值 使用 PDF4me。文件可以来自 下载文件 (例如。 Dropbox)、Google 云端硬盘、电子邮件或任何输出节点 二进制。
目前为止的流程: 触发器 → 下载文件 → 解析文档。
重要的: 解析文档返回 仅 JSON (parseInfo 使用您的密钥):它不会传递二进制文件。文件内容保留在下载节点上。在步骤 3 中,您将合并两者,以便上传节点拥有该文件及其新名称。
- 添加触发器手动触发适用于测试;对于生产环境,请使用自动触发(例如 Dropbox、电子邮件、Google Drive、webhook),以便工作流在新 PDF 可用时运行。
- 添加一个提供文件的节点例如 下载文件 (Dropbox) 将输出文件放入字段:
document。 - 添加一个 PDF4me 节点 → 选择 提炼 → 解析文档。
- 配置解析文档节点:
- 输入数据类型: 二进制数据。
- 输入二进制字段:
document(或者下载节点使用的任何字段)。 - 文档名称例如
document.pdf。 - 解析 ID:粘贴步骤 1 中的解析 ID。
- 输出格式例如:JSON。
- 运行节点。 输出 将包括
parseInfo用你的钥匙(例如parseInfo['Invoice No'])。
完整参数参考: 解析文档(n8n)。


步骤 3:合并并以新名称上传
为了拯救 同一个文件 与一个 新名称下一个节点需要这两个条件 文件内容 (来自下载)和 文件名 (来自 Parse)。 合并 节点将它们合并成一个项目;然后一个 上传 node 使用提取的值作为路径或文件名写入文件。
- 添加合并节点
- 模式: 结合。
- 合并方式: 位置(将输入 1 中的第一个项目与输入 2 中的第一个项目配对)。
- 输入 1: 连接 解析文档 (提供)
parseInfo)。 - 输入 2: 连接 下载文件 (提供)
binary.document)。 - 输出: 一个合并项包含两者
json.parseInfo和binary.document。

- 添加上传节点 (例如 Dropbox) 上传文件(或任何接受二进制数据 + 路径的节点)
- 文件路径 (表达方式):例如
/Blog Data/{{ $json.parseInfo['Invoice No'] }}.pdf如果您的解析模板键没有空格,请使用$json.parseInfo.invoiceNr. 带空格的键使用方括号表示法:$json.parseInfo['Invoice No']。 - 二进制文件: 在。
- 输入二进制字段:
document。 - 结果:文件已以新名称上传;内容与下载的文件相同。

同样的模式也适用于 Google 云端硬盘、电子邮件或任何接受二进制数据加上动态路径的节点。 提示: 使用 Dropbox 下载和上传?启用 读 和 写 权限 Dropbox 应用控制台 (权限 → 文件和文件夹):例如,读取下载权限 files.content.write 用于上传。启用后请使用新的访问令牌。
问题: 如果上传节点提示缺少二进制文件,请仔细检查合并节点的输入 2 是否已连接。 下载文件 (并非来自 Parse)。

为什么这种方法有效
要点
- 扳机使用手动触发器进行测试,或者使用自动触发器(Dropbox、电子邮件、webhook)使工作流程在新 PDF 可用时运行,无论哪种方式都适合您的工作流程。
- 解析文档 将您需要的字段(发票号、客户名称、订单号)提取到
$json.parseInfo它只输出 JSON 数据,不输出二进制文件。 - 合并 (按位置合并)将解析输出和下载输出合并,以便下一个节点接收一个包含两个文件内容的项(
二进制文档)并提取文件名(解析信息)。 - 上传 (或保存)用途
$json.parseInfo['发票编号'](或您的密钥)用于路径/文件名和二进制文档对于内容而言,每个文件都会动态重命名。
真实世界场景
场景一:供应商发票处理
问题: 供应商每周都会收到数十份来自 Dropbox、电子邮件或发票生成器的 PDF 发票。文件以以下形式到达: document.pdf 或者 invoice (1).pdf难以找到并与付款匹配。
解决方案: 使用此工作流程按发票编号重命名每个文件(例如: INV-202601-32324.pdf每个文件都可搜索、可追溯。
提取字段: 发票号码(或发票 ID) 扳机: Dropbox 文件夹、电子邮件附件或 Webhook
场景二:采购订单文件
问题: 采购团队从供应商或内部系统获取采购订单PDF文件。由于文件名过于通用,难以将文档与ERP系统中的订单关联起来。
解决方案: 将每个采购订单 PDF 按订单号重命名(例如: PO-98765.pdf)。
提取字段: 采购订单号 扳机: Dropbox、电子邮件、Webhook
场景三:客户合同
问题: 法务或销售团队会收到来自不同渠道的已签署合同。要通过客户名称或合同编号查找特定合同,需要逐个打开文件。
解决方案: 按客户名称或合同 ID 重命名(例如: Acme-Corp-202601.pdf)。
提取字段: 客户名称或合同编号 扳机: 电子邮件、共享文件夹、Webhook
场景 4:订单确认和发货单据
问题: 运营团队会收到订单确认函或发货标签。为了将文件与订单进行匹配以便跟踪和审计,需要使用可搜索的文件名。
解决方案: 按订单号或跟踪 ID 重命名(例如: ORD-12345.pdf 或者 TRK-ABC123.pdf)。
提取字段: 订单号或追踪编号 扳机: 电子邮件、Dropbox、API/webhook
快速常见问题解答
- 如果我有多张密钥(例如发票号码和客户姓名)怎么办? 在路径中使用它们,例如:
/Folder/{{ $json.parseInfo.customerName }}-{{ $json.parseInfo.invoiceNr }}.pdf。 - 我可以将它用于 Google 云端硬盘或电子邮件吗? 是的。模式相同:使用任何能以二进制格式返回文件的节点,以及任何接受二进制文件和动态路径的上传(或保存)节点。
后续步骤
概要: 触发流程 → 下载文件 → 解析文档 (PDF4me) → 合并 → 上传。解析模板(步骤 1)定义字段;合并将文件和名称合并;上传以新名称保存。
- 获取您的 API 密钥使用同一个 PDF4me 账号登录控制面板和 n8n。免费开始使用。
- 创建您的解析模板:定义您希望包含在文件名中的字段(例如发票编号、客户名称等)。 解析文档 仪表板。
- 构建你的 n8n 流程:触发 → 下载文件 → 解析文档 → 合并 → 上传(或保存),文件名动态变化。
- 阅读完整文档: 解析文档(n8n), 准备解析信息。