Make Books
with Browsers

Julie Blanc (@julieblancfr)

A free and open source JavaScript library that paginates content in browser to create PDF outputs of any HTML content

PagedMedia Meeting, MIT Press (Cambridge), January 9th, 2018

Flux → Pagination


  • Open and free tool (MIT licence)
  • Based on webtechnology
  • Printed outputs for automated workflows
  • Possibility to switch to visual feedbacks

Semantic content (HTML)

CSS design

Paged.js script

Paginated display of content

W3C / specifications

Respect of standards


Code that implements features on web browsers
that do not support the features

Collection of scripts

External scripts


Web developpement tools


In a web browser

Automated workflows

CLI version

Post Processing

  • pdf-lib
  • hummus
  • Ghostscript



How paged.js works ?

The chunker

Fragmentation of content into pages

The polisher

Layout design of the book

  • @page:right {
  • @bottom-left{ content: counter(page); }
  • }

Datas in transformed DOM

What you can do now with paged.js ?

  • All you can do with "classical css" (include column, grid, flexbox...)
  • Spread layout
  • Different page templates (Named pages)
  • Bleed and marks
  • Page breaks

Generated content

  • Page numbers
  • Running headers / running footers
  • Table of content
  • Indexes
  • Cross references

Typographic features

  • Widows and orphans
  • Hyphenation (depend on browser)
  • OpenType features (depend on browser)

What is under developpment ?

  • Footnotes
  • Parallel flows
  • Page floats

Documentation ?

Julie Blanc (@julieblancfr)