我想将我的ipython-notebooks转换为打印它们,或者只是以html格式发送它们。我已经注意到nbconvert已经有一个工具可以做到这一点。尽管我已经下载了它,但是我不知道如何使用nbconvert2.py转换笔记本,因为nbconvert说它已被弃用。nbconvert2.py说我需要一个配置文件来转换笔记本,这是什么?是否存在有关此工具的文档?
Answers:
如果你有乳胶安装,你可以直接从笔记本Jupyter下载PDF文件与文件- >下载为- >通过胶乳(.PDF)PDF。否则,请遵循以下两个步骤。
对于HTML输出,您现在应该使用Jupyter代替IPython并选择File- > Download as- > HTML(.html)或运行以下命令:
jupyter nbconvert --to html notebook.ipynb
这会将Jupyter文档文件notebook.ipynb转换为html输出格式。
Google Colaboratory是Google的免费Jupyter笔记本环境,无需进行设置即可完全在云中运行。如果您使用的是Google Colab,则命令是相同的,但是Google Colab仅允许您下载.ipynb或.py格式。
将html文件notebook.html转换为名为notebook.pdf的pdf文件。在Windows,Mac或Linux中,安装wkhtmltopdf。wkhtmltopdf是一个命令行实用程序,可使用WebKit将html转换为pdf。您可以从链接的网页下载wkhtmltopdf,或者在许多Linux发行版中都可以在其资源库中找到它。
wkhtmltopdf notebook.html notebook.pdf
原始(现在几乎已经过时)的修订版:将IPython笔记本文件转换为html。
ipython nbconvert --to html notebook.ipynb
jupyter
的地方ipython
如jupyter nbconvert --to html notebook.ipynb
从文档:
如果要为其他人提供笔记本的静态HTML或PDF视图,请使用“打印”按钮。这将打开文档的静态视图,您可以使用操作系统的功能将其打印为PDF,或者使用网络浏览器的“保存”选项将其保存为文件(请注意,通常,这会创建一个html文件和一个目录,称为它旁边的notebook_name_files包含所有必要的样式信息,因此,如果您要共享此信息,则必须将目录与主html文件一起发送)。
nbconvrt
所以在此方面我真的不能帮您。希望有人会来...
CTRL
+P
可以在浏览器中使用打印。
nbconvert2尚未完全替换为nbconvert2,您仍然可以根据需要使用它,否则我们将删除可执行文件。只是警告我们不再修正nbconvert1。
以下应该工作:
./nbconvert.py --format=pdf yourfile.ipynb
如果您使用的是最新版本的IPython,请不要使用打印视图,而应使用常规的打印对话框。chrome中的图蜜蜂切割是一个已知问题(Chrome浏览器不支持某些打印CSS),并且在Firefox中效果更好,但并非所有版本都适用。
至于nbconvert2,它仍然需要高度开发和编写文档。
Nbviewer使用nbconvert2,因此它与HTML相当不错。
当前可用配置文件列表:
$ ls -l1 profile|cut -d. -f1
base_html
blogger_html
full_html
latex_base
latex_sphinx_base
latex_sphinx_howto
latex_sphinx_manual
markdown
python
reveal
rst
给您现有的配置文件。(您可以创建自己的文件,请参阅将来的文档,./nbconvert2.py --help-all
应该为您提供一些可以在个人资料中使用的选项。)
然后
$ ./nbconvert2.py [profilename] --no-stdout --write=True <yourfile.ipynb>
只要提取的数字在cwd中,它就应该写入您的(tex)文件。是的,我知道这并不明显,并且可能会更改,因此没有文档。
这样做的原因是nbconvert2主要是一个python库,您可以在其中使用伪代码执行操作:
MyConverter = NBConverter(config=config)
ipynb = read(ipynb_file)
converted_files = MyConverter.convert(ipynb)
for file in converted_files :
write(file)
API稳定后,入口点将在以后出现。
我只是指出@jdfreder(github档案)正在tex / pdf / sphinx导出上工作,并且在撰写本文时是从ipynb文件生成PDF的专家。
[NbconvertApp] Config file for profile './profile/latex_base.nbcv' not found, giving up
而nbconvert并没有直接给我一个pdf文件,而是一个乳胶文件,我必须使用pdflatex处理* .tex文件,但这是一个好的解决方案。
IPython.nbconvert.exporters.latex
,我想知道是否有一种方法可以在没有命令行工具的情况下从中获取PDF输出。另外,使它起作用的依赖性是什么?(pandoc,tetex或其他东西?)而且我认为它不是跨平台的(在Windows上不起作用)。TIA!
同时传递--execute
标志以获取输出
jupyter nbconvert --execute --to html notebook.ipynb
jupyter nbconvert --execute --to pdf notebook.ipynb
最佳实践是将输出保留在笔记本之外以进行版本控制,请参阅:在版本控制下使用IPython笔记本
但是,如果没有通过--execute
,则输出将不会出现在HTML中,另请参见:如何从终端运行.ipynb Jupyter Notebook?
对于不带标题的HTML片段:如何将IPython笔记本导出到HTML以撰写博客文章?
在Jupyter 4.4.0中测试。
对于那些无法在其系统中安装wkhtmltopdf的人,除了在此问题的答案中已经提到的许多方法外,还有另一种方法是简单地从jupyter笔记本中将文件下载为html文件,然后将其上传到HTML到PDF并下载。从那里转换的pdf文件。
在这里,您将IPython笔记本(.ipynb)转换为PDF(.pdf)和HTML(.html)格式。
如果您的文档中包含数学和科学公式,则只有此答案对您有用。即使您没有它们,它也可以正常工作。
GUI方式
然后检查您的下载文件夹中的文件。PS:如果LaTeX在编译PDF时出现任何错误,它将失败。如果发生这种情况,请下载HTML文件,然后使用http://webpagetopdf.com/ 或任何其他类似的服务将HTML转换为PDF。
命令行方式
如果您使用的是鼠尾草云版本,则只需转到左上角,
选择“文件”→“另存为”→通过LaTeX(.pdf)下载Pdf
。
屏幕快照将ipynb转换为pdf
如果由于某种原因它不起作用,则可以尝试另一种方法。
选择文件→打印预览,然后在预览
上单击鼠标右键→打印,然后选择另存为pdf。
我还无法使pdf正常工作。该文档暗示我应该能够使其与乳胶一起使用,因此也许我的乳胶无法正常工作。http://ipython.org/ipython-doc/rel-1.0.0/interactive/nbconvert.html
$ ipython --version
1.1.0
$ ipython nbconvert --to latex --post PDF myfile.ipynb
[NbConvertApp] ...
raise child_exception
OSError: [Errno 2] No such file or directory
$ ipython nbconvert --to pdf myfile.ipynb
[NbConvertApp] CRITICAL | Bad config encountered during initialization:
[NbConvertApp] CRITICAL | The 'export_format' trait of a NbConvertApp instance must be any of ['custom', 'html', 'latex', 'markdown', 'python', 'rst', 'slides'] or None, but a value of u'pdf' was specified.
但是,HTML使用“幻灯片”的效果很好,而且很漂亮!
$ ipython nbconvert --to slides myfile.ipynb
...
[NbConvertApp] Writing 215220 bytes to myfile.slides.html
//更新2014-11-07Fri .: IPython v3语法有所不同,它更简单;
$ ipython nbconvert --to PDF myfile.ipynb
在所有情况下,似乎我都缺少库“ pdflatex”。我正在调查。
您可以先将笔记本转换成HTML,然后再转换成PDF格式:
我执行的步骤如下:操作系统:Ubuntu,Anaconda-Jupyter笔记本,Python 3
启动要以HTML格式保存的jupyter笔记本。首先正确保存笔记本,以使HTML文件具有您的代码/笔记本的最新保存版本。
从笔记本计算机本身运行以下命令:
!jupyter nbconvert --to html your_notebook_name.ipynb
执行后将创建笔记本的HTML版本,并将其保存在当前工作目录中。您会看到一个html文件将被添加到当前目录中,your_notebook_name.html
名称为
(your_notebook_name.ipynb
-> your_notebook_name.html
)。
your_notebook_name.html
文件(单击它)。它将在浏览器的新标签页中打开。请注意,从打印选项中,我们还可以灵活选择笔记本的一部分以pdf格式保存。
我一直在寻找一种将笔记本保存为html的方法,因为每当我尝试在新的Jupyter安装中以html格式下载时,总是会出现500 : Internal Server Error The error was: nbconvert failed: validate() got an unexpected keyword argument 'relax_add_props'
错误。奇怪的是,我发现以html格式下载非常简单:
没有打印预览,没有打印,没有nbconvert。使用Jupyter Version: 1.0.0
。只是一个建议尝试(显然并非所有设置都相同)。
建议的其他方法:
使用“打印,然后选择另存为pdf”。HTML文件中的内容会导致边框丢失,语法突出显示,图的修剪等。
当使用过时的版本时,其他一些库已显示为已损坏。
解决方案:更好,更轻松的选择是使用在线转换器https://www.sejda.com/html-to-pdf,它将* .ipynb的* .html版本转换为* .pdf。
脚步:
文件>下载为> HTML(.html)
将新创建的* .html文件上传到https://www.sejda.com/html-to-pdf,然后选择HTML到PDF选项。
您的pdf文件现在可以下载了。
您现在拥有.ipynb,.html和.pdf文件
我将上面的一些答案合并在嵌入式python中,您可以将其添加到〜/ .bashrc或〜/ .zshrc中,以编译并将许多笔记本转换为单个pdf文件
function convert_notebooks(){
# read anything on this folder that ends on ipynb and run pdf formatting for it
python -c 'import os; [os.system("jupyter nbconvert --to pdf " + f) for f in os.listdir (".") if f.endswith("ipynb")]'
# to convert to pdf u must have installed latex and that means u have pdfjam installed
pdfjam *
}
partizanos的answer的纯Python版本。
import os
[os.system("jupyter nbconvert --to pdf " + f) for f in os.listdir(".") if f.endswith("ipynb")]
--template report
作为额外的选项,采取不同的降价标题在笔记本还编译通过TOC生成的PDF。
python -m pip install Notebook-as-pdf pyppeteer-install
您也可以将其与nbconvert一起使用:
jupyter-nbconvert-通过HTML filename.ipynb转换为PDF
这将创建一个名为filename.pdf的文件。
或pip安装notebook-as-pdf
从笔记本jupyter-nbconvert-toPDFviaHTML创建pdf
您可以使用此简单的在线服务。它同时支持HTML和PDF。