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中的lambda表达式用法详解
Jun 22 Python
Python的string模块中的Template类字符串模板用法
Jun 27 Python
python3 破解 geetest(极验)的滑块验证码功能
Feb 24 Python
Python实现读取Properties配置文件的方法
Mar 29 Python
pycharm 配置远程解释器的方法
Oct 28 Python
pandas通过loc生成新的列方法
Nov 28 Python
使用python来调用CAN通讯的DLL实现方法
Jul 03 Python
pyspark 随机森林的实现
Apr 24 Python
django日志默认打印request请求信息的方法示例
May 17 Python
Python之字典添加元素的几种方法
Sep 30 Python
PyQt5通过信号实现MVC的示例
Feb 06 Python
python小型的音频操作库mp3Play
Apr 24 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
APMServ使用说明
2006/10/23 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
javawscript 三级菜单的实现原理
2009/07/01 Javascript
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
window.location.reload 刷新使用分析(去对话框)
2015/11/11 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
详解微信小程序与内嵌网页交互实现支付功能
2018/10/22 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
Python实现基于HTTP文件传输实例
2014/11/08 Python
用python实现面向对像的ASP程序实例
2014/11/10 Python
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
Python冲顶大会 快来答题!
2018/01/17 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
Python进度条的制作代码实例
2019/08/31 Python
python3 deque 双向队列创建与使用方法分析
2020/03/24 Python
基于python实现查询ip地址来源
2020/06/02 Python
我们是伦敦女孩:WalG
2018/01/08 全球购物
Mybag美国/加拿大:英国奢华包包和名牌手袋网站
2020/02/16 全球购物
如何写一份好的英文求职信
2014/03/19 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
2015年全国助残日活动方案
2015/05/04 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫
如何解决php-fpm启动不了问题
2021/11/17 PHP