It is possible to build a single PDF that contains all of your book’s content. This page describes a few ways to do so.

Warning

PDF building is experimental, and may change or have bugs.

There are two approaches to building PDF files:

## Build a PDF from your book HTML¶

It is also possible to build a single PDF from your book’s HTML. This first converts all of your book’s content into a single HTML file, and then renders it as a PDF by emulating a browser from the command-line.

### Installation¶

Your system will need to use pyppeteer to parse the generated html for conversion to PDF.

### Installing pyppeteer¶

If you wish to build a PDF from your book’s HTML, you will need the pyppeteer package. You can install it like so:

pip install pyppeteer


You may also need to install this bundle of packages below (on *nix systems):

gconf-service
libasound2
libatk1.0-0
libatk-bridge2.0-0
libc6
libcairo2
libcups2
libdbus-1-3
libexpat1
libfontconfig1
libgcc1
libgconf-2-4
libgdk-pixbuf2.0-0
libglib2.0-0
libgtk-3-0
libnspr4
libpango-1.0-0
libpangocairo-1.0-0
libstdc++6
libx11-6
libx11-xcb1
libxcb1
libxcomposite1
libxcursor1
libxdamage1
libxext6
libxfixes3
libxi6
libxrandr2
libxrender1
libxss1
libxtst6
ca-certificates
fonts-liberation
libappindicator1
libnss3
lsb-release
xdg-utils
wget


### Build¶

To build a single PDF from your book’s HTML, use the following command:

jupyter-book build mybookname/ --builder pdfhtml


or

jb build mybookname/ --builder pdfhtml


Warning

If you get a “MaxRetryError” and see mentions of SSL in the error message when when building the PDF, this could be due to a bug in pyppeteer as it downloads Chromium for the first time. See this github comment for a potential fix, and this jupyter book issue where we’re tracking the issue.

## Build a PDF using Latex¶

You can also use Latex to build a PDF of your book. This can behave differently depending on your operating system and setup. This section tries to recommend a few best-practices.

### Installation¶

For Debian based Linux platforms it is recommended to install the following packages:

sudo apt-get install texlive-latex-recommended texlive-fonts-recommended texlive-latex-extra latexmk


alternatively you can install texlive

For OSX you may want to use mactex which is a more user friendly approach, alternatively you may use texlive.

For Windows please install texlive.

### Build¶

To build a single PDF using LaTeX, use the following command:

jupyter-book build mybookname/ --builder pdflatex


or

jb build mybookname/ --builder pdflatex


Note

If you would just like to generate the latex file you may use:

jb build mybookname/ –builder latex