#!/bin/sh ## vollstaendige /Pfadangabe ohne / Endung ## QUELLE="/home/pdfeingang" ZIEL="/home/pdfausgang" TMP="/tmp/OCR" ORIGINAL="/home/pdfablage" DATUM=$(date) COUNTER=$(cat /home/counter) if [ ! -e $TMP ]; then mkdir $TMP fi if [ -e $TMP/begin -o ! "$(ls -A $QUELLE/*.pdf 2>/dev/null)" ]; then echo "NOP" exit 0 fi touch $TMP/begin for x in $QUELLE/*.pdf do FILENAME=`basename "$x"` # Problem mit inkomp. PDF November 2016 qpdf "$x" $TMP/render-"$FILENAME" mv $TMP/render-"$FILENAME" "$x" # if [ $(pdftotext "$x" - | grep -cE '[[:alpha:]]' 2>/dev/null) -ne 0 ] then COUNTER=$((COUNTER+1)) cp "$x" $ORIGINAL/$COUNTER-"$FILENAME" mv "$x" $ZIEL/$COUNTER-"$FILENAME" else COUNTER=$((COUNTER+1)) SEITEN=$(pdfinfo "$x" | grep 'Pages' - | awk '{print $2}' ) for j in `seq 1 $SEITEN`; do convert -auto-orient -density 300 -depth 8 \ "$x"\[$(($j - 1 ))\] $TMP/seite$j.png tesseract $TMP/seite$j.png $TMP/seite$j -l deu echo "" >> $TMP/seite$j.txt echo "DMS by GfUD at $DATUM Paginierung $COUNTER" >> $TMP/seite$j.txt iconv -sc -f utf8 -t latin1 $TMP/seite$j.txt > $TMP/seiteX$j.txt a2ps -RB --columns=1 $TMP/seiteX$j.txt -o $TMP/seite$j.ps ps2pdf -sPAPERSIZE=a4 $TMP/seite$j.ps $TMP/seite$j.pdf done pdftk "$x" $TMP/seite*.pdf output $ZIEL/$COUNTER-"$FILENAME" mv "$x" $ORIGINAL/$COUNTER-"$FILENAME" rm $TMP/seite*.* fi done echo $COUNTER > /home/counter rm $TMP/begin exit 0