VSCode 中 Markdown 转 PDF

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

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

引言

在日常写作、技术文档编写或笔记整理中,我们经常需要将 Markdown 文件导出为 PDF 格式。VSCode 凭借丰富的插件生态,成为许多人的首选编辑器。本文将详细介绍如何利用两款核心插件------Markdown Preview Enhanced 和 Markdown 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 Enhanced 的 PDF (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 文档,无论是学习笔记、技术博客备份还是项目交付物,都能轻松应对。

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


🎯 拓展阅读

相关推荐
golang学习记13 小时前
VS Code Agents新特性:标签页式工作区选择器
vscode
老王的笔记v16 小时前
69期 Filee文件格式转换工具 转盘拖拽 图片转PDF和音频转换
pdf·开源软件
指针向南18 小时前
怎么把PDF里的图片提取出来?5种方法和在线工具的坑
图像处理·人工智能·计算机视觉·pdf
橙光成长21 小时前
PDF离线工具箱深度解析:4MB纯前端单文件,40+功能全本地运行,文件绝不上传
前端·pdf·1024程序员节
golang学习记2 天前
VS Code Agents 新快捷键:一键穿梭主编辑器与Agent窗口
vscode·编辑器
易点云徐源2 天前
PDF 默认打开方式刚修好,过一分钟又变成“未知应用”?使用 ProcMon 成功抓出后台程序
windows·pdf
优化控制仿真模型2 天前
【2026.12月英语六级】英语六级历年真题PDF电子版+高频核心词汇1500个
经验分享·pdf
开开心心就好2 天前
发票信息录入太麻烦?离线工具一键转表格
运维·服务器·前端·pdf·ocr·maven·intellij-idea
聚美智数2 天前
文档转换 API‑文档转 PDF‑PDF 转文档‑异步文档处理‑文件格式迁移‑转换结果回调推送 API 接口介绍
android·java·pdf