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

事情起因:

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

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

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

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

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

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

基本上会遇到这个报错,但是实际上我们安装了xelatex(TeX),当然安装Tex可以参考我之前的博客教程来:用vscode写latex-1_本地 latex-优快云博客

这一块暂时搁置!!!

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

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

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

pip install soupsieve --force-reinstall

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

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

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

当然实际上转换过程实际上就是执行了一个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一样的报错:

(3)转换为markdown格式:

再使用vscode中的markdown插件export为pdf格式,

但是因为我经常是截图插入图片,然后如果转换为md文件之后,这些图片命名id都会相差不大,结果导致插入的图片经常显示效果一致,但是我目前又没有办法批量转换这些截图的id

——》

所以现在的方案:
就是jupyter的export或者是jupyter的nbconvert命令,首先转换为html格式,再从html转换为pdf格式;

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

——》

实际上nbconvert有很多种转化方式:

html格式显示最美,但是html一般只能浏览器中打印为pdf;

latex、markdown本质类似,但是导出时候有图片id问题,暂时弃用;

pdf直接转换会有问题;

webpdf还可以,比直接网页浏览器打印pdf要好,但是显示效果上是图片之间挤得比较近,结果会导致图片上下文的文本/coda框排版留白很大,而且打印会导致显示不完全,还是老毛病

3,或者走latex那一套

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值