【问题标题】:IPython notebook - unable to export to pdfIPython 笔记本 - 无法导出为 pdf
【发布时间】:2014-03-12 09:50:35
【问题描述】:

我正在尝试将我的 IPython 笔记本导出为 pdf,但不知何故我不知道该怎么做。我搜索了 stackoverflow 并已经阅读了有关 nbconvert 的信息,但是我在哪里输入该命令?在笔记本上?在 cmd 提示符下? 如果有人可以告诉我,一步一步,该怎么做?我正在使用 Python 3.3 和 IPython 1.1.0。 提前谢谢你:)

【问题讨论】:

  • 该命令应该在命令提示符下运行,在您拥有笔记本的同一目录中。在提示符下执行命令(无论是 windows 还是 unix)是一个复杂的话题,所以如果你还没有熟悉它,你应该先熟悉它。 Here's a good reference applicable to most unix systems
  • @goncalopp 感谢您的回答和参考。所以我想我必须做很多事情才能在命令提示符下执行 nbconvert 命令?因为当我导航到我的笔记本目录并键入 $ ipython nbconvert 等时,它会说“'$' 不被识别为内部或外部命令等。
  • @uberswag 不要输入$。它仅在文档中用作占位符以指示命令 prompt。如果您使用的是 unix 系统,那么在您开始输入之前,您应该已经在提示符中包含了它。如果您使用的是 Windows,则应遵循 Windows 参考(适用于 unix/linux/ubuntu)

标签: python pdf ipython ipython-notebook


【解决方案1】:
  1. 对于 HTML 输出,您现在应该使用 Jupyter 代替 IPython 并选择 文件 -> 下载为 -> HTML (.html) 或运行以下命令:

    jupyter nbconvert --to html notebook.ipynb  
    

    这会将 Jupyter 文档文件 notebook.ipynb 转换为 html 输出格式。

    Google Colaboratory 是 Google 的免费 Jupyter 笔记本环境,无需设置即可完全在云端运行。如果您使用的是 Google Colab,命令是相同的,但 Google Colab 只允许您下载 .ipynb 或 .py 格式。

  2. 将 html 文件 notebook.html 转换为名为 notebook.pdf 的 pdf 文件。在 Windows、Mac 或 Linux 中,安装 wkhtmltopdf。 wkhtmltopdf 是一个命令行实用程序,用于使用 WebKit 将 html 转换为 pdf。您可以从链接的网页下载 wkhtmltopdf,或者在许多 Linux 发行版中可以在其存储库中找到它。

    wkhtmltopdf notebook.html notebook.pdf   
    

原始(现在几乎已过时)修订:

  1. 将 IPython 笔记本文件转换为 html。

    ipython nbconvert --to html notebook.ipynb  
    

    这会将 IPython 文档文件 notebook.ipynb 转换为 html 输出格式。

  2. 将 html 文件 notebook.html 转换为名为 notebook.pdf 的 pdf 文件。在 Windows、Mac 或 Linux 中,安装 wkhtmltopdf。 wkhtmltopdf 是一个命令行实用程序,用于使用 WebKit 将 html 转换为 pdf。您可以从链接的网页下载 wkhtmltopdf,或者在许多 Linux 发行版中可以在其存储库中找到它。

    wkhtmltopdf notebook.html notebook.pdf  
    

【讨论】:

    【解决方案2】:

  • 打开终端
  • 导航到您的笔记本目录
  • ipython nbconvert mynotebook.ipynb --to latex --post PDF
  • 【讨论】:

    • 在我运行 IPython 3.1 的系统上出现错误:ImportError: No module named 'PDF'
    • 那是因为 nbconvert API 发生了变化。试试:ipython nbconvert --to pdf <notebookfile)
    【解决方案3】:

    我也遇到了同样的问题。我尝试在笔记本中使用选项选择文件 --> 下载为 --> Pdf via LaTeX (.pdf),但它对我不起作用(它对我不起作用)。我尝试了其他选项也仍然无法正常工作。

    我通过以下非常简单的步骤解决了这个问题。希望对你也有帮助:

    您可以先将笔记本转换为 HTML,然后再转换为 PDF 格式:

    以下我已实施的步骤: 操作系统:Ubuntu、Anaconda-Jupyter notebook、Python 3

    1 以 HTML 格式保存笔记本:

    1. 启动要以 HTML 格式保存的 jupyter notebook。首先正确保存笔记本,以便 HTML 文件具有您的代码/笔记本的最新保存版本。

    2. 从笔记本本身运行以下命令:

      !jupyter nbconvert --to html notebook_name.ipynb

    执行后将创建您的笔记本的 HTML 版本并将其保存在当前工作目录中。您会看到一个 html 文件将添加到当前目录,名称为 your_notebook_name.html

    (notebook_name.ipynb --> notebook_name.html).

    2 将 html 保存为 PDF:

    1. 现在打开notebook_name.html 文件(单击它)。它将在浏览器的新标签页中打开。
    2. 现在转到打印选项。从这里您可以将此文件保存为 pdf 文件格式。

    请注意,从打印选项中,我们还可以灵活地选择笔记本的一部分以保存为 pdf 格式。

    【讨论】:

      【解决方案4】:

      ipython nbconvert notebook.ipynb --to pdf

      【讨论】:

        【解决方案5】:

        如果你使用的是sagemath云版,你可以直接去左下角,
        select File --> Download as --> Pdf via LaTeX (.pdf)
        如果你想看截图。


        如果由于任何原因它不起作用,您可以尝试另一种方法。
        select File --> Print Preview and then on the preview
        right click --> Print and then select save as pdf.

        【讨论】:

          【解决方案6】:

          其他建议的方法:

          1. 使用“打印然后选择另存为 pdf”。从您的 HTML 文件中删除会导致 loss 边框边缘、语法突出显示、绘图修剪等。

          2. 在使用过时版本时,其他一些库已被证明已损坏。

          解决方案: 更好、更轻松的选择是使用在线转换器https://www.sejda.com/html-to-pdf,它将*.html 版本的*.ipynb 转换为*.pdf。

          步骤:

          1. 首先,在 Jupyter 笔记本界面中,使用
          2. 将 *.ipynb 转换为 *.html

          文件 > 下载为 > HTML(.html)

          1. 将新创建的 *.html 文件上传到https://www.sejda.com/html-to-pdf,然后选择 HTML 到 PDF 选项。
          2. 您的 pdf 文件现在可以下载了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-01-16
            • 2014-09-14
            • 2015-11-18
            • 2014-06-11
            • 2017-02-03
            • 2018-07-02
            相关资源
            最近更新 更多