Power Automate邮件转PDF存SharePoint替代方案咨询(无需OneDrive)
方案一:使用Power Automate原生「Convert HTML to PDF」动作(需Premium许可证)
- 从Outlook连接器的「Get email」动作中提取邮件的HTML格式正文(选择「Body」字段,确保是HTML而非纯文本)
- 添加「Convert HTML to PDF」动作,将邮件HTML内容填入「Content」参数;若需保留邮件样式,可额外设置「Margin」「Page size」等参数
- 通过「Create file」动作将生成的PDF二进制内容(选择「File content」输出)保存到目标SharePoint文档库
- 补充处理:邮件中的嵌入图片(cid链接)无法直接被转换动作识别,需先通过「Get attachment content」获取嵌入附件的base64编码,替换HTML中的cid链接为
<img src="data:image/png;base64,{base64内容}">格式
方案二:调用SharePoint REST API转换HTML为PDF
- 先将邮件HTML内容通过「Create file」保存为SharePoint库中的临时HTML文件(命名如
temp-email.html) - 添加「Send an HTTP request to SharePoint」动作:
- 方法:
POST - URI:
https://your-site-url/_vti_bin/transform.aspx - Body(JSON格式):
或替换{ "Html": "<邮件HTML内容>", "Format": "pdf", "FileName": "converted-email.pdf" }Html为临时HTML文件的绝对URL(如https://your-site-url/sites/xxx/Shared%20Documents/temp-email.html)
- 方法:
- 将请求返回的二进制内容通过「Create file」保存到SharePoint目标位置
- 注意:转换完成后可添加「Delete file」动作删除临时HTML文件
方案三:使用第三方连接器(如Plumsail Documents)
- 添加Plumsail Documents连接器的「Convert HTML to PDF」动作
- 传入邮件的HTML内容,该连接器会自动处理嵌入图片、复杂样式等问题
- 直接将生成的PDF输出到SharePoint文档库,无需额外处理二进制内容
原PDF无法打开的常见排查点
- 检查「Create file」动作的「File content」参数是否为转换动作输出的二进制内容,而非文本内容
- 若使用免费版动作转换,可能因HTML兼容性问题导致PDF损坏,可尝试简化邮件HTML内容(移除特殊标签、脚本)
- 确认SharePoint文档库的权限设置,确保流执行账户有写入和读取权限
内容的提问来源于stack exchange,提问作者Xav Dou
相关产品推荐
相关产品推荐

