nbconvert的离线导出工具。
项目描述
nb_offline_convert - nbconvert
的离线导出工具
正常HTML
导出器为nbconvert
创建的HTML
文件将从CDN获取资源(javascript和css文件),WebPDF
导出器也依赖于HTML
导出器,因此在没有互联网连接的环境中使用nbconvert
生成带有小部件的PDF
文件是不可能的。
此导出器允许nbconvert
通过以下三个步骤将笔记本导出为HTML
和PDF
文件,所有资源均来自本地计算机:
RequireJS
文件内容直接注入到生成的HTML
文件中。ipywidgets
javascript文件(embed-amd.js
)、图标和字体与nb_offline_convert
捆绑。对embed-amd.js
进行了修补,使其从本地路径而不是CDN获取图标和字体。- 小部件的javascript文件配置为从本地笔记本扩展路径获取。
安装
可以从PyPI安装nb_offline_convert
。
pip install nb-offline-convert
用法
- CLI中的用法
# convert to html
jupyter nbconvert --to html-offline notebook-you-want-to-convert.ipynb
# convert to pdf
jupyter nbconvert --to webpdf-offline notebook-you-want-to-convert.ipynb
默认的Mathjax
选项是TeX-AMS_CHTML-full,Safe
,要更改此选项,请将--OfflineHTMLExporter.mathjax_option
传递到命令行。
# Use 'TeX-MML-AM_CHTML,Safe' option
jupyter nbconvert --to html-offline --OfflineHTMLExporter.mathjax_option=TeX-MML-AM_CHTML,Safe notebook-you-want-to-convert.ipynb
- 脚本中的用法
from nb_offline_convert import OfflineHTMLExporter, OfflineWebPDFExporter
# convert to html
html_converter = OfflineHTMLExporter()
content, _ = html_converter.from_filename("notebook-you-want-to-convert.ipynb")
with open("converted_file.html", "w") as f:
f.write(content)
# convert to pdf
pdf_converter = OfflineWebPDFExporter()
content, _ = pdf_converter.from_filename("notebook-you-want-to-convert.ipynb")
with open("converted_file.pdf", "wb") as f:
f.write(content)
将 mathjax_option
参数添加到 OfflineHTMLExporter
或 OfflineWebPDFExporter
的构造函数中,以修改 Mathjax
选项
html_converter = OfflineHTMLExporter(mathjax_option="TeX-AMS_CHTML-full,Safe")
开发
使用以下命令安装 nb_offline_convert
进行开发:
git clone https://github.com/trungleduc/nb_offline_convert.git
cd nb_offline_convert
python -m pip install -e .