だから、私はjupyterノートブックをPDFとして保存しようとしてきましたが、これを行う方法がわかりません。私が最初に試みることは、ファイルメニューからPDFとしてダウンロードするだけですが、それを行うと:
nbconvert failed: PDF creating failed
私が次に試みることは、このようなコマンドプロンプトからの変換を試みることです
$ ipython nbconvert --to latex --post PDF MyNotebook.ipynb
しかし、これもエラーメッセージになります
ImportError: No module named 'PDF'
そして私が試してみると
$ ipython nbconvert --to latex MyNotebook.ipynb
これにより
IPython.nbconvert.utils.pandoc.PandocMissing: Pandoc wasn't found:
Please check that pandoc is installed
pandoc(pip install pandoc
)をインストールしようとすると、
ImportError: No module named 'ConfigParser'
そして、他に何をすべきかわからないので、ここで行き詰まります。誰でも間違っているものを修正する方法を知っていますか?
MacでHomebrewをインストールしている場合は、ターミナルシェルを開き、次のコマンドを入力してpandocをインストールします。
brew install pandoc
遅いインターネット接続や古いシステムでは、インストールとコンパイルに時間がかかる場合があります。
それを機能させるために、latex、典型的なlatex extra、およびpandocをインストールしました。
Ubuntuの場合:
Sudo apt-get install texlive texlive-latex-extra pandoc
ダウンロードには数百Mbかかります。 texliveに--no-install-recommends
を使用し、dlに減らすためにextraを使用できることをどこかで読みました。
2015-4-22:IPythonの更新は、--to pdf
の代わりに--to latex --post PDF
を使用する必要があるようです。関連する Githubの問題 があります。
ノートブックをPDFに変換するには、最初にnbconvertをインストールする必要があります。
pip install nbconvert
# OR
conda install nbconvert
次に、Anacondaを使用していないか、まだ行っていない場合は、 their website の指示に従うか、Linuxでは次のようにpandocをインストールする必要があります。
Sudo apt-get install pandoc
その後、マシンにXeTexをインストールする必要があります。
IPython Notebookが格納されているフォルダーに移動して、次のコマンドを実行できます。
jupyter nbconvert --to pdf MyNotebook.ipynb
詳細については、 このリンク をご覧ください。
質問へのコメントにあるように、pandocとlatex(TeXShopなど)が必要になります。 Homebrewでpandocをインストールしましたが、1秒かかりました。 pandocとTeXShopがあれば、ラテックスを生成できましたが、pdfを生成できませんでした(コマンドラインで)。
ipython nbconvert --to latex mynotebook.ipynb
TeXShopでラテックス(.tex)ファイルを調べると、スタイルシートと定義が欠落していることが原因でした。これらすべて(adjustbox.sty、adjcalc.sty、trimclip.sty、collectbox.sty、tc-pgf.def、ucs.sty、uni-global.def、utf8x.def、ucsencs.def)をインストールした後、ようやく作業。
しかし、結果は私の好みには少しファンキーすぎます。 Safariからhtmlを印刷すると構文の色付けが失われるのは残念です。そうでなければ、それはそれほど悪く見えません。 (これはすべてOS X上にあります)。
OSでAnaconda-Jupyterノートブックを使用しています:Pythonプログラミング用のUbuntu 16.0。
ターミナルを開き、次のコマンドを実装します。
$conda install nbconvert
または
$pip install nbconvert
ただし、anacondaを使用している場合は、pipではなくcondaを使用することをお勧めします
$Sudo apt-get install pandoc
$Sudo apt-get install texlive-xetex
これらのコマンドの実行後、開いたノートブックを閉じてホームページを更新するか、開いたノートブックのカーネルを再起動します。今、PDFとしてノートブックをダウンロードしてみてください:)
注:詳細については、公式ドキュメントを参照してください。
https://nbconvert.readthedocs.io/en/latest/install.html
sagemath クラウドバージョンを使用している場合は、左隅に移動するだけで、
ファイルを選択->ダウンロード形式-> LaTeX経由のPDF(.pdf)
必要に応じてスクリーンショットを確認してください。
何らかの理由で機能しない場合は、別の方法を試してください。
[ファイル]-> [印刷プレビュー]を選択し、プレビューで
右クリック-> [印刷]を選択し、[pdfとして保存]を選択します。
このPythonスクリプトには、PDFに変換するIpythonノートブックをエクスプローラーで選択するためのGUIがあります。 wkhtmltopdfを使用したアプローチは、うまく機能し、高品質のPDFを提供できる唯一のアプローチです。ここで説明する他のアプローチには問題があり、構文の強調表示が機能しないか、グラフが台無しになります。
Wkhtmltopdfをインストールする必要があります。 http://wkhtmltopdf.org/downloads.html
およびNbconvert
pip install nbconvert
# OR
conda install nbconvert
Pythonスクリプト
# Script adapted from CloudCray
# Original Source: https://Gist.github.com/CloudCray/994dd361dece0463f64a
# 2016--06-29
# This will create both an HTML and a PDF file
import subprocess
import os
from Tkinter import Tk
from tkFileDialog import askopenfilename
WKHTMLTOPDF_PATH = "C:/Program Files/wkhtmltopdf/bin/wkhtmltopdf" # or wherever you keep it
def export_to_html(filename):
cmd = 'ipython nbconvert --to html "{0}"'
subprocess.call(cmd.format(filename), Shell=True)
return filename.replace(".ipynb", ".html")
def convert_to_pdf(filename):
cmd = '"{0}" "{1}" "{2}"'.format(WKHTMLTOPDF_PATH, filename, filename.replace(".html", ".pdf"))
subprocess.call(cmd, Shell=True)
return filename.replace(".html", ".pdf")
def export_to_pdf(filename):
fn = export_to_html(filename)
return convert_to_pdf(fn)
def main():
print("Export IPython notebook to PDF")
print(" Please select a notebook:")
Tk().withdraw() # Starts in folder from which it is started, keep the root window from appearing
x = askopenfilename() # show an "Open" dialog box and return the path to the selected file
x = str(x.split("/")[-1])
print(x)
if not x:
print("No notebook selected.")
return 0
else:
fn = export_to_pdf(x)
print("File exported as:\n\t{0}".format(fn))
return 1
main()
この問題はUbuntuとMac OSXの両方で発生しました。必死の検索と試行の後、両方とも解決しました。これには、tex
とpandoc
の両方が必要です。 Pythonのpip
では、両方のジャンボ外部プログラムをインストールできません。
Mac OSX:pandocのMacPortsインストールを使用
port install pandoc
これを完了するには、ほぼ1時間かかります(通常の場合)。問題が解決しない場合は、MacTeXディストリビューションのインストールが必要になる場合があります。 TeXLiveの。
Ubuntuの場合: ネットワークインストーラー からVanilla TeXLiveをインストールします-apt-getを使用しない。次に、apt-getを使用してpandocをインストールします。
Sudo apt-get install pandoc
TeXLiveの完全インストールには、ディスク上に最大4.4 GBが必要です。
この問題をすべて解決するために、IPython/Jupyter Notebookを使用するために推奨される方法は、Anaconda Pythonディストリビューションをインストールすることです。
私が見つけたのは、nbconvert/utils/pandoc.pyにコードバグがあり、そのためにマシンのエラーが発生したことです。コードは、pandocが環境変数パスにあるかどうかを確認します。私のマシンでは、答えはノーです。ただし、pandoc.exeは!
解決策は、69行目のコードに「.exe」を追加することでした
if __version is None:
if not which('pandoc.exe'):
raise PandocMissing()
「xelatex」がインストールされていない場合も同様です。 94行目のnbconvert/exporters/pdf.pyファイルに追加します。
cmd = which(command_list[0]+'.exe')
真新しいメンバーとして、私は投稿にコメントを追加することはできませんでしたが、フィリップ・シュワルツが提供するソリューションが私のために働いたことを二番目に言いたいです。同様の状況にある人々が、重点を置いてより早くその道を試してくれることを願っています。改ページがないことはかなり長い間イライラする問題でしたので、上記の議論に感謝しています。
フィリップシュワルツが言ったように:「wkhtmltopdfをインストールする必要があります:[ http://wkhtmltopdf.org/downloads.html] [1]
およびNbconvert "
次に、「rawNBConvert」タイプのセルを追加し、以下を含めます。
<p style="page-break-after:always;"></p>
それは私にとってはうまくいくようで、生成されたPDFには対応する場所で改ページがありました。ただし、これらのユーティリティをインストールすると、ノートブックをHTMLとしてダウンロードし、ブラウザで開き、PDFに印刷する「通常の」パスのように見えるため、カスタムコードを実行する必要はありません。
これを理解するのにもいろいろな問題がありました。必要なものが正確に提供されるかどうかはわかりませんが、ノートブックをHTMLファイルとしてダウンロードし、ChromeブラウザーでプルアップしてからPDFファイルとして印刷しました。保存しました。すべてのコード、テキスト、グラフをキャプチャしました。私が必要とするものには十分でした。
JupyterノートブックをPDFに変換するには、以下の手順に従ってください。
(Jupyterノートブック内に配置):
オンMac OS:
command + P->印刷ダイアログボックスが表示されます->宛先をPDFに変更します->印刷をクリックします
オンWindows:
Ctrl + P->印刷ダイアログボックスが表示されます->宛先をPDFに変更->印刷をクリック