如何从 Jupyter Notebook 制作美观的 PDF?

Mar*_*oma 3 jupyter-notebook

我知道我可以点击File -> Print Preview并让我的浏览器将结果保存为 PDF。但该 PDF 将包含相当多的代码。

我可以在打印预览中隐藏部分内容或使用其他工具制作 PDF 吗?

理想情况下,会有神奇的功能:

  • %hide:隐藏单元格及其输出
  • %hide-code:仅隐藏单元格的代码,但显示代码的输出

gdl*_*lmx 5

在浏览器中打印为 PDF

在 JupyterLab 中,您可以通过单击侧栏来隐藏单元格的输入和输出,如文档中所示。隐藏后,您可以使用浏览器的打印菜单生成PDF。我已经在 FireFox 上进行了测试,预计在 Chrome 或 Edge 上会得到类似的结果。

在此输入图像描述

导出为 PDFnbconvert

ipynb如果您的目标是从格式到 的本机转换pdf,那么这个不错的旧nbconvert工具就是您的朋友。它通常与 Jupyter 一起提供,可以在 JupyterLab 的菜单中File->Export Notebook As...->PDF或在经典的 Jupyter Notebook 界面中方便地调用File->Download as->PDF (via LaTeX)hide_input=true隐藏单元格中的输入/输出可以通过设置单元格的元数据并安装nbextension来实现,如问题 #155中所述。

经典 Jupyter 中的打印预览菜单

最后回答你的问题

我可以在打印预览中隐藏部分内容或使用其他工具制作 PDF 吗?

经典 Jupyter 界面中的“打印预览”按钮是调用nbconvert生成 HTML 文件并将浏览器重定向到该文件的快捷方式。因此,nbconvert可以使用与上面讨论的(在问题#155中)类似的配置来隐藏输入。该功能由bundle实现jupyter_contrib_nbextensions并在文档中进行了解释。