A simple and efficient document scanning utility written in Go with a terminal user interface.
ScanExpress is a command-line application that provides a convenient way to control document scanners, scan multiple pages, and automatically generate PDF documents from the scanned images. It uses the scanimage
utility under the hood and provides a friendly TUI (Terminal User Interface) built with Bubble Tea.
- Auto-detect available scanners
- Save scanner configuration for future use
- Simple TUI for selecting scanners and configuring scan options
- Support for scanning multiple pages
- Support for duplex (double-sided) scanning
- Automatic PDF generation from scanned images
- Auto-deskew and auto document size detection
scanexpress.mp4
scanimage
(SANE backend) for scanner accessimg2pdf
for PDF generation
Build and install the application to $HOME/.local/bin
(default) or a custom path:
git clone https://github.com/midoBB/scanexpress.git
cd scanexpress
make build
# Install to default location
make install
# Install to a custom location
make install INSTALL_PATH=/path/to/install
Download the latest release from the releases page.
Run the application:
./scanexpress
-s, --select
: Force scanner selection even if one is already configured
The application stores configuration in ~/.config/scanexpress/config.yaml
. This includes:
- Previously selected scanner
- Default save folder
- Select a scanner from the list of available devices
- Choose a folder to save scanned documents
- Enter the number of pages to scan
- Select scan mode (single-sided or duplex)
- Follow the prompts to scan documents
- A PDF will be automatically generated when scanning is complete
- Better input for duplex/single page scans
- Add a progress bar
- Add the option to customize the DPI and other scan parameters in the TUI or in the config file