Úkol máte v Jupyteru hotový a odevzdávací systém chce PDF. Zvolíte „Stáhnout jako PDF“ nebo spustíte jupyter nbconvert --to pdf a dostanete chybu: xelatex nebyl nalezen, nebo chybí pandoc. nbconvert vytváří PDF přes LaTeX, a tak potřebuje kompletní nainstalovanou distribuci TeXu, než vůbec něco vyexportuje.

Look Scanned teď umí soubory .ipynb otevřít přímo. Vyberte svůj notebook na stránce Z Jupyter Notebooku do PDF se vzhledem skenu a ten se vysází rovnou v prohlížeči: buňky Markdown, kód i výstupy, které jsou v něm uložené. Zkontrolujte stránky v náhledu a stáhněte PDF. Nic není potřeba instalovat a notebook se nikam nenahrává.

Hned na úvod: Look Scanned dělá z dokumentů něco, co vypadá jako sken, a tak vypadá i výsledné PDF. To se hodí pro notebook, který je třeba odevzdat jako vytištěnou a naskenovanou kopii, nebo který má prostě působit jako papír. Otočení, rozmazání a šum můžete stáhnout na nulu, aby byla stránka čistší, ale každá stránka zůstává obrázkem, takže text v PDF nejde označit ani v něm vyhledávat.

Jak převést soubor .ipynb do PDF se vzhledem skenu

  1. Spusťte notebook a uložte ho v Jupyteru, JupyterLabu, VS Code nebo Google Colabu, aby se výstupy uložily do souboru. V Colabu použijte Soubor → Stáhnout → Stáhnout .ipynb.
  2. Otevřete Z Jupyter Notebooku do PDF se vzhledem skenu a vyberte soubor .ipynb.
  3. Projděte náhled stránku po stránce. Zkontrolujte kód, tabulky a grafy a nastavte velikost papíru a okraje.
  4. Upravte efekt skenování. Rozmazání a šum nechte nízko, aby zůstal čitelný i drobný kód. Stránky jsou ve výchozím nastavení v odstínech šedi; zvolte „Barevně“, pokud mají grafy zůstat barevné.
  5. Vygenerujte PDF se vzhledem skenu a stáhněte ho.

Pokud dáváte přednost obrázkům, můžete každou stránku exportovat jako JPG nebo PNG. Kdy se hodí který formát, vysvětluje náš průvodce formáty PDF, JPG a PNG. Ve verzi Pro zvládne hromadné skenování několik souborů .ipynb najednou.

Co se na stránce objeví

  • Buňky Markdown: nadpisy, seznamy, tabulky, odkazy a obrázky, včetně obrázků vložených přímo do buňky.
  • Buňky s kódem se zvýrazněním syntaxe podle jazyka notebooku a s výzvami In [1]:. Dlouhé řádky se zalamují, místo aby přetékaly přes okraj stránky.
  • Uložené výstupy pod výzvami Out[1]:: vypsaný text, návratové hodnoty, HTML tabulky, například DataFrame z pandas, a obrázky, takže grafy z matplotlibu nebo seabornu nechybí.
  • Chyby i s úplným tracebackem.
  • Výstup terminálu tak, jak ho ukazuje terminál. Barevné kódy se odstraní a ukazatel průběhu, třeba z tqdm, si ponechá jen konečný stav místo každé aktualizace.

Co vědět předem

  • Buňky se nespouštějí. Look Scanned čte to, co je v souboru uložené; žádné jádro (kernel) tu není. Buňka, kterou jste nikdy nespustili, nebo notebook uložený s vymazanými výstupy, ukáže jen kód a pod ním nic. Než soubor vyberete, spusťte všechny buňky a uložte ho.
  • Vzorce zůstávají jako zdrojový kód TeXu. Vzorce zapsané v buňkách Markdown jako $…$ nebo $$…$$ se zobrazí přesně tak, jak byly napsány, například $\alpha + \beta$, nikoli jako vysázená matematika.
  • Interaktivní výstupy se nezobrazí. Plotly, Bokeh a ipywidgets kreslí pomocí JavaScriptu, který se nespouští. Uvidíte statickou verzi, kterou notebook uložil vedle, často jen krátký řádek textu, nebo vůbec nic. Grafy uložené jako obrázky, třeba z matplotlibu, fungují bez problémů.
  • Notebook musí být ve formátu nbformat 4. Ten ukládají současné verze Jupyteru, JupyterLabu, VS Code i Colabu. Velmi starý notebook ve formátu nbformat 3 se odmítne; otevřete ho v aktuálním Jupyteru a znovu uložte, tím ho převedete.
  • Široké tabulky se zúží. Tabulky se přizpůsobí šířce stránky, takže DataFrame s mnoha sloupci bude mít úzké sloupce se zalomeným textem.
  • Původní notebook si nechte. Stejně jako skutečný sken se PDF skládá z obrázků stránek. Ke spouštění a úpravám kódu si ponechte soubor .ipynb.

Notebook se načte a vysází na vašem vlastním zařízení a nenahrává se na žádný server. Jedinou výjimkou je buňka Markdown, která zobrazuje obrázek z webové adresy: ten stáhne prohlížeč z webu, kde je uložený, stejně jako by to udělal Jupyter.

Kdy je lepší použít nbconvert

Pokud potřebujete text, který jde označit, vysázené vzorce nebo PDF přesně odpovídající exportu samotného Jupyteru, nbconvert je pořád ten správný nástroj. Nainstalujte distribuci TeXu a spusťte jupyter nbconvert --to pdf, nebo použijte --to webpdf, který tiskne přes prohlížeč Chromium bez grafického rozhraní a LaTeX vůbec nepotřebuje. V obou případech pak můžete výslednému PDF přidat efekt skenování v Look Scanned.

Máte práci jako soubor Markdown nebo LaTeX, a ne jako notebook? Ty se otevřou také: viz Z Markdownu a HTML do PDF se vzhledem skenu a Z LaTeXu do PDF se vzhledem skenu.

Máte notebook, který musíte odevzdat jako PDF? Vyzkoušejte to hned.