当前位置: 首页 > news >正文

将 Jupyter Notebook 转换为 PDF

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

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

  1. 确保安装必要工具

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

    • 安装 pandoc:

      pip install pandoc
    • 安装 TeX 系统:

      • Windows:下载并安装 MiKTeX (https://miktex.org/download)

      • macOS:安装 MacTeX (brew install mactex 或从 https://www.tug.org/mactex/ 下载)

      • Linux:安装 TeX Live (sudo apt-get install texlive-full 或类似命令)

  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
      • 安装 wkhtmltopdf:https://wkhtmltopdf.org/downloads.html

注意事项

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

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

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

http://www.dtcms.com/a/393819.html

相关文章:

  • torchvision 编译安装 nano
  • 华为昇腾 910 到 950 系列 NPU 深度解析
  • 设计模式---门面模式
  • SQL Server从入门到项目实践(超值版)读书笔记 26
  • Datawhale学习笔记——深度语义匹配模型DSSM详解、实战与FAQ
  • 一文了解瑞萨MCU常用的芯片封装类型
  • LeetCode:44.二叉搜索树中第K小的元素
  • 初学者如何系统性地学习Linux?
  • LeetCode:43.验证二叉搜索树
  • [学习log] OT/ICS工业控制系统渗透测试
  • 六边形箱图 (Hexbin Plot):使用 Matplotlib 处理大规模散点数据
  • LinuxC++项目开发日志——基于正倒排索引的boost搜索引擎(2——Parser解析html模块)
  • 电脑能ping开发板,开发板不能ping电脑的解决方法:
  • git 覆盖:检出特定分支的文件到当前分支
  • CentOS 8.5.2.111部署Zabbix6.0
  • 【Elasticsearch面试精讲 Day 20】集群监控与性能评估
  • hive调优系列-3.HQL语法和运行参数层面
  • 计算机网络学习(三、数据链路层)
  • Refresh keys changed: [] 2023.0.3.3 问题排查
  • 高并发内存池(二):三层缓存的整体框架设计
  • Android音视频编解码全流程之Extractor
  • 基于 @antv/x6 实现流程图
  • markdown 绘制流程图
  • Spark专题-第二部分:Spark SQL 入门(5)-算子介绍-Join
  • 平替Jira,推荐一款国产开源免费的项目管理工具-Kanass
  • ssh不用版本管理器为多个服务器添加密钥
  • Windows Docker Desktop 实战:大模型存入 docker-desktop 实例 home 目录并与 Dify 联动运行指南
  • linux驱动开发笔记
  • 阿里云与腾讯云产品操作与体验:云平台运维实战技术解析
  • 深入了解linux网络—— 网络基础