Python批量ipynb文件转(另存为)pdf

遇到的问题:尝试使用jupyter notebook直接下载成pdf,但是缺少相关包,没有成功。试过wxhtmltopdf,问题出在ipynb转html之后,html文件中包含图片,但是转成pdf之后图片就没有了,在网上没有搜到解决办法,之后看到pyhtml2pdf这个方法,于是就写了这个脚本。

优点

  • 区别于直接在浏览器打印成pdf,该方法导出的文件可以复制文字,使用pdf编辑器二次编辑。
  • 查找当前文件夹下的所有ipynb文件,全部转成pdf,不用一个一个点开。

需要使用两个依赖包,在cmd当中直接运行命令,如果没有访问权限可以使用管理员身份运行

pip install glob
pip install pyhtml2pdf

在ipynb文件的当前文件夹下,新建一个ipynb2pdf.py文件,复制以下代码:

import os
from glob import glob
from pyhtml2pdf import converter

path_list = glob(os.path.join(os.getcwd(),'*.ipynb'))
html_list = [i.split('ipynb')[0]+'html' for i in path_list]
pdf_list = [i.split('ipynb')[0]+'pdf' for i in path_list]
for n in range(len(path_list)):
    command0 = 'jupyter nbconvert --to html ' + '\"' + path_list[n]+ '\"'
    os.system(command0)
    converter.convert(source = html_list[n],target=pdf_list[n])
    command1 = 'del '+ '\"'+ html_list[n] + '\"'
    os.system(command1)
    print('已完成{}/{}'.format(n+1,len(path_list)))

在ipynb文件的当前文件夹下打开cmd窗口,运行ipynb2pdf.py

python ipynb2pdf.py

如果不想手动打开cmd敲代码,可使用bat文件 

在ipynb文件的当前文件夹下,新建一个txt文档,将上面运行python文件的命令拷贝进去,然后将文档名改为`ipynb2pdf.bat.`,双击运行bat文件,可直接弹出cmd窗口开始运行python文件,运行结束后窗口会自动关闭。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值