Free MD2PDF
简体中文

Markdown 转 PDF,中文不乱码:在浏览器里完成排版。

内置中文字体,粘贴 Markdown 就能下载中文显示正常的 PDF,不用装字体,也不用配置 pandoc。

源码 · .md 可拖入 .md 文件或图片
校样 A4 · 分页以下载的 PDF 为准 实时
PDF 引擎待命
关于 Free MD2PDF

Markdown 转 PDF 中文乱码

Markdown 转 PDF 时中文变成乱码或方框,几乎都是同一个原因:生成 PDF 时用的字体里没有中文字符。常见的解决办法是给 pandoc 换 XeLaTeX 引擎、加载 ctex 宏包,或者在电脑上安装中文字体再逐项配置,对只想导出一份文档的人来说门槛不低。

本工具把中文字体内置好了:中文使用 Noto Sans SC 排版,它和西文字体 Noto Sans 属于同一家族,中英文混排时风格统一。字体以真实文字嵌入 PDF,可以选中、复制和搜索,并自动子集化以控制文件体积。什么都不用安装,也不用配置,粘贴 Markdown,点「下载 PDF」即可。

生僻字不会变成方框

为了加载快,常用汉字(GB2312 范围内)使用一份较小的字体子集。文档里一旦出现子集之外的字,比如人名里的「堃」「喆」「䶮」,会自动改用完整字体,而不是显示空白方框。只有文档里确实含有中文时才会下载中文字体。

繁体中文同样支持

繁体中文有合适的字体排版,简繁混排的文档也能正常显示。日文、韩文、西里尔字母和越南语同样有各自的字体。

公式、表格、代码一起排好

$…$ 行内公式和 $$…$$ 独立公式会按数学公式排版;表格保留对齐方式;代码块带语法高亮,代码里的中文注释也用中文字体显示。排版由 Typst 完成,它在浏览器里运行,文档不会上传。

常见问题

为什么 Markdown 转 PDF 后中文变成方框或乱码?

因为生成 PDF 所用的字体不含中文字符,缺字的地方只能画成方框,或者显示成乱码。ChatGPT 运行代码生成的 PDF 出现中文乱码也是同一个原因。本工具内置中文字体,不会出现这种情况。

pandoc 怎么设置中文字体?

用 pandoc 的话,需要改用 XeLaTeX 引擎并指定中文字体,例如 pandoc in.md -o out.pdf --pdf-engine=xelatex -V CJKmainfont="Noto Sans CJK SC",前提是电脑上装了 LaTeX 和这款字体。在本工具里这些都不需要:字体已经内置。

需要在电脑上安装中文字体吗?

不需要。字体随页面加载,和你电脑上装了哪些字体无关,所以同一份文档在任何电脑上生成的 PDF 都一样。依赖浏览器打印的工具则会受本机字体影响。

生僻字能显示吗?

能。常用字使用较小的字体子集,遇到子集之外的字(如「堃」「䶮」)会自动加载完整字体,不会显示方框。

支持繁体中文吗?

支持。繁体中文有合适的字体,简繁混排也能正常显示。

Markdown 转 PDF 能显示公式吗?

能。$…$$$…$$ 中的公式会按数学公式排版,\(…\)\[…\] 形式的公式在粘贴时会被转换。

使用场景与教程

ChatGPT 导出 PDF

把 ChatGPT 的回答连同表格、代码和公式保存为 PDF

DeepSeek 导出 PDF

把 DeepSeek 的回答连同公式和表格导出为 PDF

豆包导出 PDF

把豆包的回答转成 PDF,数学公式正常显示

Claude 导出 PDF

把 Claude 的回答和 Markdown Artifact(含 Mermaid 流程图)转成 PDF

Gemini 导出 PDF

把 Google Gemini 的回答保存为排好版的 PDF

Mermaid 导出 PDF

Mermaid 流程图以矢量图嵌入 PDF,文字可选中

README 转 PDF

把 GitHub 的 README.md 转成 PDF,表格、代码和图表都保留