web-dev-qa-db-ja.com

IPythonノートブックをPDFおよびHTMLに変換する方法は?

Ipython-notebooksを変換して印刷するか、単に他のHTML形式で送信したいのです。 nbconvert を行うためのツールが既に存在することに気づきました。私はそれをダウンロードしましたが、nbconvertが非推奨であると言っているので、nbconvert2.pyでノートブックを変換する方法がわかりません。 nbconvert2.pyは、ノートブックを変換するためにプロファイルが必要だと言っていますが、それは何ですか?このツールに関するドキュメントはありますか?

44
nunzio13n
  1. IPythonノートブックファイルをhtmlに変換します。

    ipython nbconvert --to html notebook.ipynb  
    

    これにより、IPythonドキュメントファイルnotebook.ipynbがhtml出力形式に変換されます。

    更新:HTML出力の場合、ipythonの代わりにjupyterを使用する必要があります。

    jupyter nbconvert --to html notebook.ipynb
    
  2. Htmlファイルnotebook.htmlをnotebook.pdfと呼ばれるpdfファイルに変換します。 Windows、Mac、またはLinuxでは、 wkhtmltopdf をインストールします。 wkhtmltopdfは、WebKitを使用してhtmlをpdfに変換するコマンドラインユーティリティです。リンクされたWebページからwkhtmltopdfをダウンロードできます。または、多くのLinuxディストリビューションでリポジトリにあります。

    wkhtmltopdf notebook.html notebook.pdf   
    
46
karel

nbconvertはまだ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は主にpythonlibraryであり、擬似コードでは次のことができるからです。

 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を生成するエキスパートであることを指摘しておきます書き込み。

11
Matt

docs から:

他の人にノートブックの静的HTMLまたはPDFビューを提供する場合は、[印刷]ボタンを使用します。これにより、ドキュメントの静的ビューが開き、オペレーティングシステムの機能を使用してPDFに印刷したり、Webブラウザーの[保存]オプションを使用してファイルに保存したりできます(通常、 htmlファイルと、その隣にあるnotebook_name_filesというディレクトリには、必要なすべてのスタイル情報が含まれているため、これを共有する場合は、メインのhtmlファイルとともにディレクトリを送信する必要があります。

8
root

--executeフラグも渡して出力を取得します

jupyter nbconvert --execute --to html notebook.ipynb
jupyter nbconvert --execute --to pdf notebook.ipynb

ベストプラクティスは、バージョン管理のためにノートブックから出力を保持することです。 バージョン管理下でのIPythonノートブックの使用

ただし、--executeを渡さない場合、出力はHTMLに存在しません。以下も参照してください。 ターミナルから.ipynb Jupyterノートブックを実行する方法?

ヘッダーのないHTMLフラグメントの場合: ブログ投稿用にIPythonノートブックをHTMLにエクスポートする方法

Jupyter 4.4.0でテスト済み。

  1. 名前を付けて保存HTML;
  2. Ctrl + P ;
  3. PDFとして保存します。
2
user9522821

Web上にあるノートブックをPDFに変換する最も簡単な方法は、最初にWebサービス上で表示することです nbviewer 。その後、pdfファイルに印刷できます。ノートブックがローカルドライブにある場合は、まずそれをgithubリポジトリにアップロードし、nbviewerのURLを使用します。

1
hlkw

まだ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」が欠落しているようです。私はそれを調査しています。

1
AnneTheAgile

ベストでシンプルな方法

押すだけ

MacのCommand + P

WindowsでCtrl + P

[印刷]メニューが開き、[pdfとして保存]を選択して[保存]を押します。

0
Lakshay

最初にノートブックをHTMLに変換してからPDF形式に変換することにより、それを実行できます。

私が実装した以下のステップ:OS:Ubuntu、Anaconda-Jupyterノートブック、Python 3

1ノートブックをHTML形式で保存します。

  1. HTML形式で保存するjupyterノートブックを起動します。最初にノートブックを適切に保存して、HTMLファイルにコード/ノートブックの最新の保存バージョンが含まれるようにします。
  2. ノートブック自体から次のコマンドを実行します。

    !jupyter nbconvert --to html your_notebook_name.ipynb

実行後、ノートブックのHTMLバージョンが作成され、現在の作業ディレクトリに保存されます。 your_notebook_name.htmlの名前で1つのhtmlファイルが現在のディレクトリに追加されます。

your_notebook_name.ipynb-> your_notebook_name.html)。

2 HTMLをPDFとして保存:

  1. 次に、そのyour_notebook_name.htmlファイルを開きます(クリックします)。ブラウザの新しいタブで開きます。
  2. 次に、印刷オプションに移動します。ここから、このファイルをPDFファイル形式で保存できます。

印刷オプションからは、ノートブックの一部を選択してpdf形式で保存する柔軟性もあります。

0
Yogesh

新しいJupyterインストールでhtmlとしてダウンロードしようとすると常に500 : Internal Server Error The error was: nbconvert failed: validate() got an unexpected keyword argument 'relax_add_props'エラーが発生するため、ノートブックをhtmlとして保存する方法を探しています。奇妙なことに、htmlとしてのダウンロードは次のように簡単であることがわかりました。

  1. ノートブック内で左クリック
  2. プルダウンメニューで[名前を付けて保存...]をクリックします
  3. それに応じて保存

印刷プレビュー、印刷、nbconvertはありません。 Jupyter Version: 1.0.0を使用します。試してみることをお勧めします(明らかにすべてのセットアップが同じというわけではありません)。

0
ralston3

sagemath クラウドバージョンを使用している場合は、左隅に移動するだけで、
ファイルを選択->としてダウンロード-> LaTeX経由のPDF(.pdf)
必要に応じてスクリーンショットを確認してください。
ipynbからPDFへのスクリーンショット変換

何らかの理由で機能しない場合は、別の方法を試してください。
[ファイル]-> [印刷プレビュー]を選択し、プレビューで
右クリック-> [印刷]を選択し、[pdfとして保存]を選択します。

0
Lefteris Xris

上記のいくつかの回答をインライン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 * 
}
0
partizanos

その他の推奨されるアプローチ:

  1. [印刷]を使用して、[pdfとして保存]を選択します。 HTMLファイルから、lossの境界線のエッジ、構文の強調表示、プロットのトリミングなどが行われます。

  2. 旧バージョンの使用に関しては、他のライブラリの一部が破損していることが示されています。

解決策:より良い、手間のかからないオプションは、オンラインコンバーターを使用することです https://www.sejda.com/html-to -pdf * .ipynbの* .htmlバージョンを* .pdfに変換します。

手順:

  1. まず、Jupyterノートブックインターフェイスから、*。ipynbを* .htmlに変換します。

ファイル>ダウンロード形式> HTML(.html)

  1. 新しく作成した* .htmlファイルを https://www.sejda.com/html-to-pdf にアップロードし、オプションHTML to PDFを選択します。

  2. これで、pdfファイルをダウンロードする準備ができました。

  3. これで、.ipynb、.html、および.pdfファイルが作成されました。

0
Saurabh Jain