标签:包含 pac pack 通过 pat remove pretty mic 使用
# coding:utf-8import sysimport osimport reimport shutilnotebook = sys.argv[1]texFile = notebook.replace(‘.ipynb‘,‘.tex‘)# 1.convert .ipynb to latex file .tex# 将ipynb文件转为tex文件print ‘1. convert ‘ + notebook + ‘ to ‘ + texFileprint ‘------ \n‘os.system(r‘jupyter nbconvert --to latex ‘ + notebook)print ‘convert over‘# 2. add Chinese support by adding the string below# 加入引用的包使支持中文(直接转换中文会丢失)# \usepackage{fontspec, xunicode, xltxtra}# \setmainfont{Microsoft YaHei}# \usepackage{ctex}print ‘2. add Chinese support to .tex file‘print ‘------‘file = open(texFile,‘r‘)str_file = file.read()strinfo = re.compile(‘(documentclass[\d\D]+\{article\})‘) #查找的字符line0m=re.findall(strinfo,str_file)if len(m) == 0:print r‘can not find documentclass[**pt]{article}‘sys.exit(1)str_file = strinfo.sub(‘\\1 \n \\usepackage{fontspec, xunicode, xltxtra} \n \\setmainfont{Microsoft YaHei} \r \\usepackage{ctex}‘,str_file) # 替换的字符line1file.close()file = open(texFile,‘w‘)file.write(str_file)file.close()print ‘add Chinese support successed‘# 3. convert .tex to .pdf by xelatex# 使用xelatex命令编译.tex文件得到pdfprint ‘3. convert tex to pdf‘print ‘------‘os.system(‘xelatex ‘ + texFile)print ‘convert pdf successed‘# 4. delete the auxiliary files# 清理生成的中间文件# change there if latex file is neededprint ‘4. delete auxiliary files‘print ‘------‘os.remove(notebook.replace(‘.ipynb‘,‘.aux‘))os.remove(notebook.replace(‘.ipynb‘,‘.log‘))os.remove(notebook.replace(‘.ipynb‘,‘.out‘))# change there if latex file is neededos.remove(notebook.replace(‘.ipynb‘,‘.tex‘))if os.path.isdir(notebook.replace(‘.ipynb‘,‘_files‘)):shutil.rmtree(notebook.replace(‘.ipynb‘,‘_files‘))print ‘delete auxiliary files successed‘
python ipynb2pdf.py yourFilename.ipynb使用pyinstaller打包为exe,作为命令行命令
pyinstaller -F ipynb2pdf.py
生成的exe放入系统path目录的文件夹下即可直接通过命令的形式处理
调用时在.ipynb所在的文件夹下打开命令行,输入命令
ipynb2pdf yourFilename.ipynb
简单python脚本,将jupter notebook的ipynb文件转为pdf(包含中文)
标签:包含 pac pack 通过 pat remove pretty mic 使用
原文地址:http://www.cnblogs.com/fly2wind/p/6294831.html