Sublime Text 本身不支持直接导出高亮代码为图片或 PDF,必须依赖 ExportHtml 插件或 pygmentize 命令行工具;ExportHtml 需配置 font_face、antialias、background_opacity 等参数并手动切换语法,pygmentize 则轻量但无法还原 Sublime 特有高亮。

Sublime Text 本身不支持直接导出高亮代码为图片或 PDF,所有“导出”动作都依赖插件桥接或命令行工具完成光栅化/排版;跳过 ExportHtml 或 pygmentize 这两步,结果必然丢色、断行、中文字体失效。
ExportHtml 插件导出 PNG 图片时字体发虚、背景过暗
这是最常被忽略的配置组合问题:ExportHtml 默认用系统默认字体(通常是 Courier New)且未开启抗锯齿,深色主题下背景 opacity 又没调高,导致截图感强、边缘糊、灰蒙蒙。
- 打开
Preferences → Package Settings → ExportHtml → Settings – User,填入最小必要项:{ "export_format": "png", "font_face": "Fira Code", "font_size": 14, "antialias": true, "background_opacity": 0.95, "line_numbers": true } -
font_face必须是已安装的字体家族名(不是文件名),macOS 可用fc-list :family查,Windows 请确认字体册里显示的是 “Fira Code”,而非 “FiraCode-Regular” - 导出前务必点击右下角语法名称(如
Plain Text),手动切为Python或JavaScript;若识别错误,高亮会完全丢失 - 执行命令时选
ExportHtml: Export to Image,别误点Export to HTML—— 后者不生成图
Chrome 打印 HTML 为 PDF 时高亮变灰、中文字体模糊
ExportHtml 导出的 HTML 在 Chrome 中打印成 PDF 是目前最稳路径,但默认设置会关掉背景色、用错缩放、漏中文字体声明,导致“所见≠所得”。
- 导出 HTML 后双击打开 →
Ctrl+P(Win/Linux)或Cmd+P(macOS)→ 务必勾选 Background graphics,否则所有高亮色块全变灰 - 关闭页眉页脚,避免页码/URL 覆盖代码
- 缩放选
100%或Fit,别用Shrink to fit,否则字体糊成一片 - 若中文字体发虚,在导出的 HTML 文件里搜
font-family,改成:font-family: 'Fira Code', 'Microsoft YaHei', monospace; - 深色主题导出后背景太暗?在 ExportHtml 的
Settings – User中加"html_style": "inline_dark"
pygmentize 命令行导出 PDF/PNG 时样式和 Sublime 不一致
pygmentize 不读取 .sublime-color-scheme,它只认 Pygments 内置 style(如 monokai、vs),视觉接近但不等价;适合批量、CI、脚本化场景,不适合追求“和编辑器一模一样”的需求。
- 装 Pygments:
pip install pygments - 导出 HTML(再转 PDF):
pygmentize -f html -O full,style=vs,linenos=inline,font_size=12pt -o out.html main.py;注意full参数必须加,否则 HTML 缺头缺尾,打印出来就是纯文本 - 导出 PNG:
pygmentize -f png -O style=monokai,fontname="Fira Code",fontsize=14,linenos=1,fontscale=1.0 -o output.png input.py;fontscale=1.0和整数fontsize(如 14,非 14.5)能显著减少锯齿 - 导出后颜色不对?别调 Sublime 主题,改
style=后面的值,实测对比vs、monokai、emacs等内置风格
真正难的不是选哪个工具,而是每次导出前都要确认三件事:当前语法是否手动设对、字体是否已安装且名字写准、导出格式对应的操作路径有没有走岔——少一步,高亮就断在半路。


















