目录

如何将ipynb文件转换为pdf文件

目录

如何将ipynb文件转换为pdf文件

事情起因:

基本我所有的code以及代码注释,以及出图说明都统一放在jupyter notebook中,

代码注释,或者文档说明,实际上就是markdown所做的那一切,都是在markdown中写的;

代码的话,其实就是切换解释器,内核,基本上都在jupyter中;

所以我基本上图文相关的一切,无论是工作还是学习,都是以ipynb格式数据保存的。

1,jupyter notebook自带的export格式转换功能:

https://i-blog.csdnimg.cn/direct/d1c390c96c05483aa133de0efcb47764.png

以上面这篇ipynb格式的jupyter notebook为例,

https://i-blog.csdnimg.cn/direct/f7983b385f8b47b0882250b9a85c84be.png https://i-blog.csdnimg.cn/direct/99e55413b67940f98177156c67c171c1.png https://i-blog.csdnimg.cn/direct/b0f101cecac54a43a48ef7455037dd5d.png

基本上会遇到这个报错,但是实际上我们安装了xelatex(TeX),当然安装Tex可以参考我之前的博客教程来:

这一块暂时搁置!!!

①Tex我是按照官网 安装的,但是安装了之后还是有问题,像上面那样报错,但是实际上Tex已经添加到环境变量中了

②可以按照我上面那篇我之前的博客来处理

③很多python库pip安装的时候看似安装成功,对应的requirements看似already satisfied,但是实际上很多库都是安装失败了,一般都需要再次安装,强制安装,即使用

pip install soupsieve --force-reinstall

当然也有可能是因为其中出现了一些无效字符也就是invalid character

https://i-blog.csdnimg.cn/direct/4440c3adae8a42a7a15181d84f4346ff.png

所以基本上是转pdf的时候会失败;

如果是转html的话:格式上是没问题的

https://i-blog.csdnimg.cn/direct/c9468f41866e4727b6685e9a9fbac8bb.png

当然实际上转换过程实际上就是执行了一个jupyter nbconvert命令

2,使用jupyter nbconvert转换命令

(1)转换为html格式:

jupyter nbconvert /data1/project/ZFP_block/PTM/test1.ipynb --to html

其实本质上就是jupyter自带的export,而且转换也没有问题

(2)转换为pdf格式:

jupyter nbconvert /data1/project/ZFP_block/PTM/test1.ipynb --to pdf

虽然转换过程是没有问题的,但是转换之后的文件是不成功的,也就是有问题的,图片文字之类的都会出现顺序问题、内容缺失问题,

code chunk部分的还好,但是markdown部分的文字或者是图片就很容易丢失。

更遭的就是和1中的export一样的报错:

https://i-blog.csdnimg.cn/direct/5562e8e336d74ead8db735520d5caa53.png

——》

所以现在的方案:

就是jupyter的export或者是jupyter的nbconvert命令,首先转换为html格式,再从html转换为pdf格式;

后者转换有很多方法,建议找到一种损失比最小的方法,如果仅仅只是网页ctrl+p打印的话,格式排版上会有很多问题

3,或者走latex那一套