打印Jupyter笔记本幻灯片的最佳方式?如何分页?

时间:2016-08-10 21:50:14

标签: python html jupyter reveal.js nbconvert

我想打印我的jupyter笔记本并与非程序员同事共享硬拷贝。

到目前为止我做了什么:

我的问题: 如何设置分页符来指定每个pdf页面上的内容?

将幻灯片(html)转换为pdf后,文本和图形不在pdf的预期位置。我希望图表和解释图表的文本在同一页面中。我是否需要在Jupyter笔记本的markdown单元格中放置一些分页符?或者如何在pdf的每个页面上指定内容,而不是让浏览器决定

另外,我试图将Jupyter notebok直接转换为pdf,但遇到问题:Convert jupyter notebook to pdf: Error encounters when install pandoc

2 个答案:

答案 0 :(得分:0)

我找到了几个提到的地方,包括用于降价单元格中的分页符的HTML代码。我让这个工作,但只有:

  1. 在降价格单元格中包含用于分页符的HTML。使用的代码是<p style="page-break-after:always;"></p>
  2. 使用nbconvert将其导出为HTML。为此,命令行将为jupyter nbconvert --to html YourNotebook.ipynb
  3. 然后,我可以使用Chrome打开该静态HTML文件。
  4. 最后,从Chrome中选择打印并选择save as PDF
  5. 在查看.ipynb文件或使用nbconvert直接使用PDF时,我尝试了其他方法,例如打印,但这些方法都没有效果。导出为HTML然后打开html并保存为PDF确实有效。

答案 1 :(得分:0)

我在Jupyter Notebooks中写了一本电子书。我将每一章放在单独的笔记本中。然后,我使用nbconvert将Notebook转换为HTML,然后使用wkhtmltopdf将其转换为PDF。最后一步是将这些PDF与cpdf合并。这是我能够获得PDF分页符的唯一方法。

jupyter nbconvert --to html Chapter1.ipynb
jupyter nbconvert --to html Chapter2.ipynb

wkhtmltopdf --enable-internal-links -L 10mm -R 9.5mm -T 10mm -B 9.5mm Chapter1.html Chapter1.pdf

wkhtmltopdf --enable-internal-links -L 10mm -R 9.5mm -T 10mm -B 9.5mm Chapter2.html Chapter2.pdf

./cpdf Chapter1.pdf Chapter2.pdf -o Ebook.pdf 

我写了一个脚本来自动执行此过程,并将Ebook转换为EPUB,AZW3和PDF。您可以在这里了解更多信息:https://towardsdatascience.com/transform-jupyter-notebook-to-an-ebook-ef3a9d32ac4f