scanbd_custom_scan_scripts/scan.script

51 lines
1.8 KiB
Plaintext
Raw Permalink Normal View History

2023-07-24 14:40:41 +02:00
#!/bin/bash
2023-07-24 14:48:40 +02:00
SCRIPTPATH="$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)"
2023-07-24 14:40:41 +02:00
RANDOMNUMBER=$(cat /dev/urandom | tr -dc A-Za-z0-9 | head -c${1:-16})
DATE=$(date +"%Y-%m-%dT%H%M%S")
2023-07-24 14:48:40 +02:00
outdir=/var/spool/scan/out
2023-07-24 14:40:41 +02:00
outname=$DATE.pdf
tmpdir=/tmp/scan-$RANDOMNUMBER
rotatepagesthreshold=10.0
2023-07-24 14:40:41 +02:00
cloudsendpass=""
cloudsendurl=""
2023-07-24 14:48:40 +02:00
source $SCRIPTPATH/scan.script.env
2023-07-24 14:40:41 +02:00
clean_up() {
echo "##### Cleaning up $tmpdir #####"
rm -rf $tmpdir
}
2023-07-24 15:58:04 +02:00
echo "###### Begin of $SCANBD_ACTION for device $SCANBD_DEVICE ######"
2023-07-24 14:48:40 +02:00
echo "###### TMPDIR $tmpdir ######"
2023-07-24 14:40:41 +02:00
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
2023-07-24 15:58:04 +02:00
if [ ! -f "$tmpdir/p001.tiff" ]; then
2023-07-24 15:58:04 +02:00
echo "#### Scan was not successful, aborting ... ####"
clean_up
2023-07-24 15:58:04 +02:00
exit 1
fi
2023-07-24 14:40:41 +02:00
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 ##########"
2023-07-24 14:48:40 +02:00
mkdir -p $outdir
ocrmypdf -l eng+deu --deskew --clean --rotate-pages --rotate-pages-threshold $rotatepagesthreshold $tmpdir/tiff2pdf.pdf $outdir/$outname
2023-07-24 14:40:41 +02:00
echo "############# Attempting upload ###############"
CLOUDSEND_PASSWORD=$cloudsendpass cloudsend -p $outdir/$outname $cloudsendurl
if [ $? -eq 0 ]; then
rm -f $outdir/$outname
fi
clean_up
2023-07-24 14:40:41 +02:00
echo "######## Finished scan $outname ########"