ipython-notebooksを変換して印刷するか、単にhtml形式で送信したいと思います。それを行うためのツール、nbconvertがすでに存在することに気づきました。ダウンロードしましたが、nbconvertが非推奨であると言っているため、nbconvert2.pyを使用してノートブックを変換する方法がわかりません。nbconvert2.pyは、ノートブックを変換するためのプロファイルが必要だと言っていますが、それは何ですか?このツールに関するドキュメントはありますか?
回答:
LaTeXがインストールされている場合は、Jupyterノートブックから[ファイル] -> [名前を付けてダウンロード] -> [ LaTeX経由のPDF(.pdf)]を使用してPDFとして直接ダウンロードできます。それ以外の場合は、次の2つの手順に従ってください。
HTML出力の場合、IPythonの代わりにJupyterを使用し、[ファイル] -> [名前を付けてダウンロード] -> [ HTML(.html)]を選択するか、次のコマンドを実行する必要があります。
jupyter nbconvert --to html notebook.ipynb
これにより、Jupyterドキュメントファイルnotebook.ipynbがhtml出力形式に変換されます。
Google Colaboratoryは、セットアップを必要とせず、完全にクラウドで実行されるGoogleの無料のJupyterノートブック環境です。Google Colabを使用している場合、コマンドは同じですが、GoogleColabでは.ipynbまたは.py形式のみをダウンロードできます。
htmlファイルnotebook.htmlをnotebook.pdfというPDFファイルに変換します。Windows、Mac、またはLinuxでは、wkhtmltopdfをインストールします。wkhtmltopdfは、WebKitを使用してhtmlをpdfに変換するコマンドラインユーティリティです。リンクされたWebページから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に印刷したり、Webブラウザの[保存]オプションを使用してファイルに保存したりできます(通常、これによりhtmlファイルと次のディレクトリの両方が作成されます)その隣にあるnotebook_name_filesには、必要なすべてのスタイル情報が含まれているため、これを共有する場合は、メインのhtmlファイルと一緒にディレクトリを送信する必要があります。
nbconvrt
たことがないので、それについてあなたを本当に助けることはできません。うまくいけば、誰かがやって来るでしょう...
CTRL
+を使用してブラウザで印刷を使用すると機能しますP
。
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は主にPythonライブラリであり、疑似コードで次のことができるためです。
MyConverter = NBConverter(config=config)
ipynb = read(ipynb_file)
converted_files = MyConverter.convert(ipynb)
for file in converted_files :
write(file)
APIが安定すると、エントリポイントは後で来ます。
私はちょうどことを指摘ます@jdfreder(githubのプロファイルは)テックス/ PDF /スフィンクスの輸出に取り組んでこれを書いている時点でipynbファイルからPDFを生成するための専門家です。
[NbconvertApp] Config file for profile './profile/latex_base.nbcv' not found, giving up
。nbconvertは直接pdfファイルを提供しませんが、ラテックスファイルを提供し、*。texファイルをpdflatexで処理する必要があります。良い解決策。
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 JupyterNotebookを実行する方法も参照してください。
ヘッダーのないHTMLフラグメントの場合:ブログ投稿用にIPythonノートブックをHTMLにエクスポートする方法は?
Jupyter4.4.0でテスト済み。
システムにwkhtmltopdfをインストールできない場合、この質問への回答ですでに述べた多くの方法以外のもう1つの方法は、ファイルをjupyterノートブックからhtmlファイルとしてダウンロードし、それをHTMLにPDFにアップロードしてダウンロードすることです。そこから変換されたpdfファイル。
ここでは、IPythonノートブック(.ipynb)がPDF(.pdf)形式とHTML(.html)形式の両方に変換されています。
ドキュメントに数学や科学の公式が含まれている場合は、この回答だけが役に立ちます。あなたがそれらを持っていなくても、それはうまくいきます。
GUIの方法
次に、ダウンロードフォルダでファイルを確認します。PS:PDFのコンパイル中にLaTeXでエラーが発生した場合、失敗します。これが発生した場合は、HTMLファイルをダウンロードしてから、http://webpagetopdf.com/ または他の同様のサービスを使用してHTMLを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形式に変換することでそれを行うことができます。
私が実装した次の手順:OS:Ubuntu、Anaconda-Jupyterノートブック、Python 3
HTML形式で保存するjupyterノートブックを起動します。まず、ノートブックを適切に保存して、HTMLファイルに最新の保存バージョンのコード/ノートブックが含まれるようにします。
ノートブック自体から次のコマンドを実行します。
!jupyter nbconvert --to html your_notebook_name.ipynb
実行後、ノートブックのHTMLバージョンが作成され、現在の作業ディレクトリに保存されます。1つのhtmlファイルがyour_notebook_name.html
名前で現在のディレクトリに追加されるのがわかります
(your_notebook_name.ipynb
-> your_notebook_name.html
)。
your_notebook_name.html
ファイルを開きます(クリックします)。ブラウザの新しいタブで開きます。印刷オプションから、PDF形式で保存するノートブックの一部を選択する柔軟性もあることに注意してください。
その他の推奨されるアプローチ:
[印刷]を使用して、[PDFとして保存]を選択します。HTMLファイルから取得すると、境界線のエッジが失われ、構文が強調表示され、プロットがトリミングされます。
他のいくつかのライブラリは、廃止されたバージョンの使用に関しては壊れていることが示されています。
解決策:より良い、手間のかからないオプションは、*。ipynbの* .htmlバージョンを* .pdfに変換するオンラインコンバーターを使用することです。
手順:
ファイル>ダウンロード> HTML(.html)
新しく作成した* .htmlファイルをここにアップロードし、[HTMLからPDF]オプションを選択します。
これで、PDFファイルをダウンロードする準備が整いました。
これで、.ipynb、.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
。試してみることをお勧めします(明らかに、すべての設定が同じというわけではありません)。
上記のいくつかの回答をインラインPythonで組み合わせて、〜/ .bashrcまたは〜/ .zshrcに追加して、多くのノートブックをコンパイルして1つの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の答えのプレーンなPythonバージョン。
import os
[os.system("jupyter nbconvert --to pdf " + f) for f in os.listdir(".") if f.endswith("ipynb")]
--template report
追加オプションとして使用すると、ノートブックのさまざまなマークダウン見出しを使用して、結果のpdfにToCもコンパイルされます。
python -m pip install Notebook-as-pdf pyppeteer-install
nbconvertで使用することもできます。
jupyter-nbconvert --to PDFviaHTML filename.ipynb
これにより、filename.pdfというファイルが作成されます。
またはpipinstallnotebook-as-pdf
ノートブックjupyter-nbconvert-toPDFviaHTMLからPDFを作成する
あなたは使用することができ、このシンプルなオンラインサービスを。HTMLとPDFの両方をサポートします。
私が考える最も簡単な方法は、「Ctrl + P」>「pdf」として保存です。それでおしまい。