jupyter导出为pdf记录

备注:

  • 以下所列的解决方法仅仅是解决【jupyter 在导出pdf】过程中的某一个具体问题。
  • 建议阅读完整篇记录后再动手。
  • 持续更新

写在前边

打算将 jupyter 笔记导出为pdf,另存为pdf格式,报错如下,提示要先安装xelatex。

img

官网上查到转换为其他格式需要安装依赖,我以为只装一个xelatex,没想到要装一堆东西。奔着偷懒的原则,网上搜搜看,发现简单粗暴的方法:ctrl + P 直接打印页面为pdf,但是有些输出信息(字体比较小)直接看不清,效果差强人意。

在这里插入图片描述

jupyter输出信息

在这里插入图片描述

打印为pdf效果

方法1[1]

步骤

  1. 安装依赖包:pip install -U notebook-as-pdf
  2. cmd修改chrome: pyppeteer-install

进入jupyter lab,打开笔记本,选择Save And Export notebook As,会出现如下命令,点击【PdfViaHTML】,即可保存为pdf。

在这里插入图片描述

PdfViaHTML

有时会出现【500 interval erroe】只需尝试几次就好,或者直接使用命令行:jupyter-nbconvert --to PDFviaHTML example.ipynb

效果

整个notebook的内容被打印在一个页面上,又长又丑。

在这里插入图片描述

只有一页

方法2[2]

步骤:

安装官网的说明,安装如下所有的依赖:【nbconvert】、【pandoc】、【pyppeteer】、以及【TeX】,前两个安装很简单,直接pip install命令即可,第三安装参考方法1[3],而【TeX】的安装,若是Windows系统,需安装【MikTex】总之,按照官网一步步来就行。

image-20211202131819177

可以直接另存为pdf

效果:

效果不错,但……中文字符没有显示

在这里插入图片描述

方法3

参考网上一篇博文[4]

步骤:

  • 将ipynb编译为tex:jupyter nbconvert --to latex notebook.ipynb

  • 编辑tex文件,在tex文件开头添加如下语句:

  • \usepackage{fontspec, xunicode, xltxtra}
    \setmainfont{Microsoft YaHei}
    \usepackage{ctex}

    在这里插入图片描述

  • 将tex文件转为pdf:xelatex notebook.tex

效果

效果可以接受,但如果每一次导出都重复上述步骤,繁琐不简洁;另外此方法导出的pdf没有书签

在这里插入图片描述

最近更新:2021-12-02

参考:


  1. https://towardsdatascience.com/jupyter-notebook-to-pdf-in-a-few-lines-3c48d68a7a63 ↩︎

  2. https://jupyter-notebook.readthedocs.io/en/stable/ ↩︎

  3. 方法1 ↩︎

  4. https://blog.csdn.net/weixin_43828836/article/details/105549372?utm_source=app&app_version=4.16.0 ↩︎

posted on 2022-12-04 12:28  ShihanW  阅读(147)  评论(0编辑  收藏  举报