Завдання готове в Jupyter, а система здачі приймає лише PDF. Ви вибираєте «Завантажити як PDF» або запускаєте jupyter nbconvert --to pdf і отримуєте помилку: xelatex не знайдено або бракує pandoc. nbconvert створює PDF через LaTeX, тож перш ніж щось експортувати, йому потрібен повністю встановлений дистрибутив TeX.

Тепер Look Scanned відкриває файли .ipynb напряму. Виберіть блокнот на сторінці Jupyter Notebook у скан-копію PDF, і його буде зверстано просто в браузері: клітинки Markdown, код і вивід, збережений разом із файлом. Перевірте сторінки в попередньому перегляді та завантажте PDF. Нічого встановлювати не потрібно, і блокнот нікуди не завантажується.

Одразу застережемо: Look Scanned робить документи схожими на скани, і PDF виглядає саме так. Це те, що треба, якщо блокнот потрібно здати як роздруковану й відскановану копію або він просто має виглядати як паперовий документ. Поворот, розмиття й шум можна зменшити до нуля, щоб сторінка була чистішою, але кожна сторінка все одно лишається зображенням, тож текст у PDF не можна виділити чи знайти пошуком.

Як перетворити файл .ipynb на скан-копію PDF

  1. Виконайте блокнот і збережіть його в Jupyter, JupyterLab, VS Code або Google Colab, щоб вивід записався у файл. У Colab скористайтеся «Файл → Завантажити → Завантажити файл .ipynb».
  2. Відкрийте Jupyter Notebook у скан-копію PDF і виберіть файл .ipynb.
  3. Перегляньте попередній перегляд сторінка за сторінкою. Перевірте код, таблиці й графіки, задайте розмір паперу та поля.
  4. Налаштуйте ефект сканування. Тримайте розмиття й шум низькими, щоб дрібний код залишався читабельним. За замовчуванням сторінки виходять у відтінках сірого; виберіть «Кольоровий», щоб графіки зберегли кольори.
  5. Створіть скан-копію PDF і завантажте її.

Якщо вам зручніше працювати із зображеннями, кожну сторінку можна експортувати як JPG або PNG. Коли який формат доречний, пояснює наш порадник про PDF, JPG і PNG. А в пакетному скануванні, функції Pro, можна обробити одразу кілька файлів .ipynb.

Що з’явиться на сторінці

  • Клітинки Markdown: заголовки, списки, таблиці, посилання та зображення, зокрема вставлені просто в клітинку.
  • Клітинки коду з підсвічуванням синтаксису для мови блокнота та підписами In [1]:. Довгі рядки переносяться, а не виходять за край сторінки.
  • Збережений вивід під підписами Out[1]:: надрукований текст, значення, що повертаються, HTML-таблиці на кшталт DataFrame з pandas і зображення, тож графіки matplotlib чи seaborn на місці.
  • Помилки разом із повним трасуванням (traceback).
  • Вивід термінала таким, яким його показує термінал. Коди кольорів прибираються, а індикатор прогресу на кшталт tqdm зберігає лише кінцевий стан, а не кожне оновлення.

Що варто знати заздалегідь

  • Клітинки не виконуються. Look Scanned читає те, що збережено у файлі; ядра тут немає. Клітинка, яку ви жодного разу не запускали, або блокнот, збережений з очищеним виводом, покаже код, під яким нічого немає. Виконайте всі клітинки й збережіть файл, перш ніж вибирати його.
  • Формули лишаються вихідним кодом TeX. Формули, записані в клітинках Markdown як $…$ або $$…$$, показуються точно так, як набрані, наприклад $\alpha + \beta$, а не зверстаними формулами.
  • Інтерактивний вивід не відображається. Plotly, Bokeh та ipywidgets малюють за допомогою JavaScript, а його не виконано. Ви побачите статичну версію, яку блокнот зберіг поруч, часто це лише один короткий рядок тексту, а то й зовсім нічого. Графіки, збережені як зображення, наприклад із matplotlib, показуються без проблем.
  • Потрібен формат nbformat 4. Саме його записують сучасні Jupyter, JupyterLab, VS Code і Colab. Дуже старий блокнот у nbformat 3 не відкриється; відкрийте його в актуальному Jupyter і збережіть ще раз, щоб оновити формат.
  • Широкі таблиці стискаються. Таблиці підганяються під ширину сторінки, тому в DataFrame з багатьма стовпцями стовпці стають вузькими, а текст у них переноситься.
  • Збережіть свій блокнот. Як і справжній скан, PDF складається із зображень сторінок. Щоб запускати й редагувати код, залиште собі файл .ipynb.

Блокнот читається й верстається на вашому власному пристрої та не завантажується на сервер. Єдиний виняток — клітинка Markdown, яка показує зображення за вебадресою: браузер завантажує це зображення із сайту, де воно розміщене, так само як це зробив би Jupyter.

Коли краще вибрати nbconvert

Якщо вам потрібен текст, який можна виділити, зверстані формули або PDF, що точно збігається з власним експортом Jupyter, nbconvert і далі лишається правильним інструментом. Установіть дистрибутив TeX і запустіть jupyter nbconvert --to pdf або скористайтеся --to webpdf: він друкує через браузер Chromium без інтерфейсу й узагалі обходиться без LaTeX. В обох випадках до отриманого PDF потім можна додати ефект сканування в Look Scanned.

Ваш звіт — це файл Markdown або LaTeX, а не блокнот? Їх теж можна відкрити: див. Markdown і HTML у скан-копію PDF та LaTeX у скан-копію PDF.

Є блокнот, який треба здати в PDF? Спробуйте вже зараз.