LoginSignup
4
8

More than 3 years have passed since last update.

Jupyter Notebookをコード非表示にし改ページ入れてPDF出力する

Last updated at Posted at 2020-10-16

調べて一旦落ち着いたやり方を、ここにまとめておきます。

目的

  • 簡易な報告の場でJupyter Notebookで分析したアウトプットをそのまま見せたい(Power Pointに貼り付けて加工したくない)
  • コードを非表示にしてスッキリ見せたい
  • 配布用にNotebookをPDF化する際、改ページくらいの体裁は整えたい

動作環境

下記の環境で動作確認しています。

  • OS : Windows10
  • ブラウザ : Chrome
  • jupyter core : 4.6.1
  • jupyter-notebook : 6.0.2

実装

(1) custom.cssに下記を追記(C:\Users\ユーザ\.jupyter\custom\custom.css)

@media print {
  div.inner_cell {display: block}
}

(2) Notebookの改ページしたいところに下記をマークダウンセルとして追加
※セルは存在していますが書いたコードは見えなくなるのでご注意下さい。
ここを参照しました)


    <p><p style="page-break-after:always;"></p>
    <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">

(3) Notebookの最後の方に下記をコードセルとして追加
ここを参照しました)


from IPython.display import HTML

HTML('''<script>
code_show=true; 
function code_toggle() {
 if (code_show){
 $('div.input').hide();
 } else {
 $('div.input').show();
 }
 code_show = !code_show
} 
$( document ).ready(code_toggle);
</script>
<form action="javascript:code_toggle()"><input type="submit" value="Show/hide code"></form>''')

(4)「Show/hide code」ボタンを押下することでコード表示/非表示を切り替えできます。

(5) 一旦htmlファイルとして保存し、htmlファイルを開く。
Jupyter Notebookのメニュー(File-Download as-HTML)から保存する。
downloadashtml.jpg

(6) PDFファイルとして出力する際は、Chromeブラウザの印刷-送信先を「PDFに保存」に設定する(Show/hide codeボタンを表示したくなければボタンの手前に改ページを入れて最後のページ番号を印刷ページから除く)

他によい方法などありましたらぜひ教えて下さい。

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8