Sublime Text 无法直接导出 PDF,需借助 ExportHtml 插件生成 HTML 后用浏览器打印,或使用 pygmentize 命令行直出 LaTeX/PDF;无真正原生 PDF 导出插件。

Sublime Text 本身不支持直接导出 PDF
Sublime Text 是纯文本编辑器,没有内置 PDF 导出功能。所谓“导出 PDF”,实际是借助外部工具或插件间接实现,本质是把代码转成带样式的 HTML 或 LaTeX,再转 PDF。强行找“一键导出 PDF”按钮只会浪费时间。
用 ExportHtml 插件生成带高亮的 HTML 再转 PDF
这是最常用、可控性最强的路径:先生成美观的 HTML(含行号、主题色、字体),再用浏览器打印为 PDF。
- 安装插件:
Package Control → Install Package → ExportHtml - 设置关键参数(在
Preferences → Package Settings → ExportHtml → Settings):-
"export_to": "clipboard"或"export_to": "file"(推荐先输出到文件) -
"html_style": "inline"(避免 CSS 外链,方便离线查看) -
"include_line_numbers": true(否则 PDF 里没行号)
-
- 执行导出:
Ctrl+Shift+P → ExportHtml: Export,选当前文件或整个项目 - 用 Chrome 打开生成的
.html文件 →Ctrl+P → Save as PDF
注意:ExportHtml 默认用 Sublime 当前配色方案渲染,但部分主题(如 Monokai)在 PDF 里可能发灰——建议临时切到 Default 或 Marxian 主题再导出。
命令行用 pygmentize 直出 PDF 更稳定
适合批量处理、CI 场景或需要精确控制字体/页边距的情况。它绕过 Sublime 渲染逻辑,直接语法高亮 + LaTeX 排版,PDF 质量更高。
- 先装依赖:
pip install Pygments - 基础命令:
pygmentize -f latex -O full,style=vs -o out.pdf input.py - 关键参数说明:
-
-f latex:必须用latex格式才能直出 PDF;html格式不行 -
-O full:生成完整 LaTeX 文档(含导言区),否则编译会报错 -
style=vs:指定类 VS Code 的亮色主题;可选emacs、friendly等
-
- 需本地装 LaTeX 环境(如
texlive-full或MiKTeX),否则pygmentize会卡在编译阶段
常见错误:! Undefined control sequence. \VerbatimFootnotes —— 这是因为缺少 fancyvrb 宏包,不是代码问题,而是 LaTeX 安装不全。
别信“Sublime PDF Export”这类名字带 PDF 的插件
目前(截至 ST4)没有真正意义的原生 PDF 导出插件。所有标榜“Export to PDF”的插件,底层都是调用 ExportHtml + 浏览器打印,或封装 pygmentize。它们只是套壳,还常自带 bug:
- 自动调用系统默认浏览器,但某些浏览器(如旧版 Edge)打印时丢字体
- 硬编码
chromium路径,在 macOS 或 Linux 上容易找不到可执行文件 - 不支持多标签页批量导出,每次只能处理一个文件
真要省事,就老实用 ExportHtml 手动导出 HTML + Chrome 打印;要批量、要稳定,就上 pygmentize 命令行——中间层越多,越容易在字体嵌入、中文断行、页眉页脚这些细节上翻车。











