将 Jupyter Notebook 转换为 PDF 时如何渲染图像?

Rin*_*one 6 python jupyter-notebook nbconvert

我使用“nbconvert”和“notebook-as-pdf”模块将 Jupyter Notebooks 转换为 PDF 文件,并在命令行中使用以下命令:

jupyter nbconvert --to PDFviaHTML <mynotebook.ipynb>
Run Code Online (Sandbox Code Playgroud)

笔记本中显示的 Markdown 单元格中引用的图像(png 文件)不会在生成的 PDF 文件中呈现。我通过以下方式引用 MD 单元格中的图像:

![sometext](relativepath/filename.png)

或者

<img src="relativepath/filename.png">

作为解决方法,我可以在“下载为...”菜单中将笔记本下载为 HTML。图像在生成的 HTML 文件中正确呈现(假定图像在正确的位置提供,此处为笔记本目录的“relativepath”子文件夹)。

有谁知道可行的解决方案?(我主要尝试使用 PDF via LaTex 转换解决方案,不幸的是在我的 M1 Mac 笔记本电脑上遇到了问题,这就是我首先使用 PDFviaHTML 解决方案的原因)。

Wol*_*ahl 0

jupyter nbconvert --to pdfviahtml notebook.ipynb
Run Code Online (Sandbox Code Playgroud)

对我来说开箱即用

pip install notebook-as-pdf
Run Code Online (Sandbox Code Playgroud)

使用https://pypi.org/project/notebook-as-pdf/

安装使用了 chromium,显然这是一个巧妙的技巧,可以确保将 html 渲染用作 pdf 输入,而不是通过 Latex 进行更复杂的路线。我们的方法是“所见即所得”,这正是我们所需要的,我想这也是您提出问题的动机。

另请参阅关于如何将其合并到 ploomber 管道中的冗长讨论https://github.com/ploomber/ploomber/issues/658以及相应的问题https://github.com/ploomber/ploomber/issues/675

可能只是大写/小写的方式

PDFviaHTML
Run Code Online (Sandbox Code Playgroud)

不起作用或者有类似的明显/简单的问题?

有关我们环境的更多详细信息:

pip install notebook-as-pdf
Run Code Online (Sandbox Code Playgroud)

这些计算机是用于测试的 Mac OS 机器和用于生产的 Ubuntu 20.04 LTS 或 miniconda docker 映像。

  • 但是你如何在降价单元格中引用你的图像?...我怀疑你没有将图像嵌入 MD 单元格中,而是在代码单元格中,我是对的吗?...这工作正常,但不是我需要的。我需要在 MD 单元格中嵌入带有文本的图像 (2认同)