Sublime Text 无法直接导出 PDF,必须借助外部工具;推荐用 ExportHtml 插件生成 HTML 后通过浏览器打印为 PDF,确保勾选“背景图形”并关闭页眉页脚;命令行方案可用 pygmentize + prince 实现批量自动化。

Sublime Text 本身不支持直接导出 PDF
它没有内置的「导出为 PDF」菜单项,也不存在 export_pdf 这类命令。所有号称“一键导出 PDF”的方案,本质都是借道外部工具或浏览器渲染——这点必须先认清,否则会反复折腾无效插件。
常见错误现象:Package Control 搜索 “pdf export” 安装插件后,菜单没变化、快捷键无响应、生成的 PDF 没语法高亮或排版错乱。
- 根本原因:Sublime 是纯文本编辑器,不处理页面布局与矢量输出
- 真正能用的路径只有两条:用浏览器打印(推荐)、用命令行工具(如
pygmentize+prince) - 插件如
ExportHtml或SublimePDF实际是生成 HTML 后调用系统默认浏览器打开,再手动打印为 PDF
用浏览器打印实现高亮代码 PDF(最稳方案)
这是目前兼容性最好、效果最可控的方式,依赖 Sublime 自带的「在浏览器中预览」能力 + 浏览器打印功能。
- 确保已安装
ExportHtml插件(通过Package Control: Install Package安装) - 打开要导出的文件,执行
ExportHtml: Export to Browser(可通过 Command Palette 快速调出) - 浏览器自动打开带高亮的 HTML 页面 →
Ctrl+P(Win/Linux)或Cmd+P(Mac)→ 选择「另存为 PDF」 - 关键设置:打印时关闭页眉页脚、勾选「背景图形」(否则高亮色丢失)、缩放建议设为 100% 或「适合」
注意:ExportHtml 默认使用 Sublime 当前配色方案,但部分主题(如 Monokai 的深色变体)在打印时可能反色异常,可临时切到 Default 主题再导出。
命令行方式:pygmentize + prince(适合批量/自动化)
如果你需要导出多个文件、嵌入公司字体、或集成进 CI 流程,命令行更可靠,但需额外安装工具。
- 安装
pygmentize:pip install Pygments - 安装
prince(专业 PDF 渲染引擎,免费版有水印;开源替代可用weasyprint,但 CSS 支持弱) - 导出单文件示例:
pygmentize -f html -O full,style=vs,linenos=1 example.py | prince -o example.pdf -
style=vs是为了匹配 Sublime 默认浅色主题;深色主题建议用style=monokai,但需确认prince是否支持该样式(部分需手动加载 CSS)
性能影响:prince 渲染质量高但启动慢;weasyprint 快但对 background-color 支持不稳定,容易导致高亮块消失。
为什么别碰「截图转 PDF」这类野路子
有人用 Snipaste 截图、拼接、再转 PDF,短期可行,长期踩坑密集:
- 代码换行错位:Sublime 行号栏和内容区宽度不固定,滚动截屏极易漏行或重叠
- 缩放失真:125% 缩放下截图再放大 PDF,文字边缘发虚,评审时被挑刺
- 无法搜索文本:生成的 PDF 是图片,Ctrl+F 找不到变量名
user_id - 暗色模式失效:截图保留当前界面颜色,但打印预览里深底白字常被浏览器强制转成灰底,对比度崩坏
真正麻烦的不是操作步骤,而是后续维护——比如客户要求加页眉、统一字体、插入目录,这些在 HTML/PDF 流水线里改一行配置就行,截图方案只能重来。











