2016-09-27 35 views
0

將jupyter筆記本導出爲pdf的最簡單示例我試圖從notebook筆記本單元中使用nbconvert導出jupyter筆記本的pdf副本。我已閱讀documentation,但我無法找到一些基本代碼來實際執行nbconvert命令並導出爲pdf。如何使用nbconvert和PDFExporter()

我能夠得到這麼多,但我希望有人能夠填補最後的空白。

from nbconvert import PDFExporter 
notebook_pdf = PDFExporter() 
notebook_pdf.template_file = '../print_script/pdf_nocode.tplx' 

請注意如何從這裏得到實際得到的PDF格式。

任何幫助,將不勝感激。

+0

請注意,我發現一個簡單的方法來解決這個問題,就是使用命令行magic:'!jupyter nbconvert --to pdf --template pdf_nocode.tplx ../ mgmt_notebook05092016.ipynb'但它似乎仍然很好如何使用nbconvert API執行pdf創建。 – krishnab

回答

3

我不是專家,但設法得到這個工作。關鍵是你需要預處理筆記本,這將允許你使用PDFExporter.from_notebook_node()功能。這會給你你pdf_data中,然後可以寫入文件字節格式:

import nbformat 
from nbconvert.preprocessors import ExecutePreprocessor 
from nbconvert import PDFExporter 

notebook_filename = "notebook.ipynb" 

with open(notebook_filename) as f: 
    nb = nbformat.read(f, as_version=4) 

ep = ExecutePreprocessor(timeout=600, kernel_name='python3') 

ep.preprocess(nb, {'metadata': {'path': 'notebooks/'}}) 

pdf_exporter = PDFExporter() 

pdf_data, resources = pdf_exporter.from_notebook_node(nb) 

with open("notebook.pdf", "wb") as f: 
    f.write(pdf_data) 
    f.close() 

值得一提的是,ExecutePreprocessor需要的資源,快譯通,但我們沒有在這個例子中使用它。

+0

感謝您的提示。我會試試這個。 – krishnab

+0

如果有效,請隨時接受我的回答;) – GMeister

相關問題