2016-09-27 6 views
0

ノートブックセル内からnbconvertを使用してjupyterノートブックのpdfコピーをエクスポートしようとしています。私はdocumentationを読んでいますが、実際にnbconvertコマンドを実行してpdfにエクスポートするための基本コードを見つけることができません。nbconvertとPDFExporter()を使用してjupyterノートブックをpdfにエクスポートする方法の最小例

私はこれまでこれを得ることができましたが、誰かが最終的なギャップを埋めることができることを望んでいました。

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

ここから実際にPDFを作成する方法を確認してください。

ご協力いただければ幸いです。

+0

これを回避する簡単な方法は、コマンドラインの魔法を使っていることに気づいたことに注意してください。 '!jupyter nbconvert --to pdf --template pdf_nocode.tplx ../ mgmt_notebook05092016.ipynb'どのように使用するかは、nbconvert APIからPDF作成を実行します。 – krishnab

答えて

3

私は専門家ではありませんが、この作業を行うことができました。鍵は、あなたがPDFExporter.from_notebook_node()機能を使用できるノートブックを前処理する必要があるということです。それはExecutePreprocessorは、リソースの辞書が必要であることは注目に値します

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() 

が、我々は、この例では、それを使用していない:これは、ファイルに書き込むことができますバイト形式であなたのpdf_dataを与えるだろう。

+0

チップのおかげで。私はこれを試してみる。 – krishnab

+0

それが機能する場合は、私の答えを受け入れること自由に感じる;) – GMeister

関連する問題