跳到主要内容

瑞士 QR 发票 PDF:在 n8n 中按债权人、金额或参考号重命名!

· 阅读需 11 分钟
SEO and Content Writer

你会收到PDF文件、发票和付款单,每份文件都有一个瑞士二维码,其中包含付款人、金额和参考编号等信息。你需要根据这些数据重命名这些文件,以便快速查找和排序。手动操作效率低下。

解决方法: 一个 n8n 工作流程 下载 PDF 使用 阅读瑞士二维码 (使用 PDF4me 提取结构化支付数据) 合并 它与文件一起,并且 上传 用新的文件名命名,可以按债权人、金额、参考编号或其他任何你需要的格式。文件不变,文件名更佳,无需手动重命名。

本指南将引导您完成整个流程:下载 PDF,读取其瑞士二维码,然后合并并上传,文件名由您关心的数据构成,例如债权人姓名和城市、金额和参考号,或债务人详细信息。

流程概览

您的 n8n 工作流程 使用瑞士二维码重命名 PDF 看起来像这样:

  1. 扳机:手动测试,或在新 PDF 可用时自动执行(例如 Dropbox、电子邮件、webhook)。
  2. 下载文件从源文件(例如 Dropbox)中获取 PDF 文件,并将其以二进制形式输出到诸如 `<field>` 之类的字段中。 document
  3. 阅读瑞士二维码 (PDF4me):从PDF中提取瑞士QR钞票数据并输出结构化数据(swissQrData债权人 cr_Namecr_Citycr_Country债务人 ud_NameAmountCurrencyReference等等)。原始 PDF 文件仍保留在下载节点上。
  4. 合并:将读取瑞士二维码的输出(瑞士二维码数据)和下载的输出(PDF 二进制文件)合并为一个项目,以便下一个节点同时具有新的文件名和文件内容。
  5. 上传文件:将 PDF 文件保存为您选择的 Swiss QR 字段(例如,路径/文件名设置为 1.2547 ... Test AG_Zurich_Switzerland.pdf 或者 1000_CHF_REF123.pdf)。

每次都是同一个文件,只是文件名不同。下面我们将详细介绍每个部分。

n8n 工作流程概述:触发 → 下载文件 → 读取瑞士二维码 → 合并 → 上传文件

步骤一:下载文件并扫描其瑞士二维码

将 PDF 文件导入 n8n 并 提取命名值 使用 PDF4me 读取瑞士二维码。文件可以来自 下载文件 (例如。 Dropbox)、Google 云端硬盘、电子邮件或任何输出节点 二进制

目前为止的流程: 触发 → 下载文件 → 读取瑞士二维码。

重要的: 读取瑞士二维码可返回支付数据(在 swissQrData它不会经过 PDF 文件。文件内容会保留在“下载”节点上。在步骤 2 中,您将合并两者,以便“上传”节点包含文件及其新名称。

  1. 添加触发器:测试时使用手动方式;生产环境使用自动触发器(例如 Dropbox、电子邮件、Google Drive、webhook)。
  2. 添加下载文件 (例如 Dropbox):设置 文件路径 保存到您的 PDF 位置(例如: /Blog Data/Read Swiss QR.pdf) 和 将输出文件放入字段document 因此,PDF 将以二进制形式提供给后续节点。
  3. 添加一个 PDF4me 节点条形码阅读瑞士二维码
  4. 配置读取瑞士二维码节点:
  • 连接凭证: 您的PDF4me帐户。
  • 资源: 条形码 → 条形码操作: 阅读瑞士二维码。
  • 输入数据类型: 二进制数据。
  • 输入二进制字段: document (与下载节点的输出字段相同)。
  • 输出文件名: 例如 swissqr_code_data.json
  • 异步: 如果需要,可开启此功能以打开更大的 PDF 文件。
  1. 运行节点。输出结果包括 成功文档名称, 和 swissQrData 与债权人(cr_Namecr_Citycr_Country),债务人(ud_Name, ETC。), 数量货币参考国际银行账户等等。您将在上传步骤中使用这些字段作为文件名。

完整参数参考: 读取瑞士二维码 (n8n)

n8n Dropbox 下载文件节点:文件路径并将输出放入字段文档中
n8n 读取瑞士二维码节点:参数和 swissQrData 输出

步骤 2:合并并以新名称上传

你需要这两个。 PDF二进制文件 (来自下载)和 瑞士二维码数据 (摘自《读取瑞士二维码》)合并为一个项目,以便上传节点能够以新名称保存文件。 合并 节点将它们组合在一起; 上传 然后节点使用瑞士二维码字段作为路径或文件名。

  1. 添加合并节点
  • 模式: 结合。
  • 合并方式: 位置(输入 1 中的第一个项目与输入 2 中的第一个项目)。
  • 输入数量: 2.
  • 输入 1: 连接 阅读瑞士二维码 (提供) swissQrData)。
  • 输入 2: 连接 下载文件 (提供) binary.document)。
  • 输出: 一个合并项,同时包含瑞士二维码 JSON 和 binary.document因此,下一个节点包含新的文件名和文件内容。
n8n 合并节点:合并 Swiss QR JSON 和 PDF 二进制文件
  1. 添加上传节点 (例如 Dropbox) 上传文件(或任何接受二进制数据 + 路径的节点)
  • 文件路径 (表达式):使用“读取瑞士二维码”的输出。您可以通过名称引用节点: $('Read SwissQR code').item.json.swissQrData
  • 二进制文件: 在。
  • 输入二进制字段: document
  • 文件以瑞士二维码衍生名称上传;PDF 内容保持不变。

文件名使用债权人姓名、城市和国家/地区(例如: Test AG_Zurich_Switzerland.pdf):

/Blog Data/{{ $('Read SwissQR code').item.json.swissQrData.cr_Name }}_{{ $('Read SwissQR code').item.json.swissQrData.cr_City }}_{{ $('Read SwissQR code').item.json.swissQrData.cr_Country }}.pdf

决议如下: /Blog Data/Test AG_Zurich_Switzerland.pdf

n8n 上传文件:从瑞士 QR 债权人数据中动态命名文件名

同样的合并+上传模式也适用于 Google 云端硬盘、电子邮件或任何接受二进制文件和动态路径的存储方式。 提示: 对于 Dropbox,请启用 Dropbox 应用控制台 (权限 → 文件和文件夹):例如,读取下载权限 files.content.write 对于上传操作,更改权限后请使用新的访问令牌。

问题: 如果上传报告缺少二进制文件,请确保合并 输入 2 是来自 下载文件并非来自 Read Swiss QR Code。


为什么这种方法有效

要点

  • 扳机使用手动触发器进行测试,或者使用自动触发器(Dropbox、电子邮件、webhook)使工作流在新 PDF 可用时运行。
  • 阅读瑞士二维码 提取瑞士二维码账单数据并输出 swissQrData (债权人) cr_*债务人 出去_*数量货币参考等等)。它不会经过 PDF 处理;文件会留在下载节点上。
  • 合并 (按位置合并)读取瑞士二维码输出与下载输出的组合,以便下一个节点接收一个包含两者的物品。 二进制文档swissQrData
  • 上传 使用类似这样的表达式 $('读取 SwissQR 码').item.json.swissQrData.cr_Name (和 cr_Citycr_Country(或其他字段)用于路径/文件名和 二进制文档 内容方面,每个文件都按瑞士二维码数据重命名。

真实世界场景

情景一:债权人重命名发票

问题: 收到的发票 PDF 文件名称通用;您需要按供应商(债权人)和地点查找它们。

解决方案: 按债权人名称、城市和国家/地区重命名(例如: Test AG_Zurich_Switzerland.pdf每个文件都可以按账单发送者进行搜索。

提取字段: cr_Namecr_Citycr_Country 扳机: Dropbox 文件夹、电子邮件附件或 Webhook

场景 2:按金额和参考号分类的付款单

问题: 付款单PDF文件需要按金额和付款参考号归档,以便进行对账。

解决方案: 按金额、货币和参考编号重命名(例如: 1000_CHF_210000000003139471430009017.pdf将文件与银行交易进行比对。

提取字段: AmountCurrencyReference 扳机: Dropbox、电子邮件、Webhook

情景三:债务人主动申请破产

问题: 为了会计核算,您需要按客户(最终债务人)对 PDF 文件进行分组。

解决方案: 按债务人姓名重命名(例如: Test Debt AG.pdf或债务人姓名+城市。直接映射到客户记录。

提取字段: ud_Nameud_City 扳机: 电子邮件、共享文件夹、Webhook


快速常见问题解答

  • 如果找不到瑞士二维码怎么办? 在文件路径表达式中使用备用路径,例如: {{ $('Read SwissQR code').item.json.swissQrData?.cr_Name || 'no-qr-found' }}您可以添加条件分支来跳过上传步骤,或者将这些文件发送到单独的文件夹。
  • 我可以同时使用债权人和金额吗? 是的。例如: {{ $('Read SwissQR code').item.json.swissQrData.cr_Name }}_{{ $('Read SwissQR code').item.json.swissQrData.Amount }}_{{ $('Read SwissQR code').item.json.swissQrData.Currency }}.pdf
  • 我可以将它用于 Google 云端硬盘或电子邮件吗? 是的。模式相同:使用任何能以二进制格式返回文件的节点,以及任何接受二进制文件和动态路径的上传(或保存)节点。

后续步骤

概要: 触发 → 下载文件 → 读取瑞士二维码 → 合并 → 上传。文件名由以下部分组成: swissQrData (例如:债权人名称、城市、国家或金额/参考编号)。每个 PDF 文件都以提取的瑞士二维码数据命名。

  1. 获取您的 API 密钥使用同一个 PDF4me 账号注册 n8n。免费注册。
  2. 构建你的 n8n 流程:触发 → 下载文件 → 读取瑞士二维码 → 合并 → 上传,文件路径设置为您需要的瑞士二维码表达式。
  3. 阅读完整文档读取瑞士二维码 (n8n)
  4. 尝试使用 API:在 API 测试器中使用您自己的 PDF 测试读取瑞士二维码端点。