python把ipynb文件转换成pdf文件过程详解


Posted in Python onJuly 09, 2019

这两天一直在做课件,我个人一直不太喜欢PPT这个东西……能不用就不用,我个人特别崇尚极简风。

谁让我们是程序员呢,所以就爱上了Jupyter写课件,讲道理markdown也是个非常不错的写书格式啊。

安装Jupyter其实非常简单,你会python就应该会用jupyter,起码简单的 pip install jupyter, jupyter notebook 要会对伐~

好那接下来就是使用jupyter了,启动jupyter后,使用浏览器访问相应IP:Port就可以使用了。没错,jupyter就是这么一个可以用网站来写python的地方。

python把ipynb文件转换成pdf文件过程详解

但是发讲义给同学们看,ipynb格式的文件肯定不方便啊,别人还没上课呢,哪知道那么多?再者PDF传阅起来也随时随地能打开啊。所以我就想转换成PDF。

但是打开文件,点击下载,发现出现了Error

python把ipynb文件转换成pdf文件过程详解

python把ipynb文件转换成pdf文件过程详解

然后照着这个Error,就去谷歌了,发现说的最多的就是要装一个latex环境,mac下完整的安装包要将近3个G!我就为了一个PDF还不需要这么大一个包吧?所以寻思其他方法。

虽然jupyter对PDF支持的不是那么的友善,但是对于html是非常棒的,只不过html是一个html嘛(这不是废话)……不过我可以利用html转换到pdf上啊。

后来了解到python有一个包叫 pdfkit,专门用来转换pdf文件。那我现在只需要在mac上得到pdfkit的支持就好啦?所以接下来就是尝试的过程了。

安装pdfkit,pip install pdfkit

在这里下载对应系统的安装包http://wkhtmltopdf.org/ ,这个只有48MB。

最后就是为什么说python是「多膜优秀」的原因了!直接看代码

python把ipynb文件转换成pdf文件过程详解

操作起来也很简单:

python把ipynb文件转换成pdf文件过程详解

至此,ipynb文件已成功转换成pdf文件,并且颜色、格式全都保留!

Python 相关文章推荐
Python实现把xml或xsl转换为html格式
Apr 08 Python
python使用reportlab实现图片转换成pdf的方法
May 22 Python
日常整理python执行系统命令的常见方法(全)
Oct 22 Python
tensorflow TFRecords文件的生成和读取的方法
Feb 06 Python
pandas or sql计算前后两行数据间的增值方法
Apr 20 Python
利用pyinstaller将py文件打包为exe的方法
May 14 Python
Python2实现的图片文本识别功能详解
Jul 11 Python
Python 面向对象之封装、继承、多态操作实例分析
Nov 21 Python
TensorBoard 计算图的查看方式
Feb 15 Python
python实现将range()函数生成的数字存储在一个列表中
Apr 02 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Apr 08 Python
python绘制简单直方图(质量分布图)的方法
Apr 21 Python
深入了解Python枚举类型的相关知识
Jul 09 #Python
Python 的AES加密与解密实现
Jul 09 #Python
python+numpy按行求一个二维数组的最大值方法
Jul 09 #Python
使用Python轻松完成垃圾分类(基于图像识别)
Jul 09 #Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 #Python
python求最大值,不使用内置函数的实现方法
Jul 09 #Python
pandas的连接函数concat()函数的具体使用方法
Jul 09 #Python
You might like
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
JavaScript中的bold()方法使用详解
2015/06/08 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
详解vue中引入stylus及报错解决方法
2017/09/22 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
vue多次循环操作示例
2019/02/08 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
用python登录Dr.com思路以及代码分享
2014/06/25 Python
利用Python的Twisted框架实现webshell密码扫描器的教程
2015/04/16 Python
Python入门学习之字符串与比较运算符
2015/10/12 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
Python帮你识破双11的套路
2019/11/11 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
迪卡侬(Decathlon)加拿大官网:源自法国的运动专业超市
2020/11/22 全球购物
有针对性的求职自荐信
2013/11/14 职场文书
市场开发与营销专业求职信
2013/12/31 职场文书
生日庆典策划方案
2014/06/02 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android