将 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 输出是否完整,可能需要调整代码或样式。

相关推荐
测试开发-学习笔记1 天前
Android studio安装
android·ide·android studio
ABAP-張旺1 天前
ABAP:Visual Studio Code官方插件安装教程
ide·vscode·编辑器
Metaphor6921 天前
使用 Python 给 PDF 设置背景色或背景图
数据库·python·pdf
zh路西法1 天前
【绕过 vscode-server】用 SSHFS SFTP 实现本地远程开发
ide·vscode·编辑器
小二·1 天前
AI 代码审查 VSCode 插件实战
ide·人工智能·vscode
Yukinaaaa1 天前
以“轮盘数组”思维彻底搞懂并实现阻塞队列
java·服务器·ide·安全·javaee·阻塞队列·轮盘数组
Tian_Hang1 天前
Linux基础知识(四)
linux·ide·驱动开发·计算机视觉·硬件工程·动画
2601_961845151 天前
新高考一卷真题2025|真题PDF全科整理
线性代数·矩阵·pdf·动态规划·概率论·高考
资深流水灯工程师1 天前
PyCharm 增强插件完整安装与配置指南(PySide6 开发专用)
ide·python·pycharm
闪电悠米1 天前
黑马点评-Redis 消息队列-02_list_pubsub_limits
java·数据库·ide·redis·缓存·list·intellij-idea