Papier Libéré

You can check out the source code or go through the demo at the bottom!


While this is just a fun personal project, I had some very clear goals from the beginning.

  • Scan pre-printed paper and make it easy to organize.
  • Be completely open source.
  • Process images locally, optionally store results in the cloud.
  • Work on any computer, including mobile devices.

With all that in mind I settled on a progressive React web app that uses a service worker for caching and web workers to scan the images. So far I've only completed the scanning portion, but hopefully all the remaining planned functionality will come. I'm also hoping to migrate my scanning code to web assembly to make it even faster!

Gallery

The demo's sample image shows off the adaptive brightening/ white balance (implemented using a custom bicubic interpolation library) quite nicely: demo image scanned demo image

But brightening doesn't mean grayscale! scanned demo image

I've optimized the scanning code quite a bit, loading the image and rendering the final result take the longest. You can also see some of the override options I've implemented in case scanning goes wrong:

Here's some of the notebooks I printed at home using 32lb paper and an Ibico Ibimaster 500 for 3:1 wire-o binding. In volumes of 10ish, including the binding machine cost and nice paper, they cost ~30% less than a similar commercially available product and for higher quantities they can be made at home for a few bucks each. demo image

And, finally, my liege waffle recipe! scanned demo image

Demo

To reproduce the second image in the gallery below, follow these steps!

  1. Go to the site and log in with a Google account (a temporary restriction).
  2. Download the photo and select it.
  3. Wait for the importing process to finish (it can take a few seconds to load the image and find the QR code before it proceeds). Once complete, the scan is shown and any marked icons are indicated. The detected scan parameters (e.g. format and page corners) can be adjusted in the "Override" menu (currently works best on desktop), and the marked icons can be manually set if needed.
  4. Currently, scans can be downloaded from most browsers by right-clicking on the image. Easy downloading, exporting, and multipage-merging are in the works!