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

问题描述 投票:0回答:3

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

到目前为止我所做的:

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

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

另外,我尝试将 Jupyter notebok 直接转换为 pdf,但遇到问题: Convert jupyter Notebook to pdf: Error遇到当安装 pandoc

python html jupyter reveal.js nbconvert
3个回答
2
投票

我发现有几个地方提到在 Markdown 单元格中包含用于分页符的 HTML 代码。我让它工作,但只能通过:

  1. 在 Markdown 单元格中包含用于分页符的 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

我尝试了其他方法,例如查看

.ipynb
文件时打印或使用
nbconvert
直接转到 PDF,但都不起作用。导出为 HTML,然后打开 html 并另存为 PDF 确实有效。


2
投票

我在 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 

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


0
投票

将您自己的模板与 nbconvert 一起使用可能会解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.