Obwohl scanimage aus dem SANE Werkzeugkasten in der (aktuellen?) OS X Version
1$ scanimage --version
2scanimage (sane-backends) 1.0.21cvs; backend version 1.0.21
(installiert nach http://blog.mro.name/2008/12/scanner-mustek-1200-cu-unter-mac-os-x-105/) beim Versuch per „batch“ mehrere Seiten zu scannen jeweils nach Seite 1 aus der Kurve fliegt:
1$ scanimage --batch-start=45 --batch-count=16 --batch --batch-prompt \
2--format=pnm --mode Color --resolution 300
3...
4Scanning page 46
5scanimage: sane_start: Invalid argument
und das auch ein bekanntes Problem zu sein scheint, gibt’s einen Workaround per selbstgebautem Shell-Script:
1#!/bin/sh
2# http://blog.mro.name/2009/07/sane-batch-scan-workaroun/
3pre=scan-`date "+%Y-%m-%dT%H:%M"`
4echo "To create a pdf, call after scanning the pages:"
5echo " convert $pre*.png -despeckle -density 100x100 -compress JPEG -quality 50 -page a4 $pre.pdf"
6for ((i=0;i < 100;i++))
7do
8 echo "Place document no. $i on the scanner."
9 echo "Press <RETURN> to continue, <q> + <RETURN> to quit."
10 echo \\a
11 read key
12 if [[ $key == "q" || $key == "Q" ]] ; then
13 break
14 fi
15 dst=$pre-page$(printf %03d $i)
16 scanimage --mode Gray --resolution 300 --buffer-size=1024 --progress > $dst.pnm
17 # background conversion:
18 (convert $dst.pnm -level 15,85% -density 300x300 -type grayscale \
19 -resample 100x100 $dst.png && rm $dst.pnm) &
20done
21ls -l $pre*
é voilá.
Um das ganze dann noch in ein PDF moderater Größe zu verwandeln genügt (ImageMagick z.B. via darwinport vorausgesetzt):
1$ time convert *.png -despeckle -density 100x100 \
2-compress JPEG -quality 75 -page a4 out.pdf
3
4real 3m39.867s
5user 2m55.069s
6sys 0m9.628s
.