跳到主要内容

在 Power Automate 中将 SharePoint 列表转换为已填写和签名的 PDF!

· 阅读需 23 分钟
SEO and Content Writer

填写PDF表格 是一个 动力自动化 该操作接受一个可填写的 PDF 模板和一个 JSON 有效负载,并返回一个所有字段都已预先填充的 PDF 文件。添加 PDF签名SharePoint 创建项目时 触发后,整个发票生成流程将实现无人值守:同事添加一行,Power Automate 生成签名 PDF,Dropbox 将其存储在带有时间戳的文件名下。

发票式工作流程中最令人头疼的部分不是PDF文件,而是…… 中间的手动步骤有人打开模板,从电子表格的一行中重新输入八个字段,打印、签名、扫描并上传。每个字段都可能导致客户姓名拼写错误或金额少一个零。本教程用七个 Power Automate 操作取代了这些繁琐的步骤:SharePoint 触发,Dropbox 提供模板和签名图片,PDF4me 填写表单并添加签名,Dropbox 存储最终文件。提供真实屏幕截图、精确的“撰写”表达式、SharePoint 架构和已签名发票示例供下载。

流程概览
1. When an item is created
SharePoint trigger on New Customer Invoices list. Fires the flow every time a row is added.
2. Get file content
Dropbox reads sample_fill_form.pdf from /blog data/fill a pdf/. Infer Content Type Yes to keep the binary intact.
3. Get file content 1
Dropbox reads signature.png from the same folder. Same Infer Content Type Yes toggle.
4. Compose
Builds one JSON payload from the SharePoint row: customerName, email, phone, invoiceNumber, invoiceDate, address, amount.
5. Fill a PDF Form
PDF4me action. Template File Data the PDF binary, JSON Data the Compose output, Keep PDF template Editable No.
6. PDF - Sign
PDF4me action. Stamps signature.png right-bottom on page 1, 50 wide by 20 high, margin 15, opacity 100.
7. Create file
Dropbox /blog data/fill a pdf/output. File Name concat(Signed_, invoiceNumber, _, ticks(utcNow()), .pdf).
简短版

SharePoint 列表触发器会在每条新发票行出现时触发。Dropbox 提供可填写的 PDF 模板以及 PNG 签名。Compose 会根据该行构建 JSON 有效负载。PDF4me 的“填写 PDF 表单”功能会将数据合并到模板中。PDF4me 的“PDF - 签名”功能会添加签名戳。Dropbox 会将签名文件保存为带有时间戳和发票编号的文件名。

为什么这个流程的每个部分都是精心设计的?

Why SharePoint as the trigger?
Every sales, ops, and finance team already tracks customer or invoice rows in a SharePoint list. Using When an item is created means users keep working exactly how they work today, they just add a row.
Why Compose in the middle?
PDF4me expects one JSON payload. Compose lets you paste a JSON skeleton and drop trigger fields straight into it as dynamic content, without dragging JSON handling into every downstream action.
Why Fill a PDF Form and not Convert?
The template already has form fields with named placeholders. Fill a PDF Form populates those fields by name, keeping the design and layout intact. Convert would flatten and rebuild the file.
Why PDF - Sign in the same flow?
The alternative is a separate DocuSign / Adobe Sign step, which asks a human to click. A signature stamp is enough for internal, low-risk invoices and keeps the flow fully hands-free.

您将获得

一个 Power Automate 流,监视 SharePoint 列表,并针对每一行新内容生成一份已填写并签名的 PDF 发票,名称为 Signed_INV-YYYY-NNN_<ticks>.pdf 文件保存在您的 Dropbox 输出文件夹中。签名图章位于第一页的右下角。模板的其余部分将完全保留,与您的设计师最初设计一致。


你需要什么

  • SharePoint 网站 有一个名为 New Customer Invoices (或重命名以匹配您的名称)包含以下列:
    • TitleCustomerNameEmailPhone (均为单行文本)
    • InvoiceNumber (单行文本,例如: INV-2026-207
    • InvoiceDate (日期), Address (单行文字) Amount (数字)
  • PDF模板 使用与 JSON 键匹配的命名表单字段(customerNameemailphoneinvoiceNumberinvoiceDateaddressamount)。
  • PNG 签名 背景透明。
  • PDF4me 连接 在 Power Automate 中。 获取您的 API 密钥 如果这是你的第一个流程。
  • Dropbox 连接 在 Power Automate 中(SharePoint / OneDrive / 任何其他存储都可以完美替代)。
签名 PDF 输出示例
下载此流程为 INV-2026-207 行(Mark Jagar)生成的已签名发票。
↓ signed-invoice-sample.pdf

流程概览

七个 Power Automate 操作,顺序执行。没有并行分支,没有“应用到每个对象”,也没有变量。每个步骤的输出直接传递给下一个步骤。

Power Automate 流程概览,显示七个顺序操作:SharePoint 创建项目时、Dropbox 获取文件内容、Dropbox 获取文件内容 1、撰写、PDF4me 填写 PDF 表单、PDF4me PDF 签名和 Dropbox 创建文件,每个操作都带有绿色对勾和运行时长。
端到端设计视图。触发创建文件,共七个操作。

SharePoint 列表本身就是一份合同。添加到此列表中的每一行都会变成一份已签署的 PDF 文件。

SharePoint 列表名为“新客户发票”,包含八行,包括 Smith Form、Mark Form、Marcus Lee Form、Priya Nair Form、Sarah Brown Form、Jhon Form 和 Susan Form。选中 Mark Jagar 行,显示详细字段:客户姓名 Mark Jagar,电子邮件 markjagar@email.com,电话 plus1 567 736 8923,发票编号 INV-2026-207,发票日期 2026 年 8 月 28 日,地址 Park street,金额 20458。
新客户发票列表。Mark Jagar 的 INV-2026-207 行生成了上述示例输出。

当 SharePoint 添加行时,如何触发该流程?

目前为止的流程: 仅触发。

  1. 添加新的自动化云流程。搜索 SharePoint 并挑选 创建物品时
  2. 网站地址 到您的 SharePoint 站点(如图所示): PDF4me Supporthttps://ynoox1.sharepoint.com/sites/PDF4meSupport)。
  3. 列表名称New Customer Invoices
  4. 离开 高级参数 均采用默认设置。触发器会在添加行时立即触发,无需调整轮询计划。
Power Automate 在创建项目时触发,站点地址设置为 PDF4me 支持 SharePoint 站点 URL,列表名称设置为“新客户发票”。
站点 + 列表,这就是全部的触发配置。SharePoint 会自动处理变更检测。

提示。 将 SharePoint 中的列表列重命名为与 PDF 字段名称匹配(customerNameemail如果可以的话,请这样做。这样可以避免之后在“撰写”操作中重命名键。


如何将 PDF 模板和签名传递到流程中?

目前为止的流程: 触发 → 获取文件内容获取文件内容 1

Dropbox 里有两个读取文件,一个是 PDF 模板,一个是签名 PNG 文件。它们都放在同一个文件夹里,这样流程创建者以后就不用到处找了。

  1. 添加 Dropbox - 使用路径获取文件内容文件/blog data/fill a pdf/sample_fill_form.pdf
  2. 在下面 高级参数, 放 推断内容类型是的如果没有这个措施,PDF二进制文件在传输过程中可能会损坏。
Dropbox 使用路径操作获取文件内容,文件设置为 /blog data/fill a pdf/sample_fill_form.pdf,推断内容类型设置为“是”
步骤 2. 填写 PDF 表单的空白模板将自动填充。
  1. 再加一个 Dropbox - 使用路径获取文件内容. 这就是 Power Automate 会自动将其重命名的地方。 Get file content 1
  2. 文件/blog data/fill a pdf/signature.png
  3. 相同的 推断内容类型 是 切换。
第二个 Dropbox 获取文件内容 1 操作,文件设置为 /blog data/fill a pdf/signature.png,推断内容类型设置为“是”
步骤 3. 签名印章 PDF - 签名将叠加在第 1 页上。

如何从 SharePoint 行构建 JSON 有效负载?

目前为止的流程: 触发器 → 获取模板 → 获取签名 → 撰写

“构建”步骤是“组装 JSON”。它将触发字段(动态内容)放入一个 PDF4me 填写 PDF 表单工具可以识别的 JSON 对象中。

  1. 添加 撰写
  2. 点击 输入粘贴下面的 JSON 框架,然后将右侧的每个值替换为动态内容选择器中对应的 SharePoint 列(以便每个字段都位于……)。 引号之间):
{
"customerName": "CustomerName",
"email": "Email",
"phone": "Phone",
"invoiceNumber": "InvoiceNumber",
"invoiceDate": "InvoiceDate",
"address": "Address",
"amount": "Amount"
}
使用“输入”字段创建操作,该字段显示一个 JSON 对象,其七个值是 SharePoint 触发器动态内容字段:CustomerName、Email、Phone、InvoiceNumber、InvoiceDate、Address 和 Amount,每个值都位于其 JSON 键的引号之间。
Compose 会生成一个 JSON 对象。请将所有动态内容字段放在引号内,以便数字和日期以字符串形式返回。键(“customerName”、“email”等)必须与 PDF 字段名称完全匹配。

有效载荷参考表:

JSON 密钥来源(SharePoint 列)类型笔记
customerNameCustomerName文本直接映射。
emailEmail文本任何字符串均可,此步骤不进行格式检查。
phonePhone文本请以文本形式保留。请勿强制输入号码,电话分机号和连字符都很重要。
invoiceNumberInvoiceNumber文本输出文件名中也重复使用了该名称。
invoiceDateInvoiceDate日期Pill 位于引号内,因此 Compose 将其作为文本发出,而不是 ISO Date 对象。
addressAddress文本单行。
amountAmount数字药丸位于引号内,因此 JSON 接收到的是一个带引号的值。

提示。 永远不要服用动态内容药丸 两段引文之间 每个 JSON 值。放在引号外的参数会输出原始数字或日期,而未加引号的数字后跟一个 , 字符串中间悄无声息地中断了有效载荷。


如何将 JSON 数据填充到 PDF 表单中?

目前为止的流程: 触发 → 获取模板 → 获取签名 → 撰写 → 填写PDF表格

这是 PDF4me 的第一个操作。它接收模板 PDF 和 JSON 有效负载,并将每个 JSON 值按名称写入匹配的表单字段。

  1. 添加 PDF4me PDF 连接器,动作 填写PDF表格
  2. 模板文件数据动态内容 获取文件内容文件内容 (模板 PDF 二进制文件)。
  3. 模板文件名sample_fill_form.pdf (或者无论文件名是什么)。
  4. JSON 数据动态内容 输出 从“编写”步骤开始。
  5. 保持 PDF 模板可编辑 (这样会在填写完成后将表单展平,因此收件人无法取消填写字段)。
PDF4me 的“填写 PDF 表单”操作,使用从 Dropbox 正文映射的模板文件数据、模板文件名 sample_fill_form.pdf、从 Compose Outputs 映射的 JSON 数据,并将“保持 PDF 模板可编辑”设置为“否”。
填写 PDF 表单配置。保持 PDF 模板可编辑(否)会将字段扁平化为静态文本。

提示。 如果您希望收件人稍后能够编辑特定字段(例如,添加备注),请翻转 保持 PDF 模板可编辑是的已填写的值仍然存在,只有字段锁定状态发生了变化。


如何使用 PDF-Sign 添加签名图章?

目前为止的流程: 触发 → 获取模板 → 获取签名 → 撰写 → 填写 PDF 表单 → PDF签名

PDF - 签名功能会将您的签名 PNG 图像以您选择的任何不透明度叠加到已填写的 PDF 文件中,位置固定。

  1. 添加 PDF4me PDF 连接器,动作 PDF签名
  2. PDF 文件内容动态内容 填写PDF表格身体 (已填充的 PDF 二进制文件)。
  3. PDF 文件名: 表达 concat(triggerBody()?['InvoiceNumber'], '.pdf'),它命名了该文件 INV-2026-207.pdf 因此,下游日志会显示发票号码。
  4. 签名文件内容动态内容 获取文件内容 1身体 (签名PNG)。
  5. 标志图像文件名signature.png
  6. 水平对齐正确的垂直对齐底部
  7. 1 (仅限第 1 页,设置为 1,3 第 1 页和第 3 页填写,或者每页留空)。
  8. 高度20宽度50水平边距15垂直边距15不透明度100
PDF4me PDF - 使用 PDF 文件内容进行签名操作,内容映射自“填写 PDF 表单正文”,PDF 文件名由“发票编号”和“pdf”组合而成,签名文件内容映射自“获取文件内容 1 正文”,签名图像文件名为 signature.png,水平右对齐,垂直下对齐,共 1 页,高度 20,宽度 50,水平边距 15,垂直边距 15,不透明度 100%。
签名位于第 1 页右下角,宽 50,高 20,边距 15 个单位,完全不透明。

职位参考:

场地它控制着什么例子
水平对齐页面的哪一边leftcenterright
垂直对齐上/中/下腰带topcenterbottom
哪些页码会被盖章1 (仅限第一个) 1,3 (第一页和第三页),空白(每页)
高度/宽度PDF 单位的签名框尺寸请匹配您的 signature.png 的宽高比,否则会拉伸。
水平/垂直边距与对齐边缘的间隙15 = 距右边缘 15 个单位(给定右对齐)
不透明度0到100100 完全不透明; 70 营造一种类似水印的感觉

如何将签名后的PDF文件保存回Dropbox?

目前为止的流程: 触发 → 获取模板 → 获取签名 → 撰写 → 填写 PDF 表单 → PDF 签名 → 创建文件

最后一步。生成的 PDF 文件会保存到一个专门的输出文件夹中,文件名会确保两次运行不会产生冲突。

  1. 添加 Dropbox - 创建文件
  2. 文件夹路径/blog data/fill a pdf/output
  3. 文件名: 表达 concat('Signed_', string(triggerBody()?['InvoiceNumber']), '_', string(ticks(utcNow())), '.pdf')产生诸如此类的名称 Signed_INV-2026-207_639235162128009339.pdf
  4. 文件内容动态内容 PDF签名身体 (已签名的 PDF 二进制文件)。
Dropbox 创建文件操作,文件夹路径为 /blog data/fill a pdf/output,文件名由连接表达式生成,该表达式包含字符串 Signed_、InvoiceNumber 触发字段、下划线、utcNow 的刻度线以及 .pdf 扩展名,文件内容映射自 PDF 的签名正文。
通过 ticks(utcNow()) 获取时间戳,即使两行数据在同一秒内触发,也能确保文件名唯一。

提示。 用 Dropbox 替换 SharePoint - 创建文件 或者 OneDrive - 创建文件 无需修改任何其他步骤。PDF 二进制文件保持不变;只有存储适配器发生变化。

运行流程并验证结果

你实际建造了什么?
添加一行 新客户发票 (标题 标记 - 表格客户名称 马克·亨特等等)。几秒钟之内,Dropbox 就会完成。 /博客数据/填写PDF/输出 获得 Signed_INV-2026-207_639235162128009339.pdf打开它:八个字段都已填写完毕,签名位于第一页右下角。这就是本文顶部链接的示例。

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

Email the signed PDF too
Add Outlook Send an email (V2) after Create file. Attach PDF - Sign Body as-is. The customer gets the invoice the same second Dropbox does.
Skip Dropbox, use SharePoint
Replace the three Dropbox actions with SharePoint Get file content and SharePoint Create file. The two PDF4me actions do not change at all.
Sign every page, not just page 1
Clear the Pages field in PDF - Sign or list them comma-separated (1,2,3). Same signature, applied to each page you list.
PDF4me vs Nutrient / Encodian / Plumsail
Those connectors handle Fill and Sign in separate flows or require per-user seats. PDF4me does both in the same premium connector, on one API key.

常见问题

如何使用 Power Automate 填写 PDF 表单?

添加 PDF4me 填写 PDF 表格 在读取 PDF 模板(Dropbox/SharePoint/OneDrive 获取文件内容)和使用触发字段构建 JSON 有效负载的“撰写”步骤之后,执行以下操作:将模板文件数据映射到 PDF 二进制文件,将 JSON 数据映射到“撰写”输出。JSON 键必须与模板中的表单字段名称完全匹配。

Power Automate 可以自动填写 PDF 表单吗?

是的,安装 PDF 连接器后,只需一次连接器操作即可完成。Power Automate 本身无法直接写入可填写的 PDF 文件,但是…… PDF4me 填写 PDF 表格 该操作通过您使用 Compose 构建的 JSON 有效负载或来自 SharePoint / Excel 行,一步完成整个填充和展平过程。

如何自动填充PDF表单字段?

触发数据源(SharePoint 列表、Excel 行、表单提交),构建一个 JSON 对象,其键与 PDF 字段名称匹配,然后将该 JSON 对象和模板 PDF 一起传递给 PDF4me 填写 PDF 表格该操作返回相同的 PDF 文件,其中所有命名字段均已填充。 保持 PDF 模板可编辑 锁定这些值,防止收件人取消填写。

如何使用 Power Automate 从 SharePoint 列表项创建 PDF?

使用 创建物品时 作为触发器,然后执行“获取文件内容”步骤加载 PDF 模板,再执行“撰写”步骤将该行转换为 JSON 格式。 PDF4me 填写 PDF 表格 将它们合并。输出结果是一个已填写的 PDF 文件,您可以将其通过电子邮件发送、上传到 SharePoint/OneDrive/Dropbox,或将其路由到审批流程。这篇博客正是基于此模式构建的,并在其上添加了签名印章。

如何在 Power Automate 中自动签署 PDF 文件?

添加 PDF4me PDF - 签名 在任何生成 PDF 二进制文件的步骤之后,将 PDF 文件内容映射到已填充的 PDF,将签名文件内容映射到 PNG 签名,并设置对齐方式(右对齐/下对齐)、大小(高度/宽度)、边距和不透明度。“PDF - Sign”会将图像印章添加到您列出的页面上。将“页面”留空即可在所有页面上签名。


故障排除

Fill a PDF Form returns the template unchanged
The JSON keys do not match the PDF field names. Open the template in Adobe Acrobat, Prepare Form, and copy the exact field names. Keys are case-sensitive.
Signature comes out stretched or tiny
Height and Width are in PDF units, not pixels. Match the ratio to your signature.png so the image is not distorted. 50 wide x 20 high fits most horizontal signatures.
Compose emits invalid JSON
A dynamic-content pill was dropped outside the surrounding quotes, or a SharePoint value contains a raw double quote or newline. Keep every pill between its two quotes, and sanitise user-supplied text upstream in SharePoint.
Dropbox Create file overwrites earlier runs
File Name resolved to the same string twice. The ticks(utcNow()) suffix in the concat guarantees uniqueness, remove it and you will collide.

下一步

上面的模式是从 SharePoint 行到已签名、已存储的 PDF 的最短免手动路径,而中间的两个 PDF4me 操作是您无法直接从 Microsoft 购买的唯一组件。

参考