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

相关推荐
DevOpenClub42 分钟前
PDF 多格式解析如何避免混用输出:TEXT、HTML、XML 与 TAG 数据契约
xml·前端·数据库·pdf·html
小芒果_011 小时前
从0到1,将pycharm上的项目上传到github
ide·pycharm·github
DevOpenClub2 小时前
网页证据如何长期复核:快照、静态 HTML 与 PDF 归档链路
前端·pdf·html
拆房老料5 小时前
LibreOffice 26.8 发布后,再看 BaseMetas FileView 的 Office 转 PDF 技术路线
pdf·word·开源软件·ppt·格式工厂
开开心心就好5 小时前
手机悬屏翻译工具外语游戏漫画APP全覆盖
android·前端·javascript·python·游戏·pdf·html
redfred6 小时前
Koodo Reader 使用教程:开源电子书阅读器 epub/pdf/mobi/azw3 全格式 多端同步 AI翻译 笔记高亮
人工智能·pdf·开源
Metaphor6926 小时前
如何在 Python 环境中裁剪 PDF 页面
python·pdf
开开心心就好6 小时前
手机精确倒计时工具悬浮窗口秒数实时显示
android·前端·javascript·jupyter·智能手机·pdf·html
sunburn-1 天前
Java堆(Heap)详解与实战教学
java·开发语言·数据结构·ide·算法
jayson.h1 天前
python——pdf编辑
前端·python·pdf