#!/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 ########"