23

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.

Luis Alvarado
  • 216,643

3 Answers3

28

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
Oli
  • 299,380
4

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
1

Here's a simple command line tool I wrote for myself to scan documents, uses scanimage and imagemagic to scan:

https://github.com/pohape/command-line-scanner

To get a JPEG file with the scan result:

./scan.sh ./test.jpg

To get a PNG file with the scan result:

./scan.sh ./test.png

To get a PDF file with the scan result:

./scan.sh ./test.pdf