我想打印我的 jupyter 笔记本并与非程序员同事分享硬拷贝。
到目前为止我所做的:
我的问题: 如何在pdf的每个页面上添加分页符来指定内容?
将幻灯片(html)转换为 pdf 后,文本和图表不在 pdf 中的预期位置。我希望图表和解释图表的文本位于同一页面中。我是否需要在 Jupyter 笔记本的 Markdown 单元中添加一些分页符?或者如何指定pdf每一页的内容,而不是让浏览器决定
另外,我尝试将 Jupyter notebok 直接转换为 pdf,但遇到问题: Convert jupyter Notebook to pdf: Error遇到当安装 pandoc
我发现有几个地方提到在 Markdown 单元格中包含用于分页符的 HTML 代码。我让它工作,但只能通过:
<p style="page-break-after:always;"></p>
jupyter nbconvert --to html YourNotebook.ipynb
save as PDF
。我尝试了其他方法,例如查看
.ipynb
文件时打印或使用 nbconvert
直接转到 PDF,但都不起作用。导出为 HTML,然后打开 html 并另存为 PDF 确实有效。
我在 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。
将您自己的模板与 nbconvert 一起使用可能会解决问题。