如何在n8n中提取PDF表单数据?使用Dropbox下载,然后使用PDF4me下载,最后保存为摘要文件。

本教程将构建一个 四节点 n8n 工作流:你需要手动运行它, 下载 一个可填写的PDF文件 Dropbox, 提炼 字段值 PDF4me,从PDF中提取表单数据, 然后 上传 一个小 文本文件 返回到使用表达式(例如,姓名、电子邮件和价格)构建的 Dropbox。示例路径与屏幕截图相符:PDF 文件位于 /blog 数据/从 pdf/sample_form.pdf 中提取表单数据,文本输出在 /blog 数据/从 pdf/output/表单数据.txt 中提取表单数据调整路径以匹配您的帐户。
1. 点击“执行工作流程”时 (手动测试)→ 2. Dropbox,下载文件 → 二元场 数据 → 3. PDF4me,从PDF中提取表单数据 (数据 在, 文档.pdf 作为文档名称)→ 4. Dropbox,上传文件 (来自表达式的文本内容,而非二进制上传内容)。
Dropbox 将下载的字节存储在一个字段中(本指南使用 数据PDF4me节点必须读取 相同的 田下 输入二进制字段如果重命名,请更新 两个都 节点,所以它们仍然匹配。
构建此工作流程:您的待办事项列表
按顺序完成这些步骤。每完成一个模块后稍作停顿。 执行步骤 (或者 测试工作流程)然后继续。
- 证书: 在 n8n 中添加 Dropbox OAuth2 API 和 PDF4me 凭证。确认您可以列出或浏览 Dropbox,并且 PDF4me 可以接受测试通话。
- 源文件: 上传
示例表格.pdf(或您的表单)到您将在下载节点中使用的 Dropbox 路径。 - 帆布: 按顺序添加四个节点,并从左到右连接它们。 一件 流过。
- 下载节点: 放 文件路径 并将二进制输出映射到
数据(或者您选择的名称,然后在 PDF4me 中镜像它)。 - 提取节点: 选择 二进制数据, 放 输入二进制字段 到
数据并设置 文档名称 (例如文档.pdf)。 - 上传节点: 转动 二进制上传 离开,点 文件路径 输出
。TXT路径,并粘贴如下表达式:$json.formData.*字段。 - 端到端测试: 运行工作流并确认提取节点上的 JSON,然后将新文件保存到 Dropbox 中。
PDF 的外观(输入)
样本 发票样本 使用一些带标签的字段。例如: 阿尔伯特先生, [email protected], 物品 20, 数量 100以及价格 5000 提取器将哪些内容转换成密钥? 表单数据。

源PDF文件:包含可填写字段,而非平面扫描件。
概览:四个节点
工作流程画布

四步走,每步走一件物品,测试运行后显示绿色成功状态。
步骤 1:下载文件(Dropbox)
- 添加 Dropbox → 下载 (资源: 文件)。
- 文件路径: 例子:
/blog 数据/从 pdf/sample_form.pdf 中提取表单数据。 - 将输出文件放入字段:
数据(将二进制文件保存在下一个节点期望的位置)。 - 执行步骤 并打开 二进制 标签页:你应该能看到
示例表格.pdf,应用程序/pdf以及尺寸元数据。

步骤 1:下游映射的路径 + 二进制字段名称。
步骤 2:从 PDF 中提取表单数据(PDF4me)
上游: 下载节点 → 提炼 节点。
- 添加 PDF4me 并选择 从PDF中提取表单数据 (在提取操作下)。
- 输入数据类型: 二进制数据。
- 输入二进制字段:
数据(必须与步骤 1 一致)。 - 文档名称: 例如
文档.pdf(处理标签;保留).pdf扩大)。 - 执行步骤。 在 输出, 确认
表单数据使用您的字段键和值。

步骤 2:二进制输入,结构化 JSON 输出。
展开:示例 JSON 字段
一次成功的运行通常包括 表单数据 此外还有状态字段,例如 成功, 信息, 源文件名, 和 手术具体密钥取决于连接器版本。
{
"formData": {
"customer_name": "Mr. Albert",
"email": "[email protected]",
"item": "20",
"quantity": "100",
"price": "5000"
},
"success": true,
"message": "Form data extracted successfully",
"sourceFileName": "sample_form.pdf",
"operation": "extractFormDataFromPdf"
}步骤 3:上传文件(Dropbox、由表达式生成的文本)
上游: 提取节点 → 上传 节点。
- 添加 Dropbox → 上传 (资源: 文件)。
- 文件路径示例目的地:
/blog 数据/从 pdf/output/表单数据.txt 中提取表单数据创建输出如果 Dropbox 中不存在该文件夹,则将其删除。 - 二进制数据: 离开 对于这种模式(您正在编写) 文本(不重新上传 PDF 字节)。
- 文件内容使用 表达 它会将你需要的字段连接起来。示例(粘贴到表达式编辑器中):
{{ $json.formData.customer_name }} {{ $json.formData.email }} {{ $json.formData.price }}
- 检查 预览 在表达式编辑器中(例如:
阿尔伯特先生 [email protected] 5000)。 - 执行步骤 并确认 Dropbox 的响应显示了新文件名和大小。

步骤 3:在前一个节点中,除了 JSON 之外,还可以选择导出人类可读格式的文件。
结果:打开文本文件
运行结束后,打开 表单数据.txt 在 Dropbox(或查看器)中,您应该看到与预览中相同的值,即姓名、电子邮件和价格显示在一行上。

快速检查一下上传步骤是否写入了预期内容。
快速参考
| # | 节点 | 需要记住什么 |
|---|---|---|
| 1 | When clicking “Execute workflow” | Use for design-time testing; swap for a schedule or webhook later |
| 2 | Download a file | Correct Dropbox path; binary field = data |
| 3 | Extract form data from PDF | Binary Data + Input Binary Field = data; Document Name with .pdf |
| 4 | Upload a file | Text mode; expression reads $json.formData.* |
节点参考: 从 PDF 中提取表单数据 - n8nAPI: 从PDF中提取表单数据(API)。 入门: n8n 集成指南。
故障排除
确认PDF文件内容真实有效。 AcroForm 字段。扁平化或仅包含图像的 PDF 文件不会返回相同的结构。
如果下载写入到 数据提取物必须使用 数据 作为 输入二进制字段把两边一起重命名。
打开 Extract 节点的输出 JSON 并复制所有内容。 表单数据 键名(必须与您的 PDF 字段名匹配)。
接下来该尝试什么呢?
现在您拥有了一条可重复的路径: 下载 表格PDF文件 提炼 结构化字段,以及 发布 无论你需要哪一部分数据,无论是 Dropbox 中的文本摘要、数据库中的一行,还是后续节点中的 webhook 有效负载。