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

如何将Jupyter notebook转换为仅含Markdown单元格与输出的PDF

Jupyter Notebook导出无代码PDF解决方案(适配富文本/表格、可内嵌运行)

报错原因对应修复

你遇到的三个命令报错都是基础调用方式错误,逐个对应修正即可:

  • ipython nbconvert参数不识别:ipython nbconvert是多年前的废弃调用入口,绑定的nbconvert版本极旧,不支持--no-input参数,必须使用jupyter nbconvert作为调用入口。
  • Mac端command not found: nbconvert:命令开头的%、$是终端提示符,不属于命令内容,输入时要删掉;另外如果还是找不到命令,说明你当前使用的Python环境没有安装nbconvert,或者环境路径没有加入系统搜索路径。
  • Python shell中运行报语法错误:jupyter nbconvert系列命令是终端Shell命令,不是Python原生语法,不能直接在Python交互式解释器里运行:在Notebook单元格内运行需要加!前缀调用系统Shell,在终端运行不要先输入python进入Python环境。

前置依赖安装

切换到你日常运行Notebook的Python环境(Mac用终端、Win10用Anaconda Prompt,激活对应虚拟环境),执行安装命令:

pip install nbconvert[webpdf] pandas pyppeteer

不需要安装几个G大小的LaTeX发行版,后续用WebPDF导出引擎可以完全绕开LaTeX的排版兼容问题

最终实现方案(满足所有需求)

之前用LaTeX路径导出出现表格错乱,是因为LaTeX对HTML渲染的Pandas表格、富文本输出、自定义样式兼容性极差,换WebPDF导出路径即可解决:该路径会先把Notebook渲染成和浏览器打开效果完全一致的静态网页,再生成PDF,图表、Pandas HTML样式、Markdown格式可以1:1还原,不会出现排版错位。
要实现「仅显示Markdown内容和运行输出、隐藏所有代码」的效果,直接加--no-input参数即可,不需要自定义复杂模板。
你可以把下面的代码复制到Notebook的最后一个单元格,每次需要导出时先保存Notebook,再运行这个单元格就能直接生成PDF,不需要切换到终端操作:

import os
import subprocess

# 固定写死你的Notebook文件名,避免自动识别出错
NOTEBOOK_PATH = "Deskbook.ipynb"
# 导出命令:用webpdf引擎、隐藏代码、首次运行自动下载Chromium依赖
export_cmd = f"jupyter nbconvert --to webpdf --no-input --allow-chromium-download '{NOTEBOOK_PATH}'"
subprocess.run(export_cmd, shell=True, check=True)

print(f"导出完成,PDF文件保存在当前Notebook同目录下,文件名:{os.path.splitext(NOTEBOOK_PATH)[0]}.pdf")

第一次运行时会自动下载对应系统的Chromium渲染内核,大小约100M,等待1分钟左右即可完成,后续运行不需要重复下载

细节优化

  • 如果导出的宽表出现截断,在Notebook最开头加一个单元格运行以下配置,让Pandas输出自动适配页面宽度:
import pandas as pd
pd.set_option("display.max_colwidth", None)
pd.set_option("display.width", 1200)
  • 如果运行时提示找不到jupyter命令,把命令里的jupyter替换成你环境下jupyter可执行文件的绝对路径即可:Win10默认Anaconda环境路径为C:\Users\你的用户名\anaconda3\Scripts\jupyter.exe,Mac默认Anaconda环境路径为/Users/你的用户名/opt/anaconda3/bin/jupyter。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:19:52