Copyright 2016-2021 Sam Strachan
I've decided to switch to using only this, I find using this in a browser is just perfect and way better than bloated software from printer manufacturers
It enabled me to still use my old hp3900 scanner without worrying about drivers and vendor specific UIs. Furthermore, scans just being accessible via an awesome web interface makes it even more brilliant!
This is a great project! The touchscreen and buttons on my Brother scanner are broken, meaning the device is useless by itself because one cannot trigger scans, but with this project I can trigger it remotely just fine.
scanservjs is a web UI frontend for your scanner. It allows you to share one or more scanners (using SANE) on a network without the need for drivers or complicated installation.
- Cropping
- Source selection (Flatbed / ADF)
- Resolution
- Output formats (TIF, JPG, PNG, PDF and TXT with Tesseract OCR) with varying compression settings
- Filters: Autolevels, Threshold, Blur
- Configurable overrides for all defaults as well as filters and formats
- Multipage scanning (with collation for double sided scans)
- International translations: Czech, French, German, Italian, Mandarin, Polish, Portuguese (BR), Russian, Spanish; Help requested
- Light and dark mode
- Responsive design
It supports any SANE compatible devices.
- SANE Scanner
- Linux host (or VM with necessary pass-through e.g. USB)
- Software sane-utils, ImageMagick, Tesseract (optional) and nodejs
- Manual installation
- Docker installation
- Scanner and SANE setup
- Proxy setup
- Troubleshooting
- Development notes
If you want to override some specific configuration settings then you can do so
within ./config/config.local.js
. See Configuration for more
detail.
This is yet another scanimage-web-front-end. Why? It originally started as an adaptation of phpsane - just to make everything a bit newer, give it a refresh and make it work on minimal installations without imagemagick - that version is still available but is no longer maintained. Since then, I just wanted to write it in node and enhance it a bit, and it's been a labour of love ever since.