Как сохранить юпитер ноутбук в пдф
1 ответ
Если у вас установлен LaTeX, вы можете загрузить его в формате PDF прямо из записной книжки Jupyter, выбрав Файл -> Загрузить как -> PDF через LaTeX (.pdf). В противном случае выполните эти два шага.
Преобразуйте файл записной книжки Jupyter в HTML. Выберите Файл -> Загрузить как -> HTML (.html) или выполните следующую команду:
Это преобразует файл документа Jupyter notebook.ipynb в выходной формат html.
Google Colaboratory - это бесплатная среда для ноутбуков Jupyter от Google, которая не требует настройки и полностью работает в облаке. Если вы используете Google Colab, команды такие же, но Google Colab позволяет загружать только форматы.ipynb или.py.
Установите утилиту командной строки wkhtmltopdf для преобразования html в pdf, используя sudo apt install wkhtmltopdf и преобразуйте html-файл notebook.html в файл pdf с именем notebook.pdf.
Основные шаги по правильной настройке nbconvert для преобразования ноутбуков ipython в pdf/latex:
- Установить nbconvert
- Установить pandoc
- Установить Texlive
Установка nbconvert
pip install nbconvert
или же conda install nbconvert
Установка pandoc
sudo apt-get install pandoc для Ubuntu
Установка texlive
Вы можете установить рекомендуемые пакеты или полную установку.
Для полной установки texlive следуйте инструкциям, данным на буксире. Я загрузил файл tar.gz с сайта tug -texlive-download и следовал инструкциям, данным в TeX Live - Быстрая установка. Краткие инструкции по установке:
rm -rf /usr/local/texlive/2019
распаковать zip файл
Введите команду: i
sudo vi /etc/bash.bashrc и вставить
PATH=/usr/local/texlive/2019/bin/x86_64-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2019/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH; export INFOPATH
Установка размера бумаги по умолчанию
tlmgr paper letter
Наиболее вероятной причиной является то, что вы не установили соответствующие зависимости. В вашей системе Ubuntu должны быть установлены некоторые пакеты для преобразования файлов LaTeX и XeTeX, чтобы сохранить ваш ноутбук в формате PDF. Вы можете установить их:
Также, nbconvert это другая зависимость, которая обычно автоматически устанавливается с помощью jupyter. Но вы можете установить его, чтобы быть уверенным, когда ваша виртуальная среда активирована:
Итак, я пытался сохранить записную книжку jupyter в формате PDF, но я просто не могу понять, как это сделать. Первое, что я пробую, это из меню файла просто скачать как PDF, но в результате:
следующее, что я попробую, - это попытаться выполнить преобразование из командной строки следующим образом
и если я попробую
если я попытаюсь установить pandoc ( pip install pandoc ), это даст мне
для создания PDF-файлов требуются непифонические зависимости (т.е. pandoc и latex ) Это означает, что вам необходимо установить их, прежде чем вы сможете использовать эту функцию. И это не пакеты Python, поэтому вы не можете использовать pip.Чтобы он работал, я установил латекс, типичный дополнительный латекс и pandoc.
несколько раз: несколько 100 Мб на скачивание. Я где-то читал, что вы можете использовать --no-install-recommends для texlive и extra, чтобы уменьшить до dl.
Мне также нужно было texlive-generic-extra решить эту проблему , помимо того, texlive-xetex что предложил @douggard.Если вы работаете на Mac и у вас установлен Homebrew, откройте оболочку терминала и установите pandoc, набрав команду:
brew install pandoc
наберитесь терпения, установка и компиляция могут занять некоторое время на медленных интернет-соединениях или старых системах.
Это работало на OS X 10.10. Теперь я могу конвертировать в LaTeX и PDF. (Моя установка на pandoc заняла меньше минуты . Должно быть, у меня уже было большинство компонентов в моей системе.) СПАСИБО! @drpetermolnar Это тоже сработало для меня (OSX 10.11.6). Прошло 2 минуты. @Akshay, команда: ipython nbconvert --to PDF <ваш блокнот> .ipynb Для OSX 10.13.06 пришлось сделать: brew install pandoc и brew cask install mactex-no-gui .2015-4-22: Похоже, что обновление IPython означает, что его --to pdf следует использовать вместо --to latex --post PDF . Есть связанная проблема с Github .
Чтобы конвертировать записные книжки в PDF, вам сначала необходимо установить nbconvert.
Затем, если вы не используете Anaconda или еще не использовали, вы должны установить pandoc, следуя инструкциям на их веб-сайте или, в Linux, следующим образом:
После этого на вашем компьютере должен быть установлен XeTex:
Теперь вы можете перейти к папке, в которой находится ваш блокнот IPython, и выполнить следующую команду:
для получения дополнительной информации перейдите по этой ссылке .
Как сказано в комментариях к вопросу, вам понадобятся pandoc и latex (например, TeXShop). Я установил pandoc с Homebrew, это заняло всего секунду. Имея pandoc и TeXShop, я мог генерировать латекс, но не pdf (в командной строке).
При изучении файла latex (.tex) с помощью TeXShop ошибка была связана с отсутствием таблиц стилей и определений. После установки всего этого (adjustbox.sty, adjcalc.sty, trimclip.sty, collectbox.sty, tc-pgf.def, ucs.sty, uni-global.def, utf8x.def, ucsencs.def), наконец, Работа.
Однако, на мой вкус, результат выглядит слишком круто. Очень жаль, что при печати html из Safari теряется синтаксическая окраска. В остальном все выглядит не так уж плохо. (Это все на OS X).
Следующая короткая строка напрямую сгенерировала файл PDF, не оставив никаких промежуточных файлов, созданных путем компиляции. jupyter nbconvert --to pdf filename.ipynbЭтот скрипт Python имеет графический интерфейс для выбора с помощью проводника записной книжки Ipython, которую вы хотите преобразовать в pdf. Подход с wkhtmltopdf - единственный подход, который, как я обнаружил, хорошо работает и обеспечивает высокое качество PDF-файлов. Другие подходы, описанные здесь, проблематичны, подсветка синтаксиса не работает или графики испорчены.
Скрипт Python
script довольно длинный для ответа stackoverflow и просто обертывает wkhtml. Думаю, ответ будет более ясным, если вы просто поместите параметры командной строки для wkhtml и пример. так что в основном вы используете nbconvert для экспорта в html, а затем используете wkhtmltopdf для преобразования в pdf. но это не ясно из вашего ответа :-) Итак, я попробовал это. Фактически это лучше, чем экспорт напрямую в pdf. Как ни странно, часть моего mathjax отображается правильно (в начале документа), а затем по непонятной причине перестает отображать около 12 страниц документа.Я использую Anaconda-Jupyter Notebook в ОС: Ubuntu 16.0 для программирования на Python.
Установите Nbconvert, Pandoc и Tex:
Откройте терминал и выполните в нем следующие команды.
Установите Nbconvert: хотя это часть экосистемы Jupyter, все же установите его еще раз
Но я рекомендую использовать conda вместо pip, если вы используете anaconda
Установите Pandoc: поскольку Nbconvert использует Pandoc для преобразования уценки в форматы, отличные от HTML. Введите следующую команду
Установите TeX: для преобразования в PDF nbconvert использует TeX. Введите следующую команду
После выполнения этих команд закройте открытые записные книжки, обновите домашнюю страницу или перезапустите ядро открытой записной книжки. А теперь попробуйте скачать записную книжку в формате pdf :)
Чтобы преобразовать любой блокнот Jupyter в PDF, следуйте приведенным ниже инструкциям:
( Будьте внутри записной книжки Jupyter ):
На Mac OS :
command + P -> откроется диалоговое окно печати -> изменить место назначения как PDF -> Нажмите печать
На Windows :
Если вышеуказанные шаги не создают полный PDF-файл записной книжки Jupyter (возможно, потому, что Chrome иногда не печатает все выходные данные, потому что Jupyter делает прокрутку для больших выходов),
Попробуйте выполнить следующие шаги для удаления автоматической прокрутки в меню : -
В записной книжке Jupyter щелкните Ячейка в верхней части записной книжки jupyter.
Затем нажмите Весь вывод -> Переключить прокрутку для удаления автоматической прокрутки.
Эта проблема наблюдалась как в Ubuntu, так и в Mac OSX. После неистовых поисков и испытаний они оба были раскрыты. Для этого требуются оба tex и pandoc ; обе большие внешние программы не могут быть установлены Python pip .
Mac OSX: установка pandoc с помощью MacPorts
port install pandoc
Это должно занять почти час (в обычном случае). Если проблема не исчезнет, возможно, вам придется установить дистрибутив MacTeX. из TeXLive.
Для Ubuntu: установка ванильного TeXLive из сетевого инсталлятора - не через APT-GET . Затем установите pandoc с помощью apt-get.
sudo apt-get install pandoc
Для полной установки TeXLive потребуется до 4,4 ГБ на диске.
Чтобы избавиться от всех этих проблем, рекомендуемым способом использования IPython / Jupyter Notebook будет установка дистрибутива Anaconda Python.
У меня тоже были всевозможные проблемы с этим. Я не знаю, предоставит ли он именно то, что вам нужно, но я загрузил свой блокнот в виде HTML-файла, затем вытащил его в своем браузере Chrome, а затем распечатал как файл PDF, который я сохранил. Он захватил весь мой код, текст и графики. Это было достаточно для того, что мне было нужно.
В моем случае html помещает одну ячейку на страницу, даже если она слишком длинная. Так что не решениеЕсли вы используете облачную версию sagemath , вы можете просто перейти в левый угол,
выбрать Файл -> Загрузить как -> Pdf через LaTeX (.pdf)
Проверьте снимок экрана, если хотите.
Если по какой-либо причине это не сработает, вы можете попробовать другой способ.
выберите Файл -> Предварительный просмотр, а затем
щелкните правой кнопкой мыши в окне предварительного просмотра -> Печать, а затем выберите Сохранить как pdf.
Как новый участник, я не мог просто добавить комментарий к посту, но хочу подтвердить, что решение, предложенное Филлипом Шварцем, сработало для меня. Надеюсь, люди в подобной ситуации попробуют этот путь раньше с упором. Долгое время отсутствие разрывов страниц было неприятной проблемой, поэтому я благодарен за обсуждение выше.
Затем вы добавляете ячейку типа rawNBConvert и включаете:
Похоже, это помогло мне, и сгенерированный PDF-файл имел разрыв страницы в соответствующих местах. Однако вам не нужно запускать собственный код, поскольку кажется, что «нормальный» путь загрузки записной книжки в формате HTML, открытия в браузере и печати в PDF работает после установки этих утилит.
notebook-as-pdf Установить python -m pip install notebook-as-pdf pyppeteer-install
Использование Вы также можете использовать его с nbconvert:
jupyter-nbconvert --to PDFviaHTML filename.ipynb
который создаст файл с именем filename.pdf.
или pip install notebook-as-pdf
создать PDF-файл из записной книжки jupyter-nbconvert-toPDFviaHTML
Я обнаружил, что в nbconvert / utils / pandoc.py была ошибка кода, которая привела к ошибке для моей машины. Код проверяет, находится ли pandoc в вашем пути переменных среды. Для моей машины ответ - нет. Однако pandoc.exe есть!
Решением было добавить '.exe' в код в строке 69.
То же самое касается "xelatex" не установлен. Добавьте в файл nbconvert / exporters / pdf.py в строке 94
Чтобы преобразовать .ipynb в pdf, ваша система должна содержать 2 компонента:
nbconvert : является частью jupyter и позволяет конвертировать ipynb в pdf
XeTeX: конвертировать ipynb в формат .tex, а затем конвертировать в pdf.
Затем вы можете использовать команду ниже для преобразования в PDF,
В случае, если это не сработает, установите pandoc и попробуйте еще раз.
Для пользователей Ubuntu ответ можно найти здесь . Я тоже это цитирую:
Наиболее вероятная причина заключается в том, что вы не установили соответствующие зависимости. В вашей системе Ubuntu должны быть установлены некоторые пакеты для преобразования файлов LaTeX и XeTeX, чтобы сохранить записную книжку в формате PDF. Вы можете установить их:
Кроме того, nbconvert это еще одна зависимость, которая обычно автоматически устанавливается вместе с jupyter. Но вы можете установить его на всякий случай, активировав виртуальную среду:
У меня возникли проблемы с правильным отображением некоторых символов при обычной загрузке в формате pdf . Итак, скачал как tex jupyter nbconvert --to latex "my notebook.ipynb" , сделал некоторые настройки с помощью блокнота (например, в моем случае мне понадобились эти строки для моего языка
), а затем экспортировал в pdf с расширением latex --output-format=pdf "my notebook.tex" .
Но в конце концов, однако, сохранить те же символы, которые Вы видите в браузере , я в конечном итоге с помощью моей печати браузера Chrome: Ctrl+P Print to pdf . Он добавляет ненужный верхний и нижний колонтитулы, но все остальное остается как есть. Больше никаких ошибок при обработке индикатора выполнения tqdm, больше не будет кода, выходящего со страницы, и так далее. Просто как тот.
В любой системе основные шаги для правильной настройки nbconvert для преобразования ноутбуков ipython в pdf / latex:
- Установить nbconvert
- Установить pandoc
- Установить Texlive
Установка nbconvert
pip install nbconvert
или conda install nbconvert
Установка pandoc
sudo apt-get install pandoc для Ubuntu
или sudo yum install pandoc для CentOS
Установка texlive
Вы можете установить рекомендуемые пакеты или полную установку. Для Ubuntu
Для других и для полной установки texlive следуйте инструкциям, данным на буксире в соответствии с вашей системой и выбором.
Я загрузил файл tar.gz с сайта tug -texlive-download и следовал инструкциям, данным в TeX Live - Быстрая установка . Краткие инструкции по установке:
rm -rf /usr/local/texlive/2019
распаковать zip файл
Введите команду: i
sudo vi /etc/bash.bashrc и вставить
PATH=/usr/local/texlive/2019/bin/x86_64-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2019/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH; export INFOPATH
Установка размера бумаги по умолчанию
tlmgr paper letter
Команды могут отличаться в зависимости от вашей системы, но основные шаги остаются прежними.
Итак, я пытался сохранить блокнот jupyter как PDF, но я просто не могу понять, как это сделать. Первое, что я пробую, это из меню "Файл" просто скачать в формате PDF, но в результате получается:
следующее, что я пытаюсь сделать, это попытаться сделать преобразование из командной строки, как это
и если я попробую
если я пытаюсь установить Pandoc ( pip install pandoc ), это дает мне
Если вы работаете на Mac и у вас установлен Homebrew, откройте терминальную оболочку и установите pandoc, введя команду:
brew install pandoc
будьте терпеливы, время для установки и компиляции может занять некоторое время на медленных интернет-соединениях или старых системах.
Чтобы это работало, я установил латекс, типичный латекс и пандок.
требуется несколько раз: несколько 100 Мб для скачивания. Я где-то читал, что вы можете использовать --no-install-recommends для texlive и extra для сокращения до dl.
2015-4-22: похоже, что обновление IPython означает, что вместо --to pdf следует использовать --to latex --post PDF . Есть связанная проблема Github .
Для преобразования записных книжек в PDF сначала необходимо установить nbconvert.
Далее, если вы не используете Anaconda или еще не сделали этого, вы должны установить pandoc, следуя инструкциям на их веб-сайт или в Linux, следующим образом:
После этого вам необходимо установить XeTex на вашем компьютере:
Теперь вы можете перейти к папке, содержащей ваш IPython Notebook, и выполнить следующую команду:
для дальнейшего ознакомления, пожалуйста, проверьте эта ссылка .
Как говорится в комментариях к вопросу, вам понадобятся пандок и латекс (например, TeXShop). Я установил pandoc с Homebrew, это заняло всего секунду. Имея pandoc и TeXShop, я мог генерировать латекс, но не pdf (в командной строке).
Изучая файл латекса (.tex) с TeXShop, ошибка произошла из-за отсутствия таблиц стилей и определений. После установки всего этого (Adjustbox.sty, adjcalc.sty, trimclip.sty, collectbox.sty, tc-pgf.def, ucs.sty, uni-global.def, utf8x.def, ucsencs.def), он наконец сделал Работа.
Тем не менее, результат на мой вкус выглядит немного странно. Очень жаль, что печать HTML-кода из Safari теряет синтаксическую окраску. В противном случае, это не выглядит так плохо. (Это все на OS X).
Я использую Anaconda-Jupyter Notebook в ОС: Ubuntu 16.0 для Python программирования.
Установите Nbconvert, Pandoc и Tex:
Откройте терминал и выполните в нем следующие команды.
Установите Nbconvert: хотя он является частью экосистемы Jupyter, установите его еще раз
Но я рекомендую использовать conda вместо pip, если вы используете anaconda
Установите Pandoc: поскольку Nbconvert использует Pandoc для преобразования уценки в форматы, отличные от HTML. Введите следующую команду
Установите TeX: для преобразования в PDF nbconvert использует TeX. Введите следующую команду
После выполнения этих команд закройте открытые записные книжки, обновите домашнюю страницу или перезапустите ядро открытой записной книжки. Теперь попробуйте скачать блокнот в формате PDF :)
Если вы используете sagemath облачную версию, вы можете просто перейти в левый угол,
выберите Файл -> Загрузить как -> Pdf через LaTeX (.pdf)
Проверьте скриншот, если хотите.
Если по какой-то причине это не сработает, попробуйте другой способ.
выберите Файл -> Предварительный просмотр и затем в предварительном просмотре.
щелкните правой кнопкой мыши -> Печать, а затем выберите Сохранить как PDF.
Этот сценарий Python имеет графический интерфейс для выбора с помощью Проводника Ipython Notebook, который требуется преобразовать в pdf. Подход с wkhtmltopdf является единственным подходом, который я нашел, работает хорошо и обеспечивает высокое качество PDF-файлов. Другие подходы, описанные здесь, проблематичны, подсветка синтаксиса не работает или графики испорчены.
Python-скрипт
Эта проблема возникла как в Ubuntu, так и в Mac OSX. После неистового набора поисков и испытаний оба они были решены. Это требует как tex , так и pandoc ; обе огромные внешние программы не могут быть установлены Python pip .
Mac OSX: использование MacPorts для установки pandoc
port install pandoc
Это должно занять около часа (в обычном случае. Если проблема не устранена, возможно, вам придется установить дистрибутив MacTeX. TeXLive.
Для Ubuntu: установите Vanilla TeXLive из сетевой установщик - , а не через apt-get . Затем установите pandoc, используя apt-get.
Sudo apt-get install pandoc
Полная установка TeXLive потребует до 4,4 ГБ на диске.
Чтобы избежать всех этих проблем, рекомендуемый способ использования IPython/Jupyter Notebook заключается в установке Anaconda Python дистрибутива.
Я обнаружил, что в nbconvert/utils/pandoc.py была ошибка кода, которая привела к ошибке для моей машины. Код проверяет, находится ли pandoc в вашем пути переменных среды. Для моей машины ответ - нет. Однако pandoc.exe есть!
Решением было добавить ".exe" в код в строке 69
То же самое касается 'xelatex' не установлен. Добавьте в файл nbconvert/exporters/pdf.py в строке 94
Затем вы добавляете ячейку типа "rawNBConvert" и включаете:
Это, похоже, помогло мне, и у сгенерированного PDF был разрыв страницы в соответствующих местах. Вам не нужно запускать пользовательский код, так как кажется, что "нормальный" путь загрузки записной книжки в виде HTML, открытия в браузере и печати в PDF работает после установки этих утилит.
У меня были разные проблемы, чтобы понять это. Я не знаю, предоставит ли он именно то, что вам нужно, но я загрузил свой блокнот в виде файла HTML, затем загрузил его в своем браузере Chrome и распечатал в виде PDF файл, который я сохранил. Он захватил весь мой код, текст и графики. Это было достаточно хорошо для того, что мне было нужно.
Для преобразования любого ноутбука Jupyter в PDF, пожалуйста, следуйте приведенным ниже инструкциям:
( Будьте внутри блокнота Jupyter ):
На Mac OS :
команда + P -> вы получите диалоговое окно печати -> изменить назначение как PDF -> нажмите печать
На Windows :
Ctrl + P -> вы получите диалоговое окно печати -> измените назначение как PDF -> нажмите печать
Как экспортировать Jupyter Notebook (файл .ipynb) в PDF с поддержкой отображения на китайском языке
В последнее время я привык писать документы в Jupyter Notebook, но не могу экспортировать их в формат PDF после написания. После экспорта как .html в качестве альтернативы, но его нелегко открыть на телефоне, главное, что изображение, экспортированное как .html, не будет отображаться должным образом. Сегодня было разработано более мошенническое решение:Сохранить как PDF прямо в браузере(И лучше всего работает тест __ Google Chrome__).
Моя системная среда: Window10, Anancoda (на основе Python3)
Давайте сначала резюмируем первую схему «Jupyter Notebook экспортирует pdf и поддерживает отображение на китайском языке», распространяющуюся в Интернете:
Если это возможно, в текущей папке будет сгенерирована серия файлов, скомпилированных LaTex, и нужный нам PDF-файл.
Но у меня в процессе есть проблемы:
- Во-первых, второй шаг не удался, ошибка следующая:
- Файл .tex, скомпилированный на шаге 3, вообще невозможно открыть с помощью WinEdt, и появится следующая ошибка:
- Таким образом, его можно открыть и изменить только с помощью Notepad ++:
- Я также пытался скопировать весь исходный код из Notepad ++ в новый файл .tex в WinEdt, но он все равно не компилируется нормально :!
Короче говоря, это было неудачно.
- Установить pandoc
- Установить MiKTex
- Измените непосредственно файл шаблона tex:
Сначала найдите файл article.tplx, путь в моей Anaconda:C:\Users\admin\Anaconda3\pkgs\nbconvert-5.4.0-py37_1\Lib\site-packages\nbconvert\templates\latex
открыть и \documentclass[11pt] превратиться в \documentclass
Если возможно, вы можете напрямую «Файл → Загрузить как → PDF через латекс (.pdf)».
Конечно, у меня все еще не получилось.
Позже я решил использовать мошеннический метод: если он не сработает, я распечатаю его как PDF прямо в браузере!
Вначале в моем Jupyter Notebook по умолчанию открывался браузер Microsoft Edge, но я обнаружил, что распечатанный PDF-файл был полностью нечитаемым!
Ни в коем случае, мне пришлось изменить браузер по умолчанию, открытый Jupyter Notebook, на Google Chrome:
- Сначала откройте Anaconda Prompt, запустите jupyter notebook --generate-config :
- Согласно возвращенному пути (вот C: \ Users \ admin.jupyter \ jupyter_notebook_config.py) найдите jupyter_notebook_config.py
- Откройте файл и добавьте в любом месте следующий код:
Здесь вам нужно найти путь, по которому находится ваш Google Chrome.exe, и заполнить соответствующее место выше. Обратите внимание, что буква r добавляется перед путем.
Наконец, снова откройте Jupyter Notebook и убедитесь, что это Google Chrome! (Не знаю почему, я повторил третий шаг два или три раза, чтобы добиться успеха.)
Откройте мой файл .ipynb и используйте функцию «печать» в Google Chrome, чтобы распечатать веб-страницу в PDF. Я случайно обнаружил, что эффект неплохой, формат в порядке, код в порядке, вывод кода в порядке и изображение в порядке , Формула не проблема. Счастливый!
Интеллектуальная рекомендация
совместный запрос mysql с тремя таблицами (таблица сотрудников, таблица отделов, таблица зарплат)
1. Краткое изложение проблемы: (внизу есть инструкция по созданию таблицы, копирование можно непосредственно практиковать с помощью (mysql)) Найдите отделы, в которых есть хотя бы один сотрудник. Отоб.
[Загрузчик классов обучения JVM] Третий день пользовательского контента, связанного с загрузчиком классов
IP, сеанс и cookie
Читайте также: