scanbd_custom_scan_scripts/scan.script

51 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
SCRIPTPATH="$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)"
RANDOMNUMBER=$(cat /dev/urandom | tr -dc A-Za-z0-9 | head -c${1:-16})
DATE=$(date +"%Y-%m-%dT%H%M%S")
outdir=/var/spool/scan/out
outname=$DATE.pdf
tmpdir=/tmp/scan-$RANDOMNUMBER
rotatepagesthreshold=10.0
cloudsendpass=""
cloudsendurl=""
source $SCRIPTPATH/scan.script.env
clean_up() {
echo "##### Cleaning up $tmpdir #####"
rm -rf $tmpdir
}
echo "###### Begin of $SCANBD_ACTION for device $SCANBD_DEVICE ######"
echo "###### TMPDIR $tmpdir ######"
mkdir $tmpdir
echo "################## Scanning ###################"
#scanimage --device-name $SCANBD_DEVICE --format tiff --mode Color --source "ADF Duplex" --resolution 300 --buffermode On --page-height 1000mm --ald=yes --swcrop=yes --swdeskew=yes --swdespeck 2 --swskip 8% --batch=$tmpdir/p%03d.tiff
scanimage --device-name $SCANBD_DEVICE --format tiff --mode Color --source "ADF Duplex" --resolution 300 --brightness 16 --buffermode On --page-width 210mm --page-height 297mm --ald=no --swcrop=no --swdespeck 2 --swskip 8% --batch=$tmpdir/p%03d.tiff
if [ ! -f "$tmpdir/p001.tiff" ]; then
echo "#### Scan was not successful, aborting ... ####"
clean_up
exit 1
fi
echo "############# Converting to PDF ###############"
tiffcp -c lzw $tmpdir/*.tiff $tmpdir/combined.tiff
tiff2pdf -o $tmpdir/tiff2pdf.pdf -z -u m -p "A4" -F $tmpdir/combined.tiff
echo "########## OCRing and optimizing PDF ##########"
mkdir -p $outdir
ocrmypdf -l eng+deu --deskew --clean --rotate-pages --rotate-pages-threshold $rotatepagesthreshold $tmpdir/tiff2pdf.pdf $outdir/$outname
echo "############# Attempting upload ###############"
CLOUDSEND_PASSWORD=$cloudsendpass cloudsend -p $outdir/$outname $cloudsendurl
if [ $? -eq 0 ]; then
rm -f $outdir/$outname
fi
clean_up
echo "######## Finished scan $outname ########"