将 Jupyter Notebook 转换为 PDF

以下是将 Jupyter Notebook (.ipynb) 转换为 PDF 的步骤说明:

方法 1:使用 Jupyter Notebook 自带功能

  1. 确保安装必要工具

    • 需要安装 pandoc(用于文档转换)和 TeX 系统(如 MiKTeX 或 TeX Live)以支持 PDF 转换。

    • 安装 pandoc:

      复制代码
      pip install pandoc
    • 安装 TeX 系统:

  2. 打开 Jupyter Notebook

    • 启动 Jupyter Notebook,打开你想转换的 .ipynb 文件。

    • 确保 Notebook 已保存且内容完整。

  3. 导出为 PDF

    • 在 Jupyter Notebook 界面,点击菜单栏的 File -> Download as -> PDF via LaTeX (.pdf)。

    • Jupyter 会先将 Notebook 转换为 LaTeX 格式,然后通过 pandoc 和 TeX 系统生成 PDF 文件。

    • 下载的 PDF 文件将保存在你的默认下载目录。

  4. 注意事项

    • 如果 Notebook 包含复杂图形或代码输出,确保这些内容在 LaTeX 转换中支持良好。

    • 如果遇到错误(如缺少 LaTeX 包),根据错误提示安装对应包(例如 pip install nbconvert 或更新 pandoc)。

方法 2:使用命令行工具 nbconvert

  1. 安装 nbconvert(通常 Jupyter 已包含,但可确认):

    复制代码
    pip install nbconvert
  2. 运行转换命令

    • 打开终端,导航到你的 .ipynb 文件所在目录。

    • 执行以下命令:

      复制代码
      jupyter nbconvert --to pdf your_notebook.ipynb
    • 这会生成一个与 Notebook 同名的 .pdf 文件(例如 your_notebook.pdf)。

  3. 可选参数

    • 如果需要自定义 LaTeX 模板,可以使用 --template 参数:

      复制代码
      jupyter nbconvert --to pdf --template classic your_notebook.ipynb
    • 如果遇到字体或格式问题,检查是否安装了 TeX 系统。

方法 3:通过 HTML 中间转换

如果直接转换为 PDF 遇到问题,可以先转换为 HTML 再转为 PDF:

  1. 转换为 HTML

    • 在 Jupyter 界面,选择 File -> Download as -> HTML (.html)。

    • 或者使用命令行:

      复制代码
      jupyter nbconvert --to html your_notebook.ipynb
  2. 将 HTML 转换为 PDF

    • 打开 HTML 文件,用浏览器(如 Chrome)的打印功能另存为 PDF:

      • 按 Ctrl+P(或 Command+P),选择"另存为 PDF"。
    • 或者使用第三方工具(如 wkhtmltopdf):

      复制代码
      wkhtmltopdf your_notebook.html your_notebook.pdf

注意事项

  • 依赖完整性:确保 pandoc 和 TeX 系统正确安装,否则可能报错。

  • 中文支持:如果 Notebook 包含中文,需在 LaTeX 模板中添加适当字体支持(如 ctex 包)。示例 LaTeX 模板:

    复制代码
    \documentclass{article}
    \usepackage[UTF8]{ctex}
    \begin{document}
    % Notebook 内容
    \end{document}
  • 复杂 Notebook:对于包含大量图像或交互式内容的 Notebook,建议检查 PDF 输出是否完整,可能需要调整代码或样式。

相关推荐
萌萌站起7 小时前
Vscode 中 python模块的导入问题
ide·vscode·python
王夏奇7 小时前
pycharm中3种不同类型的python文件
ide·python·pycharm
ShawnLiaoking9 小时前
pycharm 上传更新代码
ide·elasticsearch·pycharm
Freak嵌入式12 小时前
MicroPython LVGL基础知识和概念:GUI 的扩展接口
ide·驱动开发·嵌入式·gui·lvgl·micropython·upypi
小贺儿开发15 小时前
Unity3D 心理沙盘互动演示
unity·ai·pdf·人机交互·工具·互动·心理沙盘
无限进步_16 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
ZXF_H16 小时前
VSCode C/C++函数Ctrl+鼠标点击无法跳转的解决方法
c++·ide·vscode
小鱼~~16 小时前
Jupyter Notebook 最常用快捷键
python·jupyter
私人珍藏库18 小时前
[Windows] PDF工具箱 PDF24 Creator 11.30.0
windows·pdf·工具·软件·多功能
这个人懒得名字都没写18 小时前
PyCharm图像查看器插件PixelLens
ide·python·pycharm