我知道我可以单击File -> Print Preview
,然后让浏览器将结果另存为PDF。但是该PDF将包含很多代码。
我可以从打印预览中隐藏零件,还是可以使用其他工具制作PDF?
理想情况下,会有魔术功能:
%hide
:隐藏单元格及其输出%hide-code
:仅隐藏单元格的代码,但显示代码的输出答案 0 :(得分:2)
在JupyterLab中,您可以单击doc中所示的边栏来隐藏单元格的输入和输出。隐藏后,您可以使用浏览器的打印菜单生成PDF。我已经在FireFox上对其进行了测试,并期望在Chrome或Edge上获得类似的结果。
nbconvert
导出为PDF 如果您希望从ipynb
格式向pdf
进行本机转换,那么不错的旧nbconvert
工具就是您的朋友。它通常与Jupyter一起提供,可以在JupyterLab File->Export Notebook As...->PDF
菜单中或在经典的Jupyter Notebook界面File->Download as->PDF (via LaTeX)
中方便地调用。
如nbextension中所述,可以通过设置单元的元数据hide_input=true
并安装issue #155来实现隐藏单元中的输入/输出。
最后一个问题
我可以从打印预览中隐藏零件,还是可以使用其他工具制作PDF?
经典Jupyter界面中的“打印预览”按钮是调用nbconvert
生成HTML文件并将浏览器重定向到它的快捷方式。因此,可以使用nbconvert
的类似配置来隐藏输入(如上所述(问题#155))。此功能由jupyter_contrib_nbextensions
捆绑包实现,并在doc中进行了解释。
答案 1 :(得分:0)
由于上述答案对我不起作用;我找到了另一个解决方案:
我使用了另外一个软件包notebook-as-pdf
。
阅读tutorial here。它使用Chromium,是迄今为止对我可靠的唯一方法。 “打印预览”仍然不起作用。但它会生成没有代码输入的干净PDF。
我愿意:
pip install -U notebook-as-pdf
pyppeteer-install
jupyter nbconvert --to PDFviaHTML --TemplateExporter.exclude_input=True PATH_TO_YOUR_FILE.ipynb
什么对我不起作用: