You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Jupyter Notebook转为保留样式的单页自定义格式PDF?

Jupyter Notebook 转PDF:需求与可行方案探索

现有工具的局限与偏好方案

Jupyter生态提供多种PDF生成方式,但均无法满足需求:要么流程存在bug,要么功能支持不全,要么排版杂乱。

本人偏好pdfviahtml的输出效果,命令如下:

jupyter nbconvert --to pdfviahtml notebook.ipynb

其优势包括:

  • 数学公式排版精准
  • 整体排版美观协调
  • 支持矢量图形(SVG)
  • 代码块样式美观
  • 生成近乎单页的自定义格式PDF,长代码段作为单个块展示,大幅提升可读性

但该方案存在两个问题:

  • Markdown单元格中的外部图片丢失
  • 文档内部链接无法跳转

次优方案是先转为HTML再通过浏览器打印存为PDF:

jupyter nbconvert --to html notebook.ipynb
# + 在浏览器中将HTML另存为PDF

但生成的多页PDF可读性差。

已测试的转换方法

本人已测试以下Jupyter与nbconvert的转换方法:

# 1: --to pdf: 
#   优点:基于LaTeX生成
#   缺点:生成多页PDF,排版杂乱
jupyter nbconvert --to pdf 01-signals-solutions.ipynb

# 2: --to pdfviahtml:
#   优点:代码块美观、公式及整体排版出色,单页自定义格式PDF
#   缺点:Markdown单元格中的外部图片丢失
#   
jupyter nbconvert --to pdfviahtml 01-signals-solutions.ipynb

# 3: --to latex + 单独调用pdflatex或xelatex
#   优点:呈现LaTeX文档样式
#   缺点:效果与方案1类似
jupyter nbconvert --to latex 01-signals-solutions.ipynb

# 4: --to html + 另存为PDF
#   优点:HTML效果出色
#   缺点:存为PDF后特性无法保留

# 5: --to webpdf
#   与方案2类似:--to pdfviahtml
#   优点:输出效果与--to pdfviahtml相近,文档内部链接可跳转
#   缺点:代码生成的图表常被裁剪,Markdown单元格中的外部图片丢失
jupyter nbconvert --to webpdf 01-signals-solutions.ipynb

# 6: --to PDFviaHTML
#   与方案2基本一致
jupyter nbconvert --to PDFviaHTML 01-signals-solutions.ipynb

测试环境:Jupyter 1.0.0、nbconvert 7.16.2,Python 3.10及3.11。

需求与求助

现寻求解决方案:如何将HTML页面转为保留链接、样式的单页自定义格式PDF?优先选择Jupyter直接实现的方案,也可接受浏览器扩展或其他技巧。


内容的提问来源于stack exchange,提问作者normanius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 18:40:53