5

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

到目前为止我做了什么:

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

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

另外,我正在尝试将 Jupyter notebok 直接转换为 pdf,但遇到问题:Convert jupyter notebook to pdf:安装 pandoc 时遇到错误

4

2 回答 2

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 

我编写了一个脚本来自动化这个过程并将 Ebook 转换为 EPUB、AZW3 和 PDF。您可以在此处阅读更多相关信息:https ://towardsdatascience.com/transform-jupyter-notebook-to-an-ebook-ef3a9​​d32ac4f 。

于 2020-05-19T16:27:48.673 回答
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 中选择 print 并选择save as PDF.

.ipynb我在查看文件时尝试了其他方法,例如打印或使用nbconvert直接转到 PDF,但都没有奏效。导出为 HTML,然后打开 html 并保存为 PDF 确实有效。

于 2017-01-31T23:07:39.060 回答