sublime text 无法原生自动导出 pdf,所有可行方案均依赖外部工具链;最稳定的是exporthtml生成html后用chrome打印,其次为markdownpreview配pandoc+latex构建系统,或pygmentize配合prince/wkhtmltopdf命令行批量处理。

ExportHtml 插件:生成 HTML 后必须手动打印
这是目前最稳、兼容性最好的路径,但它不提供“自动导出 PDF”功能——只生成带内联样式的 export.html,后续步骤全靠你操作。
- 安装后执行
ExportHtml: Export to HTML (with CSS),关键勾选:full_page(必须)、Use current color scheme(推荐)、Include line numbers(按需) - 生成的 HTML 默认用系统默认浏览器打开;但 Safari / Edge 对
@media print支持差,务必用 Chrome 打开再按Ctrl+P(Win/Linux)或Cmd+P(macOS) - 打印设置里必须:关闭页眉页脚、勾选 Background graphics、缩放选
100%或Fit(后者慎用,可能模糊小字号) - 常见翻车点:
color_scheme填了错误路径(如写成Monokai.tmTheme而当前是.sublime-color-scheme格式),导致高亮全灰
MarkdownPreview + build system:适合 Markdown 转 PDF
MarkdownPreview 插件本身不直接导 PDF,它的 Export to PDF 菜单项灰色,是因为底层依赖未就位。真要一键触发,得配自定义 .sublime-build。
- 先确认终端能运行:
pandoc --version和lualatex --version;macOS 上brew install pandoc后路径常为/opt/homebrew/bin/pandoc,必须显式写进path - 新建构建系统
Markdown2PDF.sublime-build,核心字段:{ "cmd": ["pandoc", "-s", "--pdf-engine=lualatex", "-V", "mainfont=Noto Sans CJK SC", "-o", "$file_base_name.pdf", "$file"], "selector": "source.gfm", "path": "/opt/homebrew/bin:/usr/local/bin" } -
selector必须是source.gfm,否则.md文件里按Ctrl+B不触发 - 中文乱码?90% 是没指定
mainfont;Windows 可换为SimSun或Microsoft YaHei
pygmentize + 命令行:适合批量、CI 或脚本化
绕过 Sublime GUI,用 pygmentize 直接渲染源码为 HTML,再交给 prince 或 wkhtmltopdf 转 PDF。它不依赖编辑器状态,但也不继承 Sublime 的自定义着色规则。
- 安装:
pip install Pygments;prince(高质量,免费版带水印)或wkhtmltopdf(轻量,macOS 用brew install wkhtmltopdf) - 单文件示例:
pygmentize -f html -O full,style=vs,linenos=1 example.py | prince -o example.pdf -
style=vs接近 Sublime 默认浅色主题;深色主题可试monokai,但prince需确认是否内置该 style - 长代码溢出?加 CSS:
pre { white-space: pre-wrap; },或用--wrap-simple参数(pygmentize0.20+ 支持)
别碰的“自动导出 PDF”插件
像 SublimePrintToPDF、ExportPdf、MarkdownPDF 这类名字带“PDF”的插件,2026 年基本已不可用:
-
MarkdownPDF硬编码调用已淘汰的phantomjs,Sublime Text 4 下完全不响应 -
ExportPdf报错Command not found: wkhtmltopdf是常态,它不会提示你缺依赖,只会静默失败 - 所有宣称“一键导出”的方案,只要没让你装
pygmentize、pandoc或wkhtmltopdf,大概率是包装了不可靠的 Electron 渲染或过时的 WebKit 调用 - 截图类插件(如
CodeSnap)只输出 PNG,不是 PDF,也不支持分页或嵌入文档











