跳到主要内容

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

· 阅读需 15 分钟
SEO and Content Writer

本教程将构建一个 四节点 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节点必须读取 相同的 田下 输入二进制字段如果重命名,请更新 两个都 节点,所以它们仍然匹配。

构建此工作流程:您的待办事项列表

按顺序完成这些步骤。每完成一个模块后稍作停顿。 执行步骤 (或者 测试工作流程)然后继续。

检查清单
  1. 证书: 在 n8n 中添加 Dropbox OAuth2 APIPDF4me 凭证。确认您可以列出或浏览 Dropbox,并且 PDF4me 可以接受测试通话。
  2. 源文件: 上传 示例表格.pdf (或您的表单)到您将在下载节点中使用的 Dropbox 路径。
  3. 帆布: 按顺序添加四个节点,并从左到右连接它们。 一件 流过。
  4. 下载节点:文件路径 并将二进制输出映射到 数据 (或者您选择的名称,然后在 PDF4me 中镜像它)。
  5. 提取节点: 选择 二进制数据, 放 输入二进制字段数据并设置 文档名称 (例如 文档.pdf)。
  6. 上传节点: 转动 二进制上传 离开,点 文件路径 输出 。TXT 路径,并粘贴如下表达式: $json.formData.* 字段。
  7. 端到端测试: 运行工作流并确认提取节点上的 JSON,然后将新文件保存到 Dropbox 中。

PDF 的外观(输入)

样本 发票样本 使用一些带标签的字段。例如: 阿尔伯特先生[email protected], 物品 20, 数量 100以及价格 5000 提取器将哪些内容转换成密钥? 表单数据

发票表格示例 PDF,已填写客户姓名、电子邮件、商品数量和单价字段。

源PDF文件:包含可填写字段,而非平面扫描件。


概览:四个节点

1Manual trigger
2Download (Dropbox)
3Extract (PDF4me)
4Upload (Dropbox)

工作流程画布

n8n 工作流:执行工作流触发器,Dropbox 下载文件,从 PDF 中提取表单数据,Dropbox 上传文件

四步走,每步走一件物品,测试运行后显示绿色成功状态。


步骤 1:下载文件(Dropbox)

  1. 添加 Dropbox下载 (资源: 文件)。
  2. 文件路径: 例子: /blog 数据/从 pdf/sample_form.pdf 中提取表单数据
  3. 将输出文件放入字段数据 (将二进制文件保存在下一个节点期望的位置)。
  4. 执行步骤 并打开 二进制 标签页:你应该能看到 示例表格.pdf应用程序/pdf以及尺寸元数据。
Dropbox 下载文件节点 文件路径 sample_form.pdf 二进制输出字段数据

步骤 1:下游映射的路径 + 二进制字段名称。


步骤 2:从 PDF 中提取表单数据(PDF4me)

上游: 下载节点 → 提炼 节点。

  1. 添加 PDF4me 并选择 从PDF中提取表单数据 (在提取操作下)。
  2. 输入数据类型二进制数据
  3. 输入二进制字段数据 (必须与步骤 1 一致)。
  4. 文档名称: 例如 文档.pdf (处理标签;保留) .pdf 扩大)。
  5. 执行步骤。 在 输出, 确认 表单数据 使用您的字段键和值。
PDF4me 从 PDF 中提取表单数据 参数 二进制数据 字段数据 文档名称 document.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、由表达式生成的文本)

上游: 提取节点 → 上传 节点。

  1. 添加 Dropbox上传 (资源: 文件)。
  2. 文件路径示例目的地: /blog 数据/从 pdf/output/表单数据.txt 中提取表单数据创建 输出 如果 Dropbox 中不存在该文件夹,则将其删除。
  3. 二进制数据离开 对于这种模式(您正在编写) 文本(不重新上传 PDF 字节)。
  4. 文件内容使用 表达 它会将你需要的字段连接起来。示例(粘贴到表达式编辑器中):
{{ $json.formData.customer_name }} {{ $json.formData.email }} {{ $json.formData.price }}
  1. 检查 预览 在表达式编辑器中(例如: 阿尔伯特先生 [email protected] 5000)。
  2. 执行步骤 并确认 Dropbox 的响应显示了新文件名和大小。
Dropbox 上传文件文本路径表单 data.txt 表达式 formData 字段预览

步骤 3:在前一个节点中,除了 JSON 之外,还可以选择导出人类可读格式的文件。


结果:打开文本文件

运行结束后,打开 表单数据.txt 在 Dropbox(或查看器)中,您应该看到与预览中相同的值,即姓名、电子邮件和价格显示在一行上。

文本文件预览输出表单数据TXT,包含Albert先生的电子邮件地址和价格

快速检查一下上传步骤是否写入了预期内容。


快速参考

#节点需要记住什么
1When clicking “Execute workflow”Use for design-time testing; swap for a schedule or webhook later
2Download a fileCorrect Dropbox path; binary field = data
3Extract form data from PDFBinary Data + Input Binary Field = data; Document Name with .pdf
4Upload a fileText mode; expression reads $json.formData.*

节点参考: 从 PDF 中提取表单数据 - n8nAPI: 从PDF中提取表单数据(API)。 入门: n8n 集成指南


故障排除

formData 为空或缺失

确认PDF文件内容真实有效。 AcroForm 字段。扁平化或仅包含图像的 PDF 文件不会返回相同的结构。

二进制字段不匹配

如果下载写入到 数据提取物必须使用 数据 作为 输入二进制字段把两边一起重命名。

表达式显示[未定义]

打开 Extract 节点的输出 JSON 并复制所有内容。 表单数据 键名(必须与您的 PDF 字段名匹配)。


接下来该尝试什么呢?

现在您拥有了一条可重复的路径: 下载 表格PDF文件 提炼 结构化字段,以及 发布 无论你需要哪一部分数据,无论是 Dropbox 中的文本摘要、数据库中的一行,还是后续节点中的 webhook 有效负载。