Scanning from terminal

I want to be able to scan from the terminal and then send the scanned output to a specific directory. Can this be done from the terminal.


Solution 1:

scanimage is installed by default.

And here's me using it:

$ scanimage -L
device `epson2:libusb:002:003' is a Epson PID 084F flatbed scanner

$ scanimage -d "epson2:libusb:002:003" --format tiff > rawr.tiff

Obviously that generates a tiff-formatted file. Lossless but usually quite vast. You can convert this down withou an intermediary file by installing imagemagick and then piping the scan output into the convert command:

$ scanimage -d "epson2:libusb:002:003" --format=tiff | convert tiff:- scan.jpg

Solution 2:

Tested in 18.04 LTS, works fine.

You may need to set a scan resolution (150/300/600 dpi). To do this use "--resolution" param (this param don't mentioned in scanimage manpage docs). It helps you to reduce the size of produced files.

Example for 600 dpi scan with png output:

scanimage "epson2:libusb:002:003" --resolution 600 --format=png

Output file size difference between 300 and 600 dpi is significant if you scan an image (not text).

My values for default A4 image:

  • 300 dpi: 2560px * 3150px image, 2-20 Mb *.png file
  • 600 dpi: 5120px * 7020px image, 30-65 Mb *.png file