跳到主要内容

在 Zapier 中执行“生成文档”操作:使用 PDF4me 将 Word 模板邮件合并为最终 PDF 文件

15 最小读取
PDF4me Team

生成文档 这是一个适用于 Zapier 的 PDF4me 操作,用于执行邮件合并:它接受 Word、HTML 或 PDF 模板以及 JSON 或 XML 数据文件,并返回合并后的文档。Zap 可以监视文件夹,合并每条记录,并保存所有结果,而无需用户打开 Word。

市面上所有的邮件合并教程都假设用户坐在 Word 里,按照向导的步骤操作。这种方法偶尔有效,但如果需要按计划生成上百张发票,或者数据来自系统而非用户桌面上的电子表格,这种方法就行不通了。本文将介绍模板语法以及可以自动运行合并的 Zap 程序。

流程概览
1. New File in Folder
Dropbox trigger watching the folder your data lands in.
2. Find File
Dropbox fetches the Word template from its own folder.
3. Generate Document
PDF4me merges the data into the template.
4. Create Loop From Line Items
Only needed when the merge returns many documents.
5. Upload File
Dropbox saves each finished document.
简短版

使用双尖括号语法在 Word 文档中写入合并域。将该模板保存在一个 Dropbox 文件夹中,并将数据保存在另一个文件夹中。Zap 会获取数据,将两个文件传递给 PDF4me 的“生成文档”操作,并保存合并后的结果。每次运行选择“单个”操作以生成一个文档,选择“多个”操作以生成多个文档。

基于“为什么”的问答​

为什么使用 Word 模板而不是用代码构建文档? 因为负责撰写发票文本的人通常与负责编写代码的人并非同一人。Word模板可以由任何撰写发票内容的人编辑,下次运行程序时无需部署,也无需开发人员参与,即可自动应用这些编辑。

为什么选择 JSON 或 XML 而不是电子表格? 这些是系统输出的数据格式。Word 中的邮件合并功能会读取由用户导出的工作表。当触发事件是下单或提交表单时,数据已经结构化,合并功能应该能够直接接受这种格式的数据。

为什么会有两个“生成文档”操作? “生成单个文档”操作会合并一条记录并返回一个文件。“生成多个文档”操作接受一个数组,并为每个元素返回一个文件。通常情况下,如果 Zap 预期生成多个文档,但却只生成一个文档,这是因为选择了错误的参数。

为什么要把模板放在单独的文件夹里? 触发器会监视数据文件夹。如果模板与数据位于同一位置,则上传修改后的模板会触发 Zap,并尝试将其与模板合并,就像合并记录一样。


您将获得​

输入: 包含合并字段的 Word 模板,以及 JSON 或 XML 记录。 输出: 合并后的文档已保存回云存储,可以发送或存档。


你需要什么​

  • Zapier。 打开 PDF4me Zapier 应用多步骤 Zap 需要 Zapier 付费计划。
  • PDF4me API密钥。 获取您的 API 密钥首次添加 PDF4me 操作时进行连接。
  • 云存储 一个文件夹用于存放模板,另一个文件夹用于存放传入数据。
  • Word模板 使用下面 PDF4me 语法编写的合并字段。

用一段话解释一下什么是邮件合并?​

邮件合并功能从数据源读取值,并将每个值放入模板中对应的占位符中。您只需保留两样东西:包含合并字段的模板和提供值的数据源。合并引擎会将它们合并,并为每个记录返回一个最终文档。

PDF4me接受 Word、HTML 和 PDF 模板功能。Word 是三者中最丰富的,因为它的语法支持条件语句、表格、重复部分、图像和内联 HTML,而不仅仅是简单的查找和替换。

如何设计 Word 模板?​

合并字段时,字段名称要用双尖括号括起来:

<<[FieldName]>>

将该值粘贴到 Word 文档中对应的位置。括号内的名称与 JSON 或 XML 记录中的键相匹配。

Word模板语法参考​

你想文档
完整的语法,从头到尾概述
条件语句文本控件
随数据增长的表格表格
重复段落和章节重复段落
插入图片插入图片
插入原始 HTML插入 HTML
数字和日期格式格式化
变量和列表变量
这是一个用于 PDF 发票的 Word 邮件合并模板示例,其中显示了位于带有条件行的表格内的双尖括号中的合并字段。

这是一个使用表格和条件的示例发票模板。表格中的每行数据对应一个项目,重复一次。


如何构建“生成文档”Zap?​

Zap 由四个活动部分组成:启动程序、模板、合并以及结果存放位置。

  1. 扳机。 选择与数据到达位置相匹配的触发器。对于 Dropbox 来说,就是这样。 文件夹中的新文件 指向您的数据文件夹。
  2. 获取模板。 触发器只会携带刚刚到达的文件,所以模板需要单独读取。Dropbox 就是这样。 查找文件指向模板文件夹,并使用模板的确切文件名。
  3. 合并。 添加 PDF4me 生成文档 执行操作并将两个文件映射到其中。
  4. 节省。 添加 上传文件 将结果写回。如果合并返回多个文档,请将此内容放入一个 从行项目创建循环 从 Zapier 循环 所以每个文档只运行一次。

生成文档参数​

范围必需的它的作用
模板文件必需的模板本身,是从获取它的步骤映射而来的。
模板文件类型必需的您提供的模板类型是:Word、HTML 还是 PDF?
输入数据格式类型必需的无论数据是以文本形式还是文件形式到达。
数据文本或数据文件必需的记录。填写哪一行取决于上一行。
输入数据类型必需的数据自身的格式:JSON 或 XML。
模板文件名选修的为操作指定模板名称,包括扩展名。
输出文档类型选修的生成文档的格式。
保持PDF可编辑选修的输出结果中保留可编辑的表单字段。
元数据选修的传递给合并操作的额外值。

提示。 模板文件类型和输入数据类型是最常被弄错的一对。如果输出结果中仍然显示占位符,请首先检查这两项:合并操作已经运行,只是它找不到要合并的内容。

单循环与多循环,以及何时需要循环​

单项与多项生成单个文档生成多个文档
数据形状一条记录一个数组,每个文档一个对象
返回一份文件每个数组元素对应一个文档
后面需要一个循环不是的,为了保存每个结果
典型用途一份订单一张发票来自一次导出的一批语句
这是由 PDF4me 邮件合并生成的 PDF 发票,其中模板合并字段已替换为实际值。

合并后的输出结果。模板中的所有占位符都已被替换,表格已扩展为每行一行。


运行 Zap 并验证​

  1. 发布 电击。
  2. 将示例记录拖放到数据文件夹中,然后等待触发器轮询。
  3. 打开 Zap 运行 并确认“生成文档”步骤返回的是文件而不是错误。
  4. 打开输出并检查两件事:没有留下可见的占位符,并且重复表具有正确的行数。

你实际建造了什么? 这是一个文档工厂,其内容的所有权归模板编辑者所有,而非 Zap 维护者所有。更改模板后,下次运行将使用更改后的模板。同样的模式在 Make、n8n 和 Power Automate 上以相同的操作运行。


无需重建即可添加的常见变体​

通过电子邮件发送此文档
添加 Gmail 或 Outlook 步骤,并附加合并后的文件,这样收件人无需任何人打开存储即可收到该文件。
签名后再发送
在合并之后插入 PDF4me 签名操作,以便文档发出时已带有签名。
首先,从表格开始填写。
将 Dropbox 触发器替换为表单或 webhook 触发器,并将输入数据格式类型设置为文本,直接粘贴有效负载。
转换结果
如果模板类型和您想要的输出格式不同,请按照以下步骤进行合并:将 HTML 转换为 PDF 或格式转换。

常见问题​

什么是邮件合并?​

从数据源读取值,并将每个值插入模板中对应的占位符,从而为每个记录生成一个最终文档。Word 的向导功能使这个术语广为人知,但操作本身与 Word 无关:任何能够理解模板和数据格式的引擎都可以执行此操作,而“生成文档”操作正是如此。

如何在Word中进行邮件合并?​

如果你指的是 桌面向导你需要将 Word 指向电子表格并按照其对话框进行操作。如果你指的是在不使用向导的情况下合并 Word 模板,则需要使用上述双尖括号语法编写字段,然后将模板和 JSON 或 XML 记录传递给“生成文档”程序。模板仍然是一个 Word 文件;不会打开 Word 来生成输出。

不用Word可以进行邮件合并吗?​

是的。合并过程通过 PDF4me API 完成,因此全程无需创建 Word 文档。您只需要 Word 或任何可以打开 .docx 文件的编辑器来创建模板,如果您不想使用 Word,PDF4me 也支持 HTML 和 PDF 模板。

如何从一个模板生成多个文档?​

使用 生成多个文档 并传入一个数组,每个对象对应一个文档。它会为每个元素返回一个文档。然后将上传步骤放在一个 从行项目创建循环 这样一来,每个结果都会单独保存,而不是只保存第一个结果。


故障排除​

输出结果仍然显示合并字段

数据与模板不匹配。请检查输入数据类型是否与记录的实际格式相符,记录是否有效,以及键名是否与尖括号内的内容完全一致(包括大小写)。

一批文档中只会生成一个。

要么是本应使用“多条记录”的操作却使用了“单条记录”操作,要么是上传步骤位于循环之外。无论上传了多少条记录,这两种情况都只会生成一个保存的文件。

重复表有一行

模板中未标记重复区域。表格在不断增长时,需要在行周围使用重复语法,而不仅仅是合并行内的字段。请参阅重复段落文档。

编辑模板时会触发 Zap 事件

模板位于被监控的文件夹内。将其移动到单独的文件夹,并将获取步骤指向该文件夹。


后续步骤​

同样的四步模式(监视、获取模板、合并、保存)可以处理任何“数据输入,品牌文档输出”的自动化操作。