前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Jupyter】ipynb转换成pdf文件

【Jupyter】ipynb转换成pdf文件

作者头像
zstar
发布2022-06-08 14:50:03
发布2022-06-08 14:50:03
2.4K00
代码可运行
举报
文章被收录于专栏:往期博文往期博文
运行总次数:0
代码可运行

前言

Jupyter创建了一种良好的交互方式,即将程序说明和代码放在同一个文档中。但是,如果别人没有jupyter环境,就无法打开ipynb格式的文件,因此有必要把.ipynb的文件转成pdf,以便传阅。我所使用的jupyter开发环境为juypter lab。

导出pdf方式

网上查阅了一些资料,导出pdf文件的方式主要有三种。

1.直接导出

据传,jupyter中可以直接将文件Download as 各种形式。

然而我这里一种方式都没有显示,很奇怪,也找不到原因。

2.直接打印

运用Ctrl+p快捷键将网页文件直接进行打印。 然而我渲染的时候报错。

代码语言:javascript
代码运行次数:0
运行
复制
Jupyter Server requires JavaScript. Please enable it to proceed

大概是需要在Jupyter中安装JavaScript环境,我尝试用npm/cnpm安装,然而报错,暂无法解决。

3.使用nbconvert工具转化

在前两种简单方式尝试无果后,我发现了另一款工具nbconvert。 首先需要在jupyter环境中进行安装。

代码语言:javascript
代码运行次数:0
运行
复制
pip install nbconvert==5.6.1

我安装的是5.6.1这个版本,可以正常运行。

然后就可以直接进行转换

代码语言:javascript
代码运行次数:0
运行
复制
jupyter nbconvert --to pdf   '文件名.ipynb'

然而直接转换成pdf会报错,原因是缺少xlatex环境,还需要安装tex live 为了省事,我没有再进行安装,而是先转换成markdown文件,使用命令

代码语言:javascript
代码运行次数:0
运行
复制
jupyter nbconvert --to markdown '文件名.ipynb'

如果转换成功,你会看到

转换后使用Typora软件打开,再导出成pdf,至此,终于导出完成。

图片不显示问题

如果在编辑jupyter文件时,为了图方便,插入插图时直接用剪切板复制进去,这样会导致输出的markdown文件图片不显示。 因为jupyter导入图片会将图片转换成BASE64编码,这在markdown里面无法正常解析出来。 因此,插入图片时,建议新建一个文件夹,用来单独存放图片,使用markdown语法进行插入。

如果已经插入了图片,转换成BASE64编码,可以用下面的方式进行还原。 首先用记事本打开.ipynb文件,找到下面的attachment,将编码复制。

打开站长工具,将编码还原成图片,再另存为图片即可。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 导出pdf方式
    • 1.直接导出
    • 2.直接打印
    • 3.使用nbconvert工具转化
  • 图片不显示问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档