markdown pdf插件导出简历易排版崩坏,因默认无中文字体fallback、忽略自定义css与front matter;需配置resume.css指定noto sans cjk等字体、调整页边距与链接样式,并确保预览激活后右键导出。

VSCode 本身不支持 Markdown 导出 PDF,Markdown PDF 插件是目前最轻量、最直接可用的方案,但导出简历类文档时,**默认配置几乎必然失败**——字体缺失、中文乱码、页边距过大、代码块溢出,全是因为它默认用系统字体 + 无中文 fallback。
为什么 Markdown PDF 导出的简历总是排版崩坏
该插件底层调用 Chrome 渲染 HTML 再转 PDF,但它的 CSS 渲染链路极简:不加载用户 style 块、忽略 YAML front matter 中的 pdf_options、也不自动注入中文字体声明。常见现象包括:
- 标题和正文显示为方框(缺思源黑体 / Noto Sans CJK 等中文字体)
- 代码块横向滚动条消失,内容被截断
- 页边距默认 2cm,导致一页只塞下半段经历
- 导出后链接无下划线、超链接颜色变灰(Chrome 打印模式默认禁用部分样式)
markdown-pdf.styles 必须指向一个真实存在的 CSS 文件
不能只写路径名,必须确保文件存在且含有效规则。简历导出最关键的三行 CSS 是:
body {
font-family: "Noto Sans CJK SC", "Source Han Sans CN", "Microsoft YaHei", sans-serif;
line-height: 1.6;
margin: 0.8cm;
}
code { font-size: 0.9em; }
a { color: #2563eb !important; text-decoration: underline; }
把这段保存为项目根目录下的 resume.css,然后在 VSCode 设置里配:
"markdown-pdf.styles": ["./resume.css"]
注意:./ 是相对路径前缀,不能省;如果放错位置(比如放在 .vscode/ 子目录),插件会静默忽略,不报错也不生效。
导出前必须手动触发预览,否则右键菜单不出现
这是最容易卡住的一步:VSCode 不会在纯编辑器视图里显示 Export to PDF 右键选项。你得先让 Markdown 被“激活”:
- 打开
resume.md - 按
Ctrl+Shift+V(Windows/Linux)或Cmd+Shift+V(macOS)唤出右侧预览窗 - 此时再右键点击**预览区域**(不是编辑器空白处,也不是文件标签),才能看到
Markdown PDF: Export (pdf)
如果你装了 Markdown Preview Enhanced,它会抢注右键菜单,导致 Markdown PDF 的选项被覆盖——卸载或禁用 MPE 是最快解法。
中文简历必须关掉 markdown-pdf.highlight
插件默认启用 highlight.js 高亮,但它对中文字符宽度计算错误,常把整行代码块撑宽到页面外。尤其当你的简历里有 npm install 或 git commit -m 这类带空格的命令时,高亮引擎会把空格当不可折行字符处理。
关掉方式是在设置里加:
"markdown-pdf.highlight": false
如需保留代码样式,改用纯 CSS 控制:code 和 pre code 单独设 white-space: pre-wrap 和 overflow-x: auto。
真正麻烦的不是导出动作本身,而是每次换一台新电脑都要重配字体路径和 CSS ——建议把 resume.css 和 .vscode/settings.json 一起纳入 Git 仓库,而不是依赖全局设置。











