用 Power Automate 将 Markdown 转换为 PDF(完整指南)
📢 本文同步发布於公众号:Power Platform · 最佳实践
🔗 原文链接:https://johnliu.net/blog/convert-markdown-to-pdf-with-power-automate/
用 Power Automate 将 Markdown 转换为 PDF(完整指南)
Power Automate 可以将 Markdown 文件转换为 PDF——我们先把 .md 文件写入 OneDrive,然后使用 ConvertFileByPath 连接器操作将其转换为 PDF。转换过程通过 Microsoft Graph API 在服务端完成。
本指南将带你完成完整的配置流程,包括哪些 Markdown 功能可以正常转换、哪些不行(截至 2026 年 5 月)。
流程架构
整个流程按顺序执行五件事:
为什么选择 OneDrive 而不是 SharePoint?
你确实可以使用 SharePoint 的 HTTP Request 连接器,在文件 URL 后面加上 ?format=pdf 来实现。但这会返回 HTTP 302 Found——即重定向到实际的文件下载地址。你需要忽略 302 并跟随重定向的 location 头来读取文件。由于文件可能不会立即就绪,你可能还需要循环等待。相比之下,OneDrive 操作使用起来更简单。
OneDrive 的 ConvertFileByPath 连接器在内部处理了重定向,直接返回转换后的二进制文件,无需任何变通方案。
ConvertFileByPath 操作
位于 OneDrive for Business 连接器下:
/md-pdf-test-20260526.md
测试全部 12 类 Markdown 功能
我构建了一个测试流程,生成一份涵盖 12 个功能类别的综合 Markdown 文档,然后将其同时转换为 PDF 和 HTML。以下是测试覆盖的内容:
实际效果如何?
我测试了两样东西:ConvertFileByPath 生成的 PDF,以及在 SharePoint 内置 Markdown 查看器中打开的源 .md 文件。这是两条独立的渲染管线,结果差异很大。
ConvertFileByPath 的 HTML 输出是第三种产物——本次测试未涉及。
SharePoint 内置的 Markdown 查看器表现非常出色——它能渲染 Mermaid 图表、任务列表复选框、删除线、嵌套引用块和语法高亮代码块。但这些在 PDF 中全部无法保留。
表格效果不错,但还可以再多一些格式化。
图片方面则表现不佳——百分号编码的 SharePoint URL 在 SharePoint 查看器中可以正常工作,但在 PDF 中不行——ConvertFileByPath 转换器在无用户认证的情况下运行,无法读取 SharePoint 文件。公共互联网图片在两者中都失败——两条管线都不会抓取外部 URL。请务必对图片 URL 进行百分号编码;路径中未编码的空格会破坏两个渲染器中的 Markdown 解析器。
在 PDF 中,<div style="page-break-after: always;"> 标签会以纯文本形式呈现——转换器不处理 HTML。在 SharePoint 的 Markdown 查看器中,该标签会被静默移除。目前没有受支持的方式来强制分页。
<div style="page-break-after: always;">
完整流程测试通过 Flow Studio MCP 自动执行
该流程可在 Flow Studio Demo 环境中获取,名称为 MCP Demo - Markdown to PDF Full Feature Test。它完全是在 VS Code 中通过 Flow Studio MCP 服务器构建的——没有手动在门户中编辑。
Flow Studio Demo 环境
关键操作结构:
Compose_File_Name
Compose_S01_Headings ... Compose_S12_Footnotes (并行)
→ Compose_Markdown
→ Create_Markdown_File (Share


