Jupyter Notebook 作为用 Python 进行数据分析的重要工具之一,其最大的特色是可以将代码和结果同步显示在源文件里。

Jupyter Notebook 可以用来 演示,以及输出各种形式的文件,比如 ipynb,html, md, py, pdf 等,本文主要来阐述如何将写好的内容输出为 pdf 格式的文件。

在 Jupyter Notebook 输出 pdf 过程中,相信不少同学因为遇到难以解决的坑而退却,这里给大家分享下我的历程,希望对大家有所帮助。

系统环境:

  • windows 7 / windows 10

  • Anancoda (基于 Python 3.6 版)

我是按照下面的顺序安装的,缺少支持的话,pip install xxxxxx

1. 安装pandoc

https://github.com/jgm/pandoc/releases

2. 安装MiKTex

https://miktex.org/download

3. 中文支持

(1)直接修改tex模版文件。

首先找到 article.tplx 文件,我的 Anaconda 中的路径是 D:\ProgramData\Anaconda3\pkgs\nbconvert-5.3.1-py36h8dc0fde_0\Lib\site-packages\nbconvert\templates\latex\article.tplx

你可以根据自己的安装情况,找到该文件,然后用文本编辑器打开article.tplx ,将 “\documentclass[11pt]{article}” 修改为 “\documentclass{ctexart}”,对比图示如下:

修改前:


修改后:


(2)打开一个含有中文内容的 jupyter notebook 文件 (.ipynb 文件),在浏览器中打开,选择输出为 pdf 文件 (我这里是新建的一个空白的 ipynb 文档),如下:


这里有可能可以正常的输出含有中文的 pdf 文档, 如果已输出,那么恭喜你,已经成功啦。


但我在输出含有中文内容的 pdf 文档过程中,还遇到了一些问题,主要是显示 “XXX.sty” 文件缺失,这时候,需要安装缺失的文件,由于默认安装情况下,经常会失败。

此时,我们需要选择安装源,步骤图示如下:

首先,要通过点击 “Change”来选择


按下面图示选项,点击 “next”


在选择安装源的时候,如果有中国的安装来源,请优先选择国内的,这样安装速度较快,成功率相对高些。 如果没有,可以多尝试几次其他国家和地区的, 比如 日本等地。


选择好后,点击安装即可。


一般情况下,将上述缺失的多个 .sty 文件安装好后,是可以输出 含中文内容的 pdf 文档的。

至此,我们本次的目的已基本完成。

但在后面的使用过程中,我还发现了一个小 bug, 就是: 如果 .ipynb 文件的命名中含有中文,则文件名输出是不含中文的,不知道这个问题有没有同学可以提供下解决方案,欢迎献计献策~

本文参考以下内容:

  • https://www.cnblogs.com/SC-CS/p/Jupyter-PDF_Chinese_Support.html


---------------- End ----------------


点击前往【项目实战】

世界杯系列 | 福布斯系列 | 求职系列


我的知识星球【Python数据之道成长圈】已开通,目前成长圈还有部分免费加入的机会,想加入的同学,请回复数字 “2” 了解详情。


如果您对我的文章感兴趣或者觉得文章内容不错的话,请在阅读后顺便转发到您的圈子里,或者点个赞鼓励我继续前行! 感谢您的陪伴与支持!



©著作权归作者所有:来自51CTO博客作者mb5fe18e7c44408的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. spring boot 上传文件到指定目录
  2. OCP 071中文考试题库-第2题
  3. 创建第一个".py" 和 ".ipynb" 文件
  4. Python办公自动化|批量处理文件,一学就会
  5. JDBC自定义工具类(properties配置文件方式)
  6. Jar 文件(学习 Java 编程语言 037)
  7. 详解 centos7设置nfs文件共享 实操记录
  8. 关于PHP框架中.env文件的加载过程
  9. PHP识别文件伪装(文件上传)

随机推荐

  1. 如何给列表降维?sum()函数的妙用
  2. Python进阶:如何将字符串常量转为变量?
  3. len(x) 击败 x.len(),从内置函数看 Python
  4. sum() 函数性能堪忧,列表降维有何良方?
  5. Linux如何重置root密码-CentOS6,CentOS7,
  6. 遇见一只黑猫,她说程序员都是骗子
  7. 超全的pandas数据分析常用函数总结:上篇
  8. 10 行 Python 代码,批量压缩图片 500 张,简
  9. 聊聊 Python 的内置电池
  10. 一文读懂 Serverless,将配置化思想复用到