Zadanie jest gotowe w Jupyterze, a system do oddawania prac przyjmuje tylko PDF. Wybierasz „Pobierz jako PDF” albo uruchamiasz jupyter nbconvert --to pdf i dostajesz błąd: nie znaleziono xelatex albo brakuje pandoc. nbconvert tworzy PDF-y przez LaTeX, więc zanim cokolwiek wyeksportuje, potrzebuje pełnej, zainstalowanej dystrybucji TeX-a.

Look Scanned otwiera teraz pliki .ipynb bezpośrednio. Wybierz notatnik na stronie Jupyter Notebook na zeskanowany PDF, a zostanie złożony od razu w przeglądarce: komórki Markdown, kod i wyniki zapisane razem z nim. Sprawdź strony w podglądzie i pobierz PDF. Nie trzeba niczego instalować, a notatnik nie jest nigdzie wysyłany.

Jedno wyjaśnienie na początek: Look Scanned sprawia, że dokumenty wyglądają na zeskanowane, i tak też wygląda PDF. To dobre rozwiązanie dla notatnika, który trzeba oddać jako wydrukowaną i zeskanowaną kopię, albo który po prostu ma wyglądać jak papier. Obrót, rozmycie i szum możesz ustawić na zero, żeby strona była czystsza, ale każda strona nadal jest obrazem, więc tekstu w PDF-ie nie da się zaznaczyć ani przeszukać.

Jak zamienić plik .ipynb na zeskanowany PDF

  1. Uruchom notatnik i zapisz go w Jupyterze, JupyterLab, VS Code albo Google Colab, żeby wyniki zostały zapisane w pliku. W Colab użyj opcji Plik → Pobierz → Pobierz plik .ipynb.
  2. Otwórz Jupyter Notebook na zeskanowany PDF i wybierz plik .ipynb.
  3. Przejrzyj podgląd strona po stronie. Sprawdź kod, tabele i wykresy, ustaw rozmiar papieru i marginesy.
  4. Dostosuj efekt skanowania. Utrzymuj niskie rozmycie i szum, żeby drobny kod pozostał czytelny. Domyślnie strony są w skali szarości; wybierz „Kolorowy”, jeśli wykresy mają zachować kolory.
  5. Wygeneruj zeskanowany PDF i pobierz go.

Jeśli wolisz obrazy, możesz wyeksportować każdą stronę jako JPG lub PNG. Kiedy który format ma sens, wyjaśnia nasz poradnik o PDF, JPG i PNG. W wersji Pro skanowanie zbiorcze obsłuży kilka plików .ipynb naraz.

Co pojawi się na stronie

  • Komórki Markdown: nagłówki, listy, tabele, linki i obrazy, także te wklejone bezpośrednio do komórki.
  • Komórki kodu z kolorowaniem składni dla języka notatnika i znacznikami In [1]:. Długie wiersze są zawijane, zamiast wychodzić poza stronę.
  • Zapisane wyniki pod znacznikami Out[1]:: wydrukowany tekst, zwracane wartości, tabele HTML, takie jak DataFrame z pandas, i obrazy, więc wykresy z matplotlib czy seaborn są na miejscu.
  • Błędy razem z pełnym tracebackiem.
  • Wyjście terminala tak, jak pokazuje je terminal. Kody kolorów są usuwane, a pasek postępu, np. z tqdm, zachowuje tylko stan końcowy zamiast każdej aktualizacji.

Co warto wiedzieć przed rozpoczęciem

  • Komórki nie są uruchamiane. Look Scanned czyta to, co jest zapisane w pliku; nie ma tu jądra (kernela). Komórka, której nigdy nie uruchomiono, albo notatnik zapisany z wyczyszczonymi wynikami pokaże kod, pod którym nic nie ma. Uruchom wszystkie komórki i zapisz plik, zanim go wybierzesz.
  • Wzory zostają w postaci źródła TeX. Wzory zapisane w komórkach Markdown jako $…$ lub $$…$$ pojawiają się dokładnie tak, jak je wpisano, np. $\alpha + \beta$, a nie jako złożona matematyka.
  • Interaktywne wyniki się nie wyświetlają. Plotly, Bokeh i ipywidgets rysują za pomocą JavaScriptu, który nie jest uruchamiany. Zobaczysz statyczną wersję zapisaną obok w notatniku, często tylko krótki wiersz tekstu albo nic. Wykresy zapisane jako obrazy, np. z matplotlib, działają bez problemu.
  • Notatnik musi być w formacie nbformat 4. Taki zapisują obecne wersje Jupytera, JupyterLab, VS Code i Colab. Bardzo stary notatnik w nbformat 3 zostanie odrzucony; otwórz go w aktualnym Jupyterze i zapisz ponownie, żeby go zaktualizować.
  • Szerokie tabele są ściskane. Tabele dopasowują się do szerokości strony, więc DataFrame z wieloma kolumnami będzie miał wąskie kolumny z zawiniętym tekstem.
  • Zachowaj swój notatnik. Tak jak prawdziwy skan, PDF składa się z obrazów stron. Do uruchamiania i edytowania kodu potrzebny jest plik .ipynb.

Notatnik jest odczytywany i składany na Twoim własnym urządzeniu i nie trafia na żaden serwer. Jedyny wyjątek to komórka Markdown, która pokazuje obraz z adresu internetowego: przeglądarka pobiera ten obraz ze strony, na której się znajduje, tak samo jak zrobiłby to Jupyter.

Kiedy lepiej sięgnąć po nbconvert

Jeśli potrzebujesz tekstu do zaznaczania, złożonych wzorów albo PDF-a identycznego z eksportem samego Jupytera, nbconvert nadal jest właściwym narzędziem. Zainstaluj dystrybucję TeX-a i uruchom jupyter nbconvert --to pdf albo użyj --to webpdf, które drukuje przez przeglądarkę Chromium w trybie headless i całkowicie obywa się bez LaTeX-a. W obu przypadkach możesz potem dodać do tego PDF-a efekt skanowania w Look Scanned.

Twoje opracowanie to plik Markdown lub LaTeX, a nie notatnik? Je też da się otworzyć: zobacz Markdown i HTML na zeskanowany PDF oraz LaTeX na zeskanowany PDF.

Masz notatnik, który trzeba oddać jako PDF? Wypróbuj teraz.