#!/bin/bash
if [ $# -eq 0 ]; then
	echo "usage: scan file [offset] [duplex]"
fi
if [ $# -le 2 ]
then
	OFFSET=0
else
	OFFSET=$2
fi
if [ $# -eq 3 ]
then
	DUPLEX="--duplex=yes"
fi
DIR=$HOME/.tmp
export DIR
cd $DIR
rm $DIR/*.tif
rm $DIR/*.tif.g4
rm $DIR/*.tif.tmp
#hpoj:mlc:usb:officejet_d_series for 2.4 kernel
sudo modprobe usblp
sudo modprobe uhci-hcd
sudo mount -t usbdevfs none /proc/bus/usb >/dev/null 2>&1
sudo ptal-init start
ptal-hp display
scanimage -v --batch-start=$OFFSET --batch=out%03d.tif --batch-scan=yes -d hpoj:mlc:usb:officejet_d_series --mode Lineart --compression None --format tiff --resolution 300 -x 210 -y 297 $DUPLEX
#scanimage --mode Lineart -d hpoj:mlc:usb:officejet_d_series --format tiff --resolution 300 -x 210 -y 297 $DUPLEX > $1
if [ $DUP ] && [ $# -eq 3 ] #duplexes need rotating
	then
	for f in out*.tif; do
		fb=`basename $f`
		echo $fb
		if [ $((${fb:3:3}%2)) -eq 1 ]; then
			#uneven page
			echo "uneven page"
			nice -n 20 convert -rotate 180 $f $f.tmp
			cp $f.tmp $f
		fi
	done
fi
for t in *.tif; do tiffcp -c g4 -r 100000 $t $t.g4; done
cd -
if [ $OFFSET -eq 0 ]
then
	ls $DIR/*.tif.g4 | xargs c42pdf -o $1.pdf
fi
