tdjs.dev projects

Book Binder

Published 2024

A handy tool to turn PDF documents into bindable book signatures.

https://bookbinder.app

While experimenting with some typesetting projects, I needed a way to turn a PDF document of sequential pages into printable, bindable signatures.

For those who do not know what I mean by a signature (as I did not, at the time):

A signature is a term used in bookbinding to describe a stack of nested, folded papers. In bookbinding, several signatures are created for each book depending on how large the book needs to be. These signatures are then stacked and sewn together.


The pages of the input document have to be re-ordered, and scaled to fit 2 pages onto a single side of the desired printer paper, as this diagram indicates:


I had been using the Bookbinder 3.0 tool to achieve this, and thought it would be useful to replicate this functionality as a web app, to save downloading and running a .jar file.

All of the processing and manipulation happens entirely in-browser via the powerful, well-documented PDF-lib – meaning documents are never sent to the server – so it is also suitable for sensitive documents.

Screenshot of the book binder app

The app includes configuration options for paper size, printer type, page scaling, and more. As the PDF manipulation happens in-browser, I am also able to render a nice preview of how the input pages will end up on the printed page.

Screenshot of the book binder app

It has proven perfect for my needs, and I hope it can be useful for others too.

Want to get in touch? You can email me at hello@tdjs.dev or message me via Twitter at @tdjsnelling.

You can also check out more work over at GitHub.