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中使用异常处理来判断运行的操作系统平台方法
Jan 22 Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 Python
浅析python中的分片与截断序列
Aug 09 Python
浅谈numpy库的常用基本操作方法
Jan 09 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
Python 3.8 新功能全解
Jul 25 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
Sep 25 Python
Python ArgumentParse的subparser用法说明
Apr 20 Python
Django bulk_create()、update()与数据库事务的效率对比分析
May 15 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
Python通过递归函数输出嵌套列表元素
Oct 15 Python
Python中的 No Module named ***问题及解决
Jul 23 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
PHP attributes()函数讲解
2019/02/03 PHP
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
jQuery的三种$()
2009/12/30 Javascript
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
基于easyui checkbox 的一些操作处理方法
2017/07/10 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
老生常谈进程线程协程那些事儿
2017/07/24 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
Python装饰器用法与知识点小结
2020/03/09 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
python单例模式的应用场景实例讲解
2021/02/24 Python
英国第一家领先的在线处方眼镜零售商:Glasses Direct
2018/02/23 全球购物
Mio Skincare法国官网:身体紧致及孕期身体护理
2018/04/04 全球购物
Ref与out有什么不同
2012/11/24 面试题
自荐信的格式
2014/03/10 职场文书
旅游管理毕业生自荐信范文
2014/03/19 职场文书
工会主席事迹材料
2014/06/03 职场文书
学校读书活动总结
2014/06/30 职场文书
个人租房协议书范本
2014/09/30 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
2021/06/08 Python