VSCode 中 Markdown 转 PDF

VSCode 中 Markdown 转 PDF 完全指南(含 Prince XML 丢失修复)

优雅地生成带书签的 PDF 文档,告别排版烦恼

引言

在日常写作、技术文档编写或笔记整理中,我们经常需要将 Markdown 文件导出为 PDF 格式。VSCode 凭借丰富的插件生态,成为许多人的首选编辑器。本文将详细介绍如何利用两款核心插件------Markdown Preview EnhancedMarkdown PDF ,实现高质量的 PDF 导出,并重点解决一个常见但令人头疼的问题:Prince XML 丢失导致导出失败

读完本文,您将能够:

  • 一键生成带书签(目录层级)的 PDF
  • 修复 prince 引擎缺失的错误
  • 掌握两种 PDF 导出方式(Prince 与 Chrome)

必备插件

首先,在 VSCode 扩展商店中安装以下两款插件:

插件名称 作用
Markdown Preview Enhanced 提供强大的预览功能,支持多种导出格式(PDF、HTML、PNG 等),并支持 Prince 引擎生成带书签的 PDF
Markdown PDF 轻量级插件,基于 Chromium 内核直接转换,适合无特殊书签需求的快速导出

安装完成后,您会在 .md 文件右键菜单中看到 Markdown Preview Enhanced: Open Preview to the Side 以及 Markdown PDF: Export (pdf) 等选项。


常见问题:Prince XML 丢失

当您使用 Markdown Preview EnhancedPDF (Prince) 导出功能时,可能会遇到如下错误提示:

复制代码
prince: command not found

复制代码
Failed to export PDF. Please install PrinceXML.

这是因为 MPE 插件依赖 Prince 引擎来生成带书签的 PDF,而该引擎并未随插件自动安装,需要您手动下载并配置环境变量。


修复步骤(详细图解)

第 1 步:下载 Prince

前往 Prince 官网下载对应操作系统的安装包:

💡 Windows 用户建议下载 .msi 安装包,一路默认安装即可。

第 2 步:配置环境变量(Windows 示例)

安装完成后,需要将 Prince 的 bin 目录添加到系统 Path 中,以便 VSCode 能够调用 prince 命令。

  1. 打开环境变量设置

    • 右键点击"此电脑" → 属性 → 高级系统设置 → 高级 → 环境变量
  2. 编辑系统变量 Path

    • 在"系统变量"区域找到 Path,双击打开编辑窗口
  3. 新增 Prince 路径

    • 点击"新建",输入 Prince 的 bin 文件夹路径
    • 默认路径C:\Program Files (x86)\Prince\engine\bin
    • 如果安装时修改了路径,请替换为您的实际路径
  4. 确认保存

    • 依次点击"确定"关闭所有窗口

🍎 macOS / Linux 用户请编辑 ~/.bash_profile~/.zshrc,添加:

bash 复制代码
export PATH="/usr/local/prince/bin:$PATH"

第 3 步:验证环境变量

打开一个新的终端(CMD 或 PowerShell),输入:

bash 复制代码
prince --version

如果正确显示版本号,说明环境变量配置成功。

第 4 步:重启 VSCode

务必完全关闭并重新启动 VSCode,否则环境变量不会生效。


使用方法

方法一:Markdown Preview Enhanced(推荐,带书签)

  1. 在 VSCode 中打开您的 .md 文件

  2. 右键 → 选择 "Markdown Preview Enhanced: Open Preview to the Side" (或使用快捷键 Ctrl+K V

  3. 在右侧预览窗口内 右键单击 → 选择 "Export""PDF (Prince)"

  1. 等待几秒钟,PDF 文件将自动保存在当前 Markdown 文件同目录下

优点 :生成的 PDF 会自动包含章节目录书签,方便读者导航,适合长文档(如论文、手册)。

方法二:Markdown PDF(快速无书签)

  1. 打开 .md 文件
  2. 右键 → 选择 "Markdown PDF: Export (pdf)"
  3. 同样会在同目录生成 PDF 文件

优点 :无需额外配置,基于 Chrome 渲染,样式与预览基本一致

缺点:无书签,且对某些自定义 CSS 支持不如 MPE 灵活


常见问题与技巧

问题 解决方案
导出 PDF 中文乱码 在 Markdown 文件头添加 --- 元数据,指定字体: pdf_options: { "font": "Microsoft YaHei" }
想要调整页面边距/尺寸 在 MPE 的预览界面右键 → "打开配置文件" → 修改 pdf 相关参数
Prince 导出速度慢 首次导出会下载额外字体,后续会变快;若仍慢,可改用 Chrome 方式
环境变量配置后仍无效 检查是否将路径添加到了"用户变量"而非"系统变量";重启 VSCode 必做

总结

通过本文的配置,您已经彻底解决了 Prince XML 丢失的问题,并掌握了两种 PDF 导出方式:

  • MPE + Prince:适合需要书签和专业排版的场景
  • Markdown PDF:适合快速轻量的转换

从此,您可以在 VSCode 中顺畅地将 Markdown 转换为精美的 PDF 文档,无论是学习笔记、技术博客备份还是项目交付物,都能轻松应对。

如果您在操作过程中遇到任何其他问题,欢迎在评论区留言交流!


🎯 拓展阅读

相关推荐
友人.2272 小时前
补充章节:VSCode Wokwi 无法可视化连线?在线 Wokwi 网页拖拽绘图方案
ide·vscode·编辑器
鲲穹AI超级员工5 小时前
覆盖文档修改批注的电脑端 PDF 编辑工具功能与局限完整记录清单
pdf·文本编辑工具
赵庆明老师14 小时前
Vben精讲:04-了解VSCode中的Git
ide·git·vscode
脑子运行超载1 天前
Java动态生成PDF文件
java·pdf·状态模式·文件上传下载
uuai1 天前
vue导出pdf
前端·vue.js·pdf
Sour1 天前
产品说明书翻译成英文怎么保留排版?PDF、Word、外贸资料处理清单
pdf·word
fenghx2581 天前
仅用于个人记录:火狐有网,Vscode的codex连不上
vscode·编辑器
00后程序员张1 天前
iOS 打包方式汇总 从 Xcode Archive 到轻量级工具链的 IPA 构建
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程