我有一个格式很好的ipython笔记本,配有markdown单元格和诸如此类的东西。我想知道在导出到PDF文件方面我的选择是什么。
到目前为止,我一直打算File > Print View
并使用chrome的“保存到文件”功能将生成的页面打印为PDF。这在技术上有效,但它有一个很大的不便:我的数字,代码和降价单元格经常被分页符拆分。
是否还有其他解决方案可以让我有一个连续的PDF文件?
编辑:我遇到了nbconvert,但是当我一直收到“找不到文件”错误时。有人跟nbconvert有什么运气吗?该文档声称支持导出为PDF,但是当我运行nbconvert.py -f pdf
时,错误消息表明PDF格式实际上不受支持。
答案 0 :(得分:13)
您可以使用ipython执行此操作,例如命令:
ipython nbconvert notebookname.ipynb --to latex --post pdf
将notebookname.ipynb转换为pdf。但是,它确实要求您运行最新版本的texlive(即texlive 2013)以获得支持软件。请注意,Ubuntu 12.04在其存储库中附带了texlive 2009。 2013可以直接从CTAN安装,只需按照these directions。然后你就开始运行了,看起来很棒。
答案 1 :(得分:9)
你不能直接将ipynb转换成pdf,所以错误信息是正确的!
您需要先将其转换为latex:nbconvert.py -f latex your_nb.ipynb
,然后使用pdflatex your_nb.tex
构建pdf文件。
希望它有所帮助。
答案 2 :(得分:3)
如果所有其他方法都失败了,因为tex可能会非常情绪化...安装wkhtmltopdf
\ i然后使用nbconvert创建一个html,然后使用wkhtmltopdf创建pdf。
答案 3 :(得分:1)
如果您经常转换笔记本,here is a script使用wkhtmltopdf将选定的笔记本转换为HTML和PDF。安装wkhtmltopdf后,请将此脚本保存在与笔记本相同的文件夹中,并在需要快速转换笔记本时运行该脚本。