Итак, я пытался сохранить записную книжку jupyter в формате PDF, но я просто не могу понять, как это сделать. Первое, что я пробую, это из меню файла просто скачать как PDF, но в результате:
nbconvert failed: PDF creating failed
следующее, что я попробую, - это попытаться выполнить преобразование из командной строки следующим образом
$ ipython nbconvert --to latex --post PDF MyNotebook.ipynb
но опять же, это приводит к сообщению об ошибке
ImportError: No module named 'PDF'
и если я попробую
$ ipython nbconvert --to latex MyNotebook.ipynb
это приводит к
IPython.nbconvert.utils.pandoc.PandocMissing: Pandoc wasn't found:
Please check that pandoc is installed
если я попытаюсь установить pandoc ( pip install pandoc
), это даст мне
ImportError: No module named 'ConfigParser'
и здесь я застреваю, потому что просто не знаю, что еще делать. Кто-нибудь знает, как исправить то, что не так?
pandoc
иlatex
)Ответы:
Чтобы он работал, я установил латекс, типичный дополнительный латекс и pandoc.
С Ubuntu:
несколько раз: несколько 100 Мб на скачивание. Я где-то читал, что вы можете использовать
--no-install-recommends
для texlive и extra, чтобы уменьшить до dl.источник
pandoc
иtexlive-xetex
.texlive-generic-extra
решить эту проблему , помимо того,texlive-xetex
что предложил @douggard.Если вы работаете на Mac и у вас установлен Homebrew, откройте оболочку терминала и установите pandoc, набрав команду:
brew install pandoc
наберитесь терпения, установка и компиляция могут занять некоторое время на медленных интернет-соединениях или старых системах.
источник
brew install pandoc
иbrew cask install mactex-no-gui
.2015-4-22: Похоже, что обновление IPython означает, что его
--to pdf
следует использовать вместо--to latex --post PDF
. Есть связанная проблема с Github .источник
Чтобы конвертировать записные книжки в PDF, вам сначала необходимо установить nbconvert.
pip install nbconvert # OR conda install 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).
источник
jupyter nbconvert --to pdf filename.ipynb
Этот скрипт Python имеет графический интерфейс для выбора с помощью проводника записной книжки Ipython, которую вы хотите преобразовать в pdf. Подход с wkhtmltopdf - единственный подход, который, как я обнаружил, хорошо работает и обеспечивает высокое качество PDF-файлов. Другие подходы, описанные здесь, проблематичны, подсветка синтаксиса не работает или графики испорчены.
Вам необходимо установить wkhtmltopdf: http://wkhtmltopdf.org/downloads.html
и Nbconvert
pip install nbconvert # OR conda install nbconvert
Скрипт Python
# Script adapted from CloudCray # Original Source: https://gist.github.com/CloudCray/994dd361dece0463f64a # 2016--06-29 # This will create both an HTML and a PDF file import subprocess import os from Tkinter import Tk from tkFileDialog import askopenfilename WKHTMLTOPDF_PATH = "C:/Program Files/wkhtmltopdf/bin/wkhtmltopdf" # or wherever you keep it def export_to_html(filename): cmd = 'ipython nbconvert --to html "{0}"' subprocess.call(cmd.format(filename), shell=True) return filename.replace(".ipynb", ".html") def convert_to_pdf(filename): cmd = '"{0}" "{1}" "{2}"'.format(WKHTMLTOPDF_PATH, filename, filename.replace(".html", ".pdf")) subprocess.call(cmd, shell=True) return filename.replace(".html", ".pdf") def export_to_pdf(filename): fn = export_to_html(filename) return convert_to_pdf(fn) def main(): print("Export IPython notebook to PDF") print(" Please select a notebook:") Tk().withdraw() # Starts in folder from which it is started, keep the root window from appearing x = askopenfilename() # show an "Open" dialog box and return the path to the selected file x = str(x.split("/")[-1]) print(x) if not x: print("No notebook selected.") return 0 else: fn = export_to_pdf(x) print("File exported as:\n\t{0}".format(fn)) return 1 main()
источник
nbconvert
для экспорта в html, а затем используетеwkhtmltopdf
для преобразования в pdf. но это не ясно из вашего ответа :-)Я использую Anaconda-Jupyter Notebook в ОС: Ubuntu 16.0 для программирования на Python.
Установите Nbconvert, Pandoc и Tex:
Откройте терминал и выполните в нем следующие команды.
Установите Nbconvert: хотя это часть экосистемы Jupyter, все же установите его еще раз
Или
Но я рекомендую использовать conda вместо pip, если вы используете anaconda
Установите Pandoc: поскольку Nbconvert использует Pandoc для преобразования уценки в форматы, отличные от HTML. Введите следующую команду
Установите TeX: для преобразования в PDF nbconvert использует TeX. Введите следующую команду
После выполнения этих команд закройте открытые записные книжки, обновите домашнюю страницу или перезапустите ядро открытой записной книжки. А теперь попробуйте скачать записную книжку в формате pdf :)
Примечание. Дополнительные сведения см. В официальной документации:
https://nbconvert.readthedocs.io/en/latest/install.html.
источник
Чтобы преобразовать любой блокнот Jupyter в PDF, следуйте приведенным ниже инструкциям:
( Будьте внутри записной книжки Jupyter ):
На Mac OS :
command + P -> откроется диалоговое окно печати -> изменить место назначения как PDF -> Нажмите печать
На Windows :
Ctrl + P -> вы получите диалоговое окно печати -> изменить место назначения как PDF -> Нажмите кнопку печати
Если вышеуказанные шаги не создают полный PDF-файл записной книжки Jupyter (возможно, потому, что Chrome иногда не печатает все выходные данные, потому что Jupyter делает прокрутку для больших выходов),
Попробуйте выполнить следующие шаги для удаления автоматической прокрутки в меню : -
Кредиты: @ ÂngeloPolotto
В записной книжке Jupyter щелкните Ячейка в верхней части записной книжки jupyter.
Затем нажмите Весь вывод -> Переключить прокрутку для удаления автоматической прокрутки.
источник
Эта проблема наблюдалась как в Ubuntu, так и в Mac OSX. После неистовых поисков и испытаний они оба были раскрыты. Для этого требуются оба
tex
иpandoc
; обе большие внешние программы не могут быть установлены Pythonpip
.Это должно занять почти час (в обычном случае). Если проблема не исчезнет, возможно, вам придется установить дистрибутив MacTeX. из TeXLive.
Для полной установки TeXLive потребуется до 4,4 ГБ на диске.
Чтобы избавиться от всех этих проблем, рекомендуемым способом использования IPython / Jupyter Notebook будет установка дистрибутива Anaconda Python.
источник
У меня тоже были всевозможные проблемы с этим. Я не знаю, предоставит ли он именно то, что вам нужно, но я загрузил свой блокнот в виде HTML-файла, затем вытащил его в своем браузере Chrome, а затем распечатал как файл PDF, который я сохранил. Он захватил весь мой код, текст и графики. Это было достаточно для того, что мне было нужно.
источник
Если вы используете облачную версию sagemath , вы можете просто перейти в левый угол,
выбрать Файл -> Загрузить как -> Pdf через LaTeX (.pdf)
Проверьте снимок экрана, если хотите.
Снимок экрана Конвертировать ipynb в pdf
Если по какой-либо причине это не сработает, вы можете попробовать другой способ.
выберите Файл -> Предварительный просмотр, а затем
щелкните правой кнопкой мыши в окне предварительного просмотра -> Печать, а затем выберите Сохранить как pdf.
источник
Как новый участник, я не мог просто добавить комментарий к посту, но хочу подтвердить, что решение, предложенное Филлипом Шварцем, сработало для меня. Надеюсь, люди в подобной ситуации попробуют этот путь раньше с упором. Долгое время отсутствие разрывов страниц было неприятной проблемой, поэтому я благодарен за обсуждение выше.
Как сказал Филипп Шварц: «Вам необходимо установить wkhtmltopdf: [ http://wkhtmltopdf.org/downloads.html ]
и Nbconvert "
Затем вы добавляете ячейку типа rawNBConvert и включаете:
<p style="page-break-after:always;"></p>
Похоже, это помогло мне, и сгенерированный 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.
if __version is None: if not which('pandoc.exe'): raise PandocMissing()
То же самое касается "xelatex" не установлен. Добавьте в файл nbconvert / exporters / pdf.py в строке 94
cmd = which(command_list[0]+'.exe')
источник
Чтобы преобразовать .ipynb в pdf, ваша система должна содержать 2 компонента:
nbconvert : является частью jupyter и позволяет конвертировать ipynb в pdf
XeTeX: конвертировать ipynb в формат .tex, а затем конвертировать в pdf.
Затем вы можете использовать команду ниже для преобразования в PDF,
В случае, если это не сработает, установите pandoc и попробуйте еще раз.
источник
Для пользователей Ubuntu ответ можно найти здесь . Я тоже это цитирую:
источник
У меня возникли проблемы с правильным отображением некоторых символов при обычной загрузке в формате 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
pip install nbconvert
или
conda install nbconvert
Установка pandoc
sudo apt-get install pandoc
для Ubuntuили
sudo yum install pandoc
для CentOSдля других посетите pandoc-installation
Установка texlive
Вы можете установить рекомендуемые пакеты или полную установку. Для Ubuntu
`
Для других и для полной установки texlive следуйте инструкциям, данным на буксире в соответствии с вашей системой и выбором.
Я загрузил файл tar.gz с сайта tug -texlive-download и следовал инструкциям, данным в TeX Live - Быстрая установка . Краткие инструкции по установке:
Очистить
rm -rf /usr/local/texlive/2019
rm -rf ~/.texlive2019
Запустить установщик
распаковать zip файл
cd /your/unpacked/directory
perl install-tl
Введите команду: 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
Команды могут отличаться в зависимости от вашей системы, но основные шаги остаются прежними.
источник
У меня была эта ошибка в Windows 10. Я выполнил эти три шага, и моя проблема была решена:
Установить nbconvert
pip install nbconvert
Установить pandoc
https://pandoc.org/installing.html
https://miktex.org/download
Также хорошо обновить библиотеки:
источник