Markdown 转 PDF 转换器

将 Markdown 和 .md 文件转换为精美的 PDF,支持公式、图表、代码、表格、图像和多语言文本。

专为高标准文档设计

复杂的源码。
排版严谨的输出。

公式、图表、代码、表格和多语言文本均可完美渲染为一份严谨的文档,而非妥协拼凑的产物。

文档渲染

所有元素各得其所。

富 Markdown 格式能够完整保留其层级与排版节奏,从首个标题直至最后的脚注。

数学公式与方程

公式始终保持清晰。

MathJax 将支持的数学符号渲染为可缩放的 SVG。

Mermaid 与 ZenUML

创意不失其形。

Mermaid 和 ZenUML 直接整合到生成的 PDF 中。

容错机制

单个错误区块不会导致整篇文档失效。

支持的错误将被隔离,从而确保有效内容继续渲染。

完整指南

专注于技术文档
所依赖的每一个细节。

了解每次转换背后的渲染模型、支持的内容以及实际限制。

只需三步,即可将 Markdown 转换为 PDF

使用 SolConverter 将 Markdown 转换为 PDF 仅需三个步骤:添加源文件或粘贴 Markdown、让转换器创建文档,以及下载生成的 PDF。

  1. 上传您的 Markdown 文件。 选择包含您要转换的文档的 .md.txt 文件。
  2. 创建 PDF。 SolConverter 应用其托管的 PDF 布局并自动开始转换。
  3. 预览并下载。 开始转换,跟踪任务进度,检查预览并下载完成的 PDF。

保留原始 Markdown 文件作为可编辑的源文件。当内容发生更改时,更新源文件并生成新的 PDF。

什么是 Markdown 转 PDF 转换器?

Markdown 转 PDF 转换器可将 Markdown 源文本转换为固定格式的 PDF 文档。

Markdown 使用纯文本语法来表示标题、段落、强调、链接、列表、表格、块引用、代码和其他文档元素。转换器会解析该结构,渲染支持的技术内容,应用打印样式,并创建无需 Markdown 编辑器即可共享、审阅、归档或打印的 PDF。

“MD 转 PDF” 代表相同的含义。MD 是 Markdown 的常见缩写,而 .md 是 Markdown 文档常用的文件扩展名。

在线将 MD 文件转换为 PDF

.md 文件是一个纯文本 Markdown 文档。SolConverter 接受 .md.txt 源文件,并通过在线工作流将支持的 Markdown 内容转换为 PDF。

当您想将 Markdown 保留为可编辑源,但需要为客户、同事、学生、审阅者或不使用 Markdown 的人提供稳定的文档时,这非常有用。

描述同一任务的常见方式包括:

  • Markdown 转 PDF
  • MD 转 PDF
  • Markdown 文件转 PDF
  • .md 文件转 PDF
  • 将 Markdown 转换为 PDF
  • 将 Markdown 导出为 PDF
  • 将 Markdown 保存为 PDF

本页面可满足所有这些转换需求。

PDF 中支持的 Markdown 格式

SolConverter 渲染技术和通用文档中常用的 Markdown 结构。

支持的内容包括:

  • ATX 和 Setext 标题;
  • 段落、换行符和水平线;
  • 粗体、斜体和删除线文本;
  • 有序和无序列表,包括嵌套列表;
  • 带复选框的 GFM 任务列表;
  • 块引用和嵌套块引用;
  • 行内代码和围栏代码块;
  • Markdown 链接、网页自动链接和电子邮件自动链接;
  • 带左对齐、居中和右对齐的 GFM 表格;
  • 受控 rowspancolspan 的安全原始 HTML 表格;
  • 诸如 detailssummarykbdsubsupfigurefigcaption 的文档元素;
  • 标题锚点;
  • 文件开头的 YAML 前导数据(YAML front matter),被视为元数据而非打印内容。

格式错误的代码围栏或分隔符会尽可能保持在局部,因此格式问题不会影响文档的其余部分。

转换带有 MathJax 公式的 Markdown

SolConverter 将支持的 LaTeX 和 MathML 渲染为 MathJax SVG。在放大或打印 PDF 时,SVG 输出能保持清晰。

公式处理管道在 Markdown 解析之前识别表达式,这有助于保护下划线、星号、显示分隔符和公式环境不被 Markdown 解析器更改。

支持的公式输入包括:

  • 使用 $...$\(...\) 的行内公式;
  • 使用 $$...$$\[...\] 的独立行公式;
  • 常见的 AMS 环境,如 equationaligngathermultlinesplitcases
  • 分数、根式、幂、索引、求和、连乘、积分、极限和级数;
  • 矩阵、行列式、数组和张量表示法;
  • 微积分、微分方程、线性代数、概率、统计、物理和化学表示法;
  • Presentation MathML 和基础 Content MathML 操作;
  • \ce{...} 编写的化学式;
  • 文档范围的宏,如 \newcommand\DeclareMathOperator

长的加法表达式可以在顶级运算符处拆分,而不是在页面边缘被裁剪或缩小到难以阅读的程度。独立行公式将保持在一起,如果浏览器可以在页面上容纳该块的话。

损坏的公式不一定会损坏整个 PDF

SolConverter 将格式错误的数学公式隔离在发生问题的具体位置。

当 LaTeX 或 MathML 块无法安全渲染时,转换器可以保留中性的源文本后备内容,并继续渲染其后的有效内容。图表和图像也采用相同的局部失效处理方法。

这对于长篇技术文档非常重要。一个受损的公式、一个不可用的图像或一个无效的图表不应自动废弃其周围的每个有效页面。

在本地渲染 Mermaid 和 ZenUML 图表

支持的 Mermaid 围栏块在 PDF 内被渲染为 SVG。ZenUML 通过本地捆绑的 Mermaid 外部图表集成进行支持。

每个有效的图表都是独立渲染的,并限制在可用的页面宽度内。如果图表渲染失败,SolConverter 会插入包含源文本的局部后备,并继续处理文档的其余部分。

当前支持的图表引擎是 Mermaid 和 ZenUML。目前不支持 PlantUML、Graphviz、D2、WaveDrom、BPMN、Nomnoml 和完整 TikZ。

保留带有代码高亮的代码块

技术文档经常混合了解释、命令、配置和源代码。当识别出围栏代码块的语言时,SolConverter 使用 Highlight.js 应用语法高亮。

代码输出包括:

  • 专用的等宽字体;
  • 围栏块的可见背景、边框和内边距;
  • 从代码围栏信息字符串中检测语言;
  • 语言未识别时安全地输出源文本;
  • 防止解析代码内部的数学分隔符;
  • 自右向左(RTL)文档中代码的自左向右(LTR)隔离。

因此,PDF 将代码与周围的正文在视觉上隔离开来,同时保留原始源文本。

转换多语言和自右向左的 Markdown

SolConverter 从内容中检测文档方向,并通过适当的字体回退支持多语言 PDF。

支持的文本场景包括:

  • 越南语和扩展拉丁字符;
  • 阿拉伯语和希伯来语布局;
  • 中文、日文和韩文文本;
  • 印度系文字;
  • 西里尔字母和希腊字母;
  • 混合文字文档;
  • 组合标记;
  • 许多 Unicode 符号和表情符号,具体取决于可用字体的覆盖范围。

即使主文档方向是自右向左,数学公式和代码仍保持自左向右。

添加图像而不导致整个文档失败

SolConverter 支持公开的 HTTP 和 HTTPS 图像,以及 PNG、GIF、JPEG、WebP 和 SVG 格式的有效 base64 数据图像。

图像在保持宽高比的同时被限制在页面宽度内。支持的图像元数据包括替代文本(alt)、标题、安全尺寸、对齐方式、插图和说明文字。

不可用或无效的图像将被替换为包含其替代文本的本地占位符。然后转换器继续处理 Markdown 的其余部分,而不是让整个 PDF 转换失败。

出于安全考虑,本地路径、localhost 地址、私有 IP 字面量、javascript: URL 和不支持的协议方案将被阻止。版本库相对的资源文件夹不会与上传的 Markdown 文件自动打包。

选择 PDF 页面大小和布局

转换器为技术文档、笔记、报告和打印输出应用一致的 PDF 布局。

当前的网页表单使用:

  • A4 页面大小;
  • 纵向;
  • 管理页边距以实现易读的输出;
  • 当前页 / 总页数 格式的页码;
  • 基于源文件名的输出标题;
  • 打印背景。

渲染系统还应用了基本的打印布局保护。它尝试避免在页面底部留下孤立的标题,减少文本块中的孤行和寡行,在浏览器支持时重复表格页眉,并在页面空间足够时避免拆分代码块、表格行、插图、图像、图表和独立行公式。

专为技术 Markdown 文档设计

简单的 Markdown 很容易导出。长篇技术 Markdown 则更为困难,因为公式、图表、表格、代码、多语言文本、外部图像和分页都会相互作用。

SolConverter 围绕这种更苛刻的用例进行设计。其 Markdown 转 PDF 管道包括 MathJax SVG 渲染、Mermaid 和 ZenUML、语法高亮、Unicode 和 RTL 支持、内容净化、网络控制、块级故障隔离、任务进度以及独立的预览和下载结果。

上传 Markdown 的安全处理

上传的 Markdown 可能包含原始 HTML、图像 URL 和其他不应被自动信任的内容。

SolConverter 使用白名单(允许列表)净化渲染的 HTML,移除脚本和事件处理程序,拒绝不安全的 URL,限制表格跨度,应用限制性的内容安全策略(CSP),并拦截超出图像策略范围的浏览器请求。

有效的 base64 数据图像可以在没有网络请求的情况下进行渲染。公开的远程图像可通过图像策略被允许,而本地、私有和不支持的目的地将被阻止。

如果尚未开始转换,新上传的文件将在 15 分钟后过期。在转换成功且输出经过验证后,源文件将被删除;失败的输入文件将在原来的 15 分钟窗口内过期。完成的 PDF 可保留长达两个小时。请参阅 隐私政策 了解完整的生命周期。

为什么将 Markdown 转换为 PDF?

Markdown 在编写和版本控制方面效率很高。当文档需要稳定的外观和广泛支持的交付格式时,PDF 非常有用。

当您需要满足以下需求时,您可能会想将 Markdown 转换为 PDF:

  • 在版本库外部发送技术文档;
  • 交付固定格式的报告、规格说明书、建议书或操作手册(runbook);
  • 创建可打印的学习笔记或培训材料;
  • 将 README 或变更日志分发给非技术读者;
  • 以基于页面的格式审阅公式和图表;
  • 归档不断变化的文档的特定版本;
  • 共享文档而无需 Markdown 编辑器;
  • 保留可编辑的 Markdown 源并生成单独的交付文件。

在线 Markdown 转 PDF 还是本地转换器?

在线 Markdown 转 PDF 转换器最适合您想要直接上传、托管渲染、预览和下载的工作流,而无需配置本地工具链。

当您需要离线转换、自定义模板、任意 CSS、引文处理、脚本化构建管道或在版本库内进行批量转换时,Pandoc 或编辑器扩展等本地工具可能是更好的选择。

SolConverter 专注于为单个上传的文档提供托管的 Markdown 转 PDF 渲染。目前它不提供完整的 Pandoc 引文支持、任意用户 CSS、自动 PDF 书签、打包的相对资源文件夹或每种图表语言。

常见用例

技术文档

将架构设计笔记、API 说明、操作手册、发布文档、规格说明书和内部指南转换为稳定的 PDF。

数学和科学文档

将支持的 LaTeX、MathML、矩阵、公式、化学表示法和长表达式渲染为 PDF 中基于 SVG 的数学公式。

开发者文档

将代码围栏、行内代码、表格、任务列表、图表和结构化解释整合到一个文档中,以便在版本库之外进行审阅。

多语言报告

创建包含越南语、CJK(中日韩)、阿拉伯语、希伯来语、西里尔字母、希腊字母、印度系文字以及混合自左向右和自右向左内容的 PDF。

笔记、报告和建议书

用 Markdown 编写,然后创建用于打印、审批、共享或归档的固定格式文档。

常见问题解答

如何将 Markdown 转换为 PDF?

上传 .md.txt 文件,让 SolConverter 创建文档,预览结果,然后下载 PDF。

MD 转 PDF 与 Markdown 转 PDF 相同吗?

是的。MD 是 Markdown 的常见缩写,而 .md 是许多 Markdown 文档使用的文件扩展名。

我可以将 README.md 文件转换为 PDF 吗?

可以。README.md 文件是一个 Markdown 文档。将其上传到转换器并检查结果,特别是在 README 包含版本库相对的图像、徽章或嵌入内容时。要进行专门针对 README 的工作流,请使用 README 转 PDF 转换器

SolConverter 支持 LaTeX 公式吗?

SolConverter 支持常见的行内和独立行分隔符、许多 AMS 公式环境、MathJax 包、Presentation MathML、基础 Content MathML、化学式、矩阵和文档范围的宏。支持的数学公式被渲染为 SVG。

SolConverter 支持 Mermaid 吗?

是的。支持的 Mermaid 围栏块在本地被渲染为 SVG。ZenUML 也通过捆绑的 Mermaid 集成得到支持。

如果一个公式或图表无效会发生什么?

转换器会在受影响的块处隔离受支持的错误类型,插入后备,并继续渲染其后的有效内容。局部错误不会自动取消整个文档。

我可以转换包含代码块的 Markdown 吗?

可以。支持围栏代码块和行内代码。被识别的围栏代码块语言将获得语法高亮,而未识别的语言将安全地保留源文本。

转换器支持阿拉伯语、希伯来语、中文、日文、韩文和越南语吗?

渲染器包括这些书写系统的方向检测和字体回退。实际的字符覆盖范围仍然可能取决于部署环境中可用的字体。

我可以使用自定义 CSS 吗?

目前不支持用户提供的任意 CSS。转换器会应用其托管的文档和打印样式。

它会创建目录或 PDF 书签吗?

目前不支持自动生成目录和 PDF 书签。手动编写的 Markdown 目录部分仍可正常显示为文档内容。

它能从我的版本库加载相对图像吗?

目前的上传工作流不会自动打包和解析版本库资源文件夹。请使用公开的 HTTP 或 HTTPS 图像 URL 或受支持的 base64 数据图像。

我可以在此页面上传 DOCX、HTML、PPTX 或 EPUB 吗?

Markdown 转 PDF 工作流目前接受 .md.txt 源文件。当有其他源转换器可用时,请先使用相关的 文件转 Markdown 工具

我上传的文件是永久存储的吗?

不是。未处理的上传文件会在 15 分钟后过期。在转换成功且输出经过验证后,源文件将被删除;失败的输入文件将在原来的 15 分钟窗口内过期。完成的 PDF 可保留长达两个小时。请参阅 隐私政策 了解完整的生命周期。

将您的 Markdown 文件转换为 PDF

上传您的 Markdown 文档,选择 PDF 设置,然后创建支持技术内容的、可下载的 PDF。

转换为 PDF

相关转换工具