59 lines
1.5 KiB
Bash
Executable File
59 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
TEMPDIR=/tmp/scanner/
|
|
|
|
|
|
RET_SCAN=0
|
|
RET_MAGICK=-1
|
|
FILENAME="UNDEFINED"
|
|
|
|
#DEVICE=utsushi:esci:usb:0x04B8:0x110B
|
|
DEVICE="utsushi:esci:usb:/sys/devices/pci0000:00/0000:00:08.3/0000:13:00.0/usb7/7-1/7-1.2/7-1.2:1.0"
|
|
function sendPaperless() {
|
|
TOKEN=$(pass show paperless/api-token 2>/dev/null)
|
|
curl -X POST \
|
|
--url https://5ccppi.org:8080/api/documents/post_document/ \
|
|
--header "Authorization: token $TOKEN" \
|
|
-F "document=@$1"
|
|
echo "curl: " $?
|
|
}
|
|
|
|
if [ ! -d "$TEMPDIR" ]; then
|
|
echo "create tempdir as it does not exist"
|
|
mkdir $TEMPDIR
|
|
echo "mkdir returned: " $?
|
|
fi
|
|
|
|
if [ -d "$TEMPDIR" ]; then
|
|
scanimage --tl-x 7 -d $DEVICE --batch="$TEMPDIR/out%d.pnm" \
|
|
--source=ADF \
|
|
--resolution=200
|
|
RET_SCAN=$?
|
|
echo "scanimage retured:" $RET_SCAN
|
|
else
|
|
echo "$TEMPDIR does not exist and could not be created"
|
|
fi
|
|
#scanimage error 1, 2
|
|
#returns on success also 2
|
|
|
|
if [ $RET_SCAN == 2 ]; then
|
|
DATE=$(date +scan_%F-%s)
|
|
FILENAME="$TEMPDIR/$DATE.pdf"
|
|
magick -compress jpeg -quality 60 -density 150 "$TEMPDIR/out*.pnm" $FILENAME
|
|
RET_MAGICK=$?
|
|
|
|
for pnmFile in "$TEMPDIR/out*.pnm"
|
|
do
|
|
echo "remove temporary pnm files in $TEMPDIR"
|
|
rm $pnmFile
|
|
done
|
|
fi
|
|
if [ $RET_MAGICK == 0 ]; then
|
|
echo "magick sucessful converted $FILENAME"
|
|
sendPaperless $FILENAME
|
|
xdg-open $FILENAME
|
|
else
|
|
echo -e "ERROR: magick returned: " $RET_MAGICK " there sems to be nothing to do\n is the paper inserted?"
|
|
fi
|
|
|
|
|