python - 複数シート - エクセル シート pdf 一括 できない




コードなしでノートブックをpdfにエクスポートする (4)

私は数字と文章の多い大きなノートブックを持っています。 私はそれをHTMLファイルに変換したい。 しかし、私はコードをエクスポートしたくありません。 私は次のコマンドを使用しています

ipython nbconvert --to html notebook.ipynb

しかし、このオプションもコードをエクスポートします。 コードなしでノートブックをHTMLに変換する方法はありますか?


this記事では、入力列を削除する方法について説明しています。

変換したいノートブックと同じディレクトリに「hidecode.tplx」という名前のテンプレートファイルを作成し、その中にそれらの行を追加するだけです。

    ((*- extends 'article.tplx' -*))

((* block input_group *))
    ((*- if cell.metadata.get('nbconvert', {}).get('show_code', False) -*))
        ((( super() )))
    ((*- endif -*))
((* endblock input_group *))

そしてこのコマンドを実行すると、pdfLatexを使ってpdfのノートをlatex経由で変換します:

jupyter nbconvert --to pdf --template hidecode Example.ipynb

または編集したい場合は、それを.texドキュメントに変換してpdfLatexを使用してpdfに入れることができます:

jupyter nbconvert --to latex --template hidecode Example.ipynb

2018年9月の編集: ipython nbconvertは推奨されていません。 それはjupyter nbconvert置き換えられjupyter nbconvert :したがって、 jupyterコマンドをipythonjupyter


nbconvertはテンプレートを使用してノートブックのJSONをドキュメントに変換します。 たとえば、nbconvert、markdown.tplに付属のマークダウンテンプレートでは、

{% block input %}
{% if nb.metadata.language_info %}{{ nb.metadata.language_info.name }}{% endif %}
{{ cell.source}}
{% endblock input %}

各セルのソースを出力に出力します。 {{ cell.source}}を削除すると、セルソースは表示されません。 HTMLとLatexのテンプレートにも対応するブロックがあります。

もっと良いことに、あなたが望むものを正確に行う独自のテンプレートを作ってください:)


このCSSをページに追加し、ブラウザからPDFに印刷することができます。 コードは隠されていて削除されていないことに注意してください。

div.output_prompt { visibility: hidden; }
*{ font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif !important }
.input,#header { display: none; }

コードを削除するには、次のようなコードを使用する必要があります。

$(".input").remove()

私が知る限り、コードを含まないPDFをラテックス経由で生成する方法はありません。 それはそれを行うジュピターノート拡張を持っていることは素晴らしいだろう...


この答えの一般化として、複数の場所からアクセス可能なように、

  1. 次のディレクトリに移動します( user_nameをユーザー名に変更します)。

    cd /home/<user_name>/.jupyter
  2. このディレクトリの下にjupyter_nbconvert_config.pyを作成します。

  3. .pyファイルに以下を書きます( user_nameをあなたのユーザ名に変更してください):

    c = get_config()
    c.TemplateExporter.template_path = ['.', "/home/<user_name>/.jupyter" ]
    c.LatexExporter.template_path = ['.', "/home/<user_name>/.jupyter"]
  4. hidecode.tplxまたはhidecode.tplという名前のこのディレクトリの下にテンプレートファイルを作成します。

        ((*- extends 'article.tplx' -*))
    
    ((* block input_group *))
        ((*- if cell.metadata.get('nbconvert', {}).get('show_code', False) -*))
                ((( super() )))
        ((*- endif -*))
    ((* endblock input_group *))
  5. 次に、 .ipynbファイルのコードなしでPDFを生成する必要があります(ファイル名をファイル名に変更してください)。

    jupyter nbconvert --to pdf '<file_name>.ipynb' --template=hidecode.tpl




nbconvert