Raspberry Pi/Scan Server: Difference between revisions

From Wiki
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 16: Line 16:
** apt-get install ghostscript libtiff-tools
** apt-get install ghostscript libtiff-tools
** tiff2pdf -o output.pdf input.tiff
** tiff2pdf -o output.pdf input.tiff
* /etc/scanbuttond/initscanner.sh (for Canon LIDE)
<blockquote>
<pre>
#!/bin/sh
sane-find-scanner
scanimage -n
</pre>
</blockquote>
* /etc/scanbuttond/buttonpressed.sh
<blockquote>
<pre>
#!/bin/sh
BUTTON="$1"
DEVICE="$2"
TMPDIR="/tmp/scanned"
LOCKFILE="/tmp/${DEVICE}.lock"
DATE=$(date +"%Y-%m-%d_%H-%M")
if [ -f ${LOCKFILE} ]
  then
    echo "Error: Device already in use."
fi
touch ${LOCKFILE}
mkdir -p ${TMPDIR}
case ${BUTTON} in
1)
echo "button 1 has been pressed on ${DEVICE}"
/etc/scanbuttond/button1.sh ${TMPDIR} ${DEVICE}
echo "done"
;;
2)
echo "button 2 has been pressed on ${DEVICE}"
/etc/scanbuttond/button2.sh ${TMPDIR} ${DEVICE}
echo "done"
;;
3)
echo "button 3 has been pressed on ${DEVICE}"
/etc/scanbuttond/button3.sh ${TMPDIR} ${DEVICE}
echo "done"
;;
4)
echo "button 4 has been pressed on ${DEVICE}"
/etc/scanbuttond/button4.sh ${TMPDIR} ${DEVICE}
echo "done"
;;
esac
rm -f ${LOCKFILE}
</pre>
</blockquote>
* /etc/scanbuttond/button1.sh
<blockquote>
<pre>
#!/bin/sh
TMPDIR=$1
DEVICE=$2
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
scanimage -n
scanimage --format pnm --device-name ${DEVICE} --mode Gray --depth 8 --resolution 300 -l 0 -t 0 -x 210mm -y 297mm --lamp-off-time 15 > ${TMPDIR}/image.pnm
pnmtojpeg -quality 85 -optimize ${TMPDIR}/image.pnm > ${TMPDIR}/image.jpeg
cp ${TMPDIR}/image.jpeg /srv/scanner/${DATE}-scan.jpg
rm -f ${TMPDIR}/*
scanimage -n
</pre>
</blockquote>

Latest revision as of 16:53, 20 May 2013

  • tiff2pdf
    • apt-get install ghostscript libtiff-tools
    • tiff2pdf -o output.pdf input.tiff


  • /etc/scanbuttond/initscanner.sh (for Canon LIDE)
#!/bin/sh
sane-find-scanner
scanimage -n
  • /etc/scanbuttond/buttonpressed.sh
#!/bin/sh

BUTTON="$1"
DEVICE="$2"

TMPDIR="/tmp/scanned"
LOCKFILE="/tmp/${DEVICE}.lock"
DATE=$(date +"%Y-%m-%d_%H-%M")

if [ -f ${LOCKFILE} ]
  then
    echo "Error: Device already in use."
fi

touch ${LOCKFILE}
mkdir -p ${TMPDIR}

case ${BUTTON} in
	1)
		echo "button 1 has been pressed on ${DEVICE}"
		/etc/scanbuttond/button1.sh ${TMPDIR} ${DEVICE}
		echo "done"
		;;
	2)
		echo "button 2 has been pressed on ${DEVICE}"
		/etc/scanbuttond/button2.sh ${TMPDIR} ${DEVICE}
		echo "done"
		;;
	3)
		echo "button 3 has been pressed on ${DEVICE}"
		/etc/scanbuttond/button3.sh ${TMPDIR} ${DEVICE}
		echo "done"
		;;
	4)
		echo "button 4 has been pressed on ${DEVICE}"
		/etc/scanbuttond/button4.sh ${TMPDIR} ${DEVICE}
		echo "done"
		;;
esac

rm -f ${LOCKFILE}


  • /etc/scanbuttond/button1.sh
#!/bin/sh

TMPDIR=$1
DEVICE=$2
DATE=$(date +"%Y-%m-%d_%H-%M-%S")

scanimage -n

scanimage --format pnm --device-name ${DEVICE} --mode Gray --depth 8 --resolution 300 -l 0 -t 0 -x 210mm -y 297mm --lamp-off-time 15 > ${TMPDIR}/image.pnm
pnmtojpeg -quality 85 -optimize ${TMPDIR}/image.pnm > ${TMPDIR}/image.jpeg
cp ${TMPDIR}/image.jpeg /srv/scanner/${DATE}-scan.jpg

rm -f ${TMPDIR}/*

scanimage -n