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.


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
  • Can I save the file as JPEG? man scanimage just says I can use pnm or tiff with --format. Neither of these are what I want and both are producing incredibly large files (25 MB!) – Aaron Franke Sep 17 '17 at 17:53
  • 1
    You can convert them with convert command in the imagemagick package. I'll update the answer. – Oli Sep 17 '17 at 20:38
  • Modern scanimage supports png and jpeg natively, no imagemagick required (which is nice) – LovesTha Dec 27 '18 at 5:51

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.