ipynb to pdf

概要

ひとつの制約の上に作られています:ノートブックはあなたのマシンから出ない。

このサイトは、Jupyterノートブックをアップロードせず、インストールも要求せずにPDFへ変換します。それが実際に何を意味し、変換がどう組み立てられているかを説明します。

アップロードなし

ノートブックはタブ内で解析・レイアウト・ラスタライズされます。送信先となる変換エンドポイントは存在しません。

アカウント不要

登録もクォータも解除すべき制限もありません。ページを開いて、好きなだけノートブックを変換してください。

透かしなし

PDFに帯びるのはノートブック名とページ番号だけ — ロゴやバッジや催促があなたの仕事に被ることはありません。

トラッキングなし

分析スクリプトも広告ピクセルもセッション記録もありません。ツールの使われ方を覗くものは何もありません。

なぜ存在するのか

ノートブックをPDFにするのは、普通、何かをインストールすることです。jupyter nbconvert --to pdfはpandocと完全なTeX配布物(TeX Live・MacTeX・MiKTeX)を要求し、無ければ「xelatex not found」で止まります。ホスト型の代替はファイルを受け取りサーバーへアップロードし、ダウンロードを返してきます。NDA下のクライアントワークや、動かしてはいけないデータセットを含むノートブックでは困ります。

このサイトは2つの要件を同時に取り除くために作られました:インストールするものも、アップロードするものも無い。

このサイトの正体

静的ウェブサイトです。アプリケーションサーバーも変換エンドポイントもデータベースも持ちません。コンバーターはブラウザがページと一緒に一度だけダウンロードするJavaScriptの束で、それ以後の変換はすべて、あなたが今これを読んでいるタブの中で起きます。

だから登録もキューもファイルサイズのペイウォールもありません。変換ごとに支払うインフラが無いのですから、計測するものもありません。

変換の仕組み

ノートブックはブラウザのFile APIでディスクから読まれ、JSONとして解析されます — nbformat 4に加え、セルをワークシート下に格納する旧nbformat 3も。Markdownはmarkedで描画されDOMPurifyで無害化、シンタックスカラーはhighlight.js、LaTeXはKaTeXの組版、ノートブック添付の画像はbase64からデコードされます。

描画された各ブロックは文書の隠しコピー内で計測され、html2canvas-proでラスタライズされ、jsPDFでページに組み立てられます。印刷→PDFはもう一方のルートで:同じ組版済み文書がブラウザの印刷パイプラインへ渡され、テキストが選択・検索可能なまま保たれます。

意図的に外したもの

アップロードエンドポイント、アカウントシステム、サーバーサイドレンダラー、分析、広告、出力への透かし — どれも追加は簡単で、どれもあなたやノートブックについて何かを保存する理由を持ち込んでいました。

誰のためのものか

課題を提出する学生、Jupyterを使わない人に結果を共有するアナリスト、チケットにレポートを添付するエンジニア、生きたカーネルへのリンクではなくページで例題を配る教師。

ツールが的前提はひとつだけ:ノートブックを文書のように読ませたいということ。コード・グラフ・表が、内容が切れるべき場所で切れるページに載ること。

独立性と商標

Jupyter、JupyterLab、Google Colab、Kaggle、Deepnote、Visual Studio Codeはそれぞれの所有者の商標です。当サイトは独立しており、Project Jupyterやサイトで名挙されたノートブックベンダーとは提携・承認・スポンサー関係にありません。

どう運営費を賄うか

サイトは無料で広告もありません。運営者自身が払う静的ホスティングの請求書1枚がコストであり、解錠待ちのプレミアム階層も、無料版から差し押さえられた有料機能も存在しません。

連絡先

質問・バグ報告・訂正をすべて歓迎します。お問い合わせページは、報告を実用的にする要素と — なぜノートブック自体を送る必要が一度もないかを説明しています。

準備ができたらどうぞ。

ノートブックを選べば、進行表示を読み終える頃にはPDFの準備ができています。