如何在 Windows 上离线将 Markdown 转换为 PDF
在 Windows 11 上本地将 Markdown 转换为 PDF,保留标题、代码、表格、Unicode 和本地徽标,并验证生成的每一页。
本页内容
当文档仍在修改时,Markdown 非常出色:源文件是纯文本,容易在差异视图中审阅,也无需专业编辑器即可阅读。到了交付阶段,PDF 往往更合适,因为接收者需要一份可以稳定打开、打印和分页的固定文档。
在 Windows 11 上使用 LocalFlux,您可以把 .md 文件转换为单独的 PDF,而不必将文档上传到转换网站。在本指南的测试中,一个包含标题、列表、块引用、表格、围栏代码块、Unicode 文本、内部链接和本地 LocalFlux 徽标的 Markdown 源文件,生成了一份三页 A4 PDF。源文件保持不变。
最适合:笔记、README 风格讲义、技术说明、会议摘要,以及可以接受自然分页的报告。
了解限制:此路线会拒绝远程网页链接或图像以及原始 HTML。Markdown 也没有定义打印边距、页眉、页脚或强制分页,因此不能取代页面排版应用。
简要步骤
- 将 Markdown 文件及所有本地图像资源放在稳定的工作文件夹中。
- 打开 LocalFlux 并添加
.md文件。 - 保持选中转换,并选择 PDF 作为输出。
- 确认队列中的路线显示为 Markdown → PDF。
- 选择转换 1 个文件。
- 打开新的
_converted.pdf文件并检查每一页。 - 确认标题、表格、代码、图像、链接和非英语文本均正确渲染。
- 保留
.md源文件作为可编辑原件。
从 Microsoft Store 获取 LocalFlux,或在开始前查看目前支持的转换路线。
Markdown 转 PDF 实际改变了什么
CommonMark 将 Markdown 描述为一种用于结构化文档的纯文本格式。熟悉的标点代表标题、强调、列表、引用、代码、链接和图像。PDF 是最终形式的页面描述:它记录页面、已放置的文本、图像、字体和链接注释。
因此,转换并不只是重命名扩展名。LocalFlux 会解析 Markdown 结构,准备本地文档表示,再通过随应用提供的文档运行时导出新的 PDF。PDF 是交付副本;Markdown 仍然是可编辑原稿。
这一区别解释了两个实际结果:
- 即使一切正常,PDF 也可能比
.md文件大得多;以及 - 成功状态只是验证的开始,因为分页和字体选择只能在渲染后的页面中看到。
准备具有代表性的 Markdown 文件
如果真实文件包含表格、代码、图像或多语言文本,请不要用只有一行的笔记验证文档工作流。应从具有代表性的源文件开始,使渲染时最可能发生变化的功能都能接受测试。
本文使用的测试文件包含:
- ATX 标题和普通段落;
- 粗体、斜体和行内代码;
- 有序列表和无序列表;
- 块引用和水平线;
- Markdown 表格;
- 围栏 PowerShell 代码块;
- 内部片段链接;
café、résumé、naïve和日本語;以及- 通过本地
file:///URI 引用、源自存储库的 LocalFlux 徽标。
界面截图于2026年10月使用根据已记录的 LocalFlux 1.0.10.0 发布源码重新构建的版本拍摄。下方历史测量值和下载资料仍保留原始测试范围。截图记录: 1 · 2
自行编写的测试文件和源自存储库的徽标不含客户材料。徽标通过本地文件 URI 解析;转换过程中不会获取网页图像。
实测源文件中确切的图像行是:

应正确看待这项路径规则。它只证明明确的本地 URI 在实测的 1.0.8 版本中有效。如果移动源文件或资源,请更新 URI 并重新测试。相对图像路径在文档处理流程中可能不稳定,因为中间文件可能暂存在另一个目录。
您可以下载本指南使用的确切 Markdown 输入、本地徽标和生成的 PDF。
第 1 步:添加 Markdown 文件
打开 LocalFlux,然后把 .md 文件拖入窗口,或选择添加文件。保持选中转换,选择 PDF,并在开始前检查队列中的任务行。
队列任务行显示 Markdown → PDF。中性的 C:\tmp 工作路径避免在发布截图中泄露个人 Windows 配置文件。
如果任务行显示其他路线,请在转换前修正输出选择。对于批处理,请将需要相同输出和类似审阅标准的文件分组。简短笔记和长篇技术报告可能都是 Markdown,但分页风险截然不同。
第 2 步:转换为新的 PDF
选择转换 1 个文件。LocalFlux 默认将输出写在源文件旁,并在文件名中添加 _converted。本次运行的数据如下:
- 输入:
localflux-markdown-guide.md; - 输出:
localflux-markdown-guide_converted.pdf; - 源文件大小:3,713 字节;
- 输出大小:194,305 字节;以及
- 转换前后的源文件 SHA-256:完全相同。
历史英文界面: 应用将这些大小四舍五入显示为 3.6 KB → 189.8 KB, larger than original。这条消息只是描述,并不是警告。纯文本源文件几乎不含呈现数据;PDF 则包含徽标以及 Arial、Times New Roman、Consolas、OpenSymbol 和 NSimSun 的嵌入字体子集,使文档能够复现其文本和符号。
不要把 Markdown 转 PDF 当成压缩工作流。目标是获得可靠的交付文档,而不是让字节数少于源文件。
第 3 步:检查每一页 PDF
在常用阅读器中打开 PDF,并以可读的缩放比例进行审阅。例如,Microsoft Edge 提供 PDF 查看和打印预览控件;但重要习惯与阅读器无关:检查每一页,而不仅是第一页。
第 1 页保留了标题层级、本地徽标、粗体、块引用、行内代码和列表。
请检查:
- 被截断的表格列或代码行;
- 缺失的图像或替代字符方框;
- 意外的空白页;
- 孤立在页面底部的标题;
- 错误重新开始的列表编号;
- 看似有效却指向错误位置的链接;以及
- 最后一页出现意外溢出或缺失文本。
2026年10月复核:在10种界面语言下导出的PDF,其三页A4、文本、渲染和内部链接目标均与历史PDF一致。每份194,305字节,嵌入7个字体子集。本地文件URI仍可用;更改应用语言不会翻译英文原稿。界面的KB实际表示KiB(1,024字节)。每页虽都列出图像资源,徽标仅绘制在第一页。第三页开头只剩“correctly.”一个词,表格没有可见的单元格边框。交付前也应检查这些排版细节。 2026-10
三页 A4 页面均已渲染为图像并接受检查。没有文字、徽标、表格或代码块被截断,也没有空白页。
保留的输出还通过了结构性 qpdf --check 检查。文本提取找到了所有实测的重音字符和日语字符串,内部的 Verification notes 链接则成为一个 PDF 链接注释,指向文档内的目标位置。这些检查是视觉审阅的补充,不能取代视觉审阅。
LocalFlux 1.0.8 的实测结果
| 属性 | 验证结果 |
|---|---|
| 源文件 | 3,713 字节的 UTF-8 Markdown 文件 |
| 输出 | 194,305 字节的 PDF 1.7 文件 |
| 页数 | 3 |
| 页面大小 | 每页均为 A4,595.304 × 841.890 点 |
| PDF 标题 | localflux-markdown-guide |
| 生成程序 | LibreOffice 26.2.4.2 (X86_64) |
| 图像 | 每页报告一个图像资源 |
| 内部链接 | 第 2 页有一个链接注释 |
| 字体 | 七个 TrueType 子集,全部包含嵌入字体数据 |
| 结构检查 | 通过;没有语法或流错误 |
| 源文件保留情况 | Markdown 和徽标哈希未改变 |
这些测量结果只描述一份受控测试文件和一个保留的 x64 软件包,并非对所有 Markdown 文件的承诺。页数和文件大小会随源文件长度、图像尺寸、表格、代码行、字体和 Unicode 字符而变化。
应测试哪些 Markdown 格式?
转换使用面向 CommonMark 的解析器,并支持扩展 Markdown 功能。在本测试中,普通标题、强调、列表、块引用、围栏代码、表格、图像、内部链接和 Unicode 文本都成功渲染。
不同 Markdown 系统可能对扩展功能和有歧义的语法产生不同解释。CommonMark 规范的存在部分是为了减少这些差异,而 Markdig 项目为 .NET 增加了一组可扩展功能。如果文档依赖任务列表、脚注、自定义属性、图表、数学符号或应用专有指令,请在转换整个文件夹前测试这些确切结构。
请优先使用简单明确的源文件:
- 在表格、列表、引用和代码围栏周围保留空行;
- 保持表格足够窄,以适应纵向页面;
- 让解释性正文自然换行,不要编写很长的单行;
- 避免仅用颜色传达重要信息;
- 即使视觉 PDF 是主要输出,也应添加有意义的替代文字;以及
- 文档包含基本英语以外的姓名或语言时,应使用有代表性的 Unicode 样本。
分页、边距、页眉和页脚
Markdown 表示文档结构,而不是实体出版物的几何布局。它不定义 A4 或 Letter、打印边距、连续页眉、页码,也没有通用的强制分页指令。
实测的 LocalFlux 路线提供直接转换,而不是打印布局编辑器。它将此测试文件自然分页为 A4 页面,但没有提供自定义边距、页眉、页脚或精确分页位置的控件。原始 HTML 不能作为变通方案,因为该路线会拒绝它。
当文档可以接受转换器的自然分页时,请使用此工作流。如果合同、书籍、品牌提案或受监管表单要求精确定位,请在可感知页面的创作工具中编辑并从那里导出。早期草稿仍然可以使用 Markdown,但最终布局步骤应在出版工具中完成。
为什么远程链接和图像会被拒绝
此路线有意为本地转换划定边界。类似 [example](https://example.com) 的 Markdown 链接或远程图像 URL,会使实测版本停止并显示修正指引,而不是获取远程资源。
应用提示: “不支持包含远程 Web 链接或图像的 Markdown。删除远程 Web 引用并重试。”
对原始 HTML 的同一负面测试显示:**“不支持包含原始 HTML 的 Markdown。删除 HTML 标签并重试。”**两个被拒绝的测试文件都没有生成 PDF。
这意味着普通的公开网页链接必须在转换前移除或重写。类似 [Verification notes](#verification-notes) 的内部片段链接会保留在文档中,并在实测 PDF 中正常工作。徽标测试文件也证明,明确引用的本地图像可以正常使用。
这项限制也有利于可重复性:结果不会取决于远程服务器是否可用、是否返回同一图像,或是否在不同运行之间更改内容。
字体与 Unicode:验证实际字形
转换成功并不能保证每台电脑都有您期望的字体。渲染器可能换用其他字体,而替代字体可能改变换行,或缺少所需字形。
此 PDF 嵌入了七个 TrueType 子集,并清晰渲染了 café、résumé、naïve 和 日本語。文本提取也恢复了相同字符串。这为该测试文件提供了有力证据,但包含数学符号、表情符号、从右向左文字或罕见 CJK 字符的文档需要单独测试。
排版很重要时,请将渲染后的 PDF 页面与源文件预览进行比较,放大检查特殊字符,并检查表格和代码周围的换行。当品牌排版必须精确时,请通过合适的创作工作流嵌入或授权字体。
安全地批量将 Markdown 转换为 PDF
您可以向同一个 LocalFlux 队列添加多个兼容的 Markdown 文件,但批处理成功不能等同于批量批准。应先运行一小组有代表性的文件,再根据内容审阅输出。
实用的批处理清单如下:
- 将每个源文件及其本地资源放在稳定位置。
- 添加文件前移除远程引用和原始 HTML。
- 将需要精确页面布局的文档与接受自然分页的文档分开。
- 转换整个文件夹前,先转换一份有代表性的长文件。
- 打开每个生成的 PDF,或至少渲染每一页进行审阅。
- 保留 Markdown 原文件以供修订。
- 需要可复现的发布记录时,对重要源文件进行哈希或版本管理。
常见问题
可以在 Windows 上不上传就将 Markdown 转换为 PDF 吗?
可以。本文实测的 LocalFlux 工作流在 Windows 11 x64 主机上本地运行,并在源文件旁创建 PDF。转换不包含上传步骤。
Markdown 文件会被覆盖吗?
不会。在本测试中,LocalFlux 写入 localflux-markdown-guide_converted.pdf,源 Markdown 哈希保持不变。
PDF 可以包含徽标吗?
可以,但有一个重要前提:实测源文件使用明确的 file:///C:/.../localflux-logo.png 引用指向本地 PNG,该徽标成功渲染。请保持资源可用,并在移动文件后重新测试。
PDF 中可以使用网页链接吗?
实测路线会拒绝远程 http:// 和 https:// 链接。内部片段链接可以工作,并会成为 PDF 链接注释。
可以使用 HTML 强制分页吗?
不可以。原始 HTML 会被拒绝,此直接路线也不提供强制分页控件。需要精确分页时,请使用页面排版工具。
为什么 PDF 比 Markdown 文件大?
Markdown 是紧凑的纯文本。PDF 携带页面几何信息、字体数据、图像和其他用于复现排版文档的资源。对于此测试文件,输出更大属于预期情况,并不表示压缩失败。
分享 PDF 前应检查什么?
检查每一页,确认图像和特殊字符可见,测试内部链接,检查宽表格和代码是否被截断,并保留原始 .md 文件以供下一次编辑。
下载发布证据
本文使用自行编写的测试文件和存储库控制的徽标。规范技术记录保留英文,以便哈希、测量结果和措辞始终对应同一份已经审阅的证据集:
保留源文件,验证交付副本
可靠的 Markdown 转 PDF 工作流会产生两个用途不同的文件。Markdown 文件保持可编辑、可审阅;PDF 则成为用于分发、打印或归档的固定副本。
将依赖项保留在本地,使用有代表性的源文件,转换为新文件,并检查每一页。文件名和绿色完成横幅并不足够。正是最终审阅将一次成功转换变成了可靠文档。




