PocketBook – DIY pocket-sized Project Gutenberg books

5 days ago 2

Turn Project Gutenberg books into very compact versions, to print on standard A4, fold to pocket size, and carry around to read anywhere.

The python script downloads the html version of a book and converts it into a pdf with minimised margins, tiny font size, no page breaks etc to fit as much text on paper as possible.

The minified pages are arranged to be printed on standard office paper and folded into a booklet the size of a credit card.


The books directory contains a few books ready to print (see below for folding instructions)


Make your own pocket book

Clone the repository

git clone [email protected]:sieste/pocketbook.git cd pocketbook

Create a python virtual environment and install required libraries

python -m venv venv source venv/bin/activate pip install -r requirements.txt

Copy the book's "Download HTML (zip)" url from Project Gutenberg:

Run the python script on the download link:

./pocketbook.py https://www.gutenberg.org/cache/epub/36/pg36-h.zip ## Extracted to: /tmp/tmpzpp6533v ## Creating pdf /tmp/tmpzpp6533v/pg36-images.pdf ## Done. ## Creating booklet ... ## Booklet PDF created: The_War_of_the_Worlds-booklet.pdf

(Alternatively, download the zip file and run the script on the local file ./pocketbook.py path/to/downloaded/pg36-h.zip)

Print out on regular A4 office paper (one- or two-sided, margins as small as possible). Then cut & fold each page using the "zine fold":

(Printing two-sided creates smaller books but you have to re-fold after reading 8 pages.)

I use recycled cardboard and string to bind my pocket book. Just slide the individual booklets through loops of string wrapped around the cardboard sleeve like this:


Read Entire Article