From: Bastian Dehn Date: Fri, 27 Dec 2024 11:15:55 +0000 (+0100) Subject: change basic methods into one file and build it X-Git-Tag: v1.0.3^2~1 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=4ad50c619d5ea52e82b406ab363df85a669a7c1e;p=scantopdf.git change basic methods into one file and build it add line break end of basic sh file --- diff --git a/build-package b/build-package index 8f4bef0..1c67539 100755 --- a/build-package +++ b/build-package @@ -11,8 +11,16 @@ main() mkdir -p build/$PACKAGENAME/usr/local/bin cp scantopdf build/$PACKAGENAME/usr/local/bin/scantopdf + sed -i '/@scanbasic.sh@/r scanbasic.sh' build/$PACKAGENAME/usr/local/bin/scantopdf + sed -i '/@scanbasic.sh@/d' build/$PACKAGENAME/usr/local/bin/scantopdf + cp scantopdfgray build/$PACKAGENAME/usr/local/bin/scantopdfgray + sed -i '/@scanbasic.sh@/r scanbasic.sh' build/$PACKAGENAME/usr/local/bin/scantopdfgray + sed -i '/@scanbasic.sh@/d' build/$PACKAGENAME/usr/local/bin/scantopdfgray cp scantopdfbw build/$PACKAGENAME/usr/local/bin/scantopdfbw + + sed -i '/@scanbasic.sh@/r scanbasic.sh' build/$PACKAGENAME/usr/local/bin/scantopdfbw + sed -i '/@scanbasic.sh@/d' build/$PACKAGENAME/usr/local/bin/scantopdfbw cp generate-trennblatt build/$PACKAGENAME/usr/local/bin/generate-trennblatt mkdir -p build/$PACKAGENAME/DEBIAN diff --git a/scanbasic.sh b/scanbasic.sh new file mode 100644 index 0000000..168f711 --- /dev/null +++ b/scanbasic.sh @@ -0,0 +1,96 @@ +optimize() +{ + local input=$1 + local output=$input-out + + qpdf --linearize $input $output + mv $output $input +} + +addocr() +{ + local input=$1 + local output=$input-out + local error="" + + echo $input + error=$(ocrmypdf -l deu $input $output 2>&1) + + if [ -n "$(echo $error | grep offset)" ]; then + printf "%s: %s\n" $input $error >> $HOME/addocr-error.log + fi + + if [ -f $output ]; then + mv $output $input + optimize $input + fi +} + +createonepdf() +{ + local output=$1 + + for i in scanned*.tiff; do + tiff2pdf $i -o ${i/.tiff/.pdf} + rm $i + done + + pdftk scanned*.pdf output $output + rm scanned*.pdf + addocr $output +} + +createpdf() +{ + local start=$1 + local end=$2 + local countno= + local pdfs=() + + for i in $(seq $start $end); do + countno=$(printf "%03d" $i) + pdfs=$(echo $pdfs "scanned$countno.pdf") + done + + pdftk $pdfs output out$(printf "%03d" $start).pdf + addocr out$(printf "%03d" $start).pdf + + for i in $pdfs; do + rm $i + done +} + +detectsplit() +{ + local pdf=$1 + local trenn= + + trenn=$(zbarimg --raw --quiet $pdf) + if [ "$trenn" == "Trennblatt" ]; then + echo "true" + return + fi + + echo "false" +} + +createmultipdfs() +{ + local trenn=$1 + local startcount=1 + local endcount=1 + local pdf= + + for i in scanned*.tiff; do + pdf=${i/.tiff/.pdf} + tiff2pdf $i -o $pdf + trenn=$(detectsplit $pdf) + rm $i + if [ "$trenn" == "true" ]; then + createpdf $startcount $((endcount - 1)) + startcount=$((endcount + 1)) + rm $pdf + fi + ((endcount++)) + done +} diff --git a/scantopdf b/scantopdf index 53b095c..214f6db 100755 --- a/scantopdf +++ b/scantopdf @@ -1,101 +1,6 @@ #!/bin/bash -# -optimize() -{ - local input=$1 - local output=$input-out - - qpdf --linearize $input $output - mv $output $input -} - -addocr() -{ - local input=$1 - local output=$input-out - local error="" - - echo $input - error=$(ocrmypdf -l deu $input $output 2>&1) - - if [ -n "$(echo $error | grep offset)" ]; then - printf "%s: %s\n" $input $error >> $HOME/addocr-error.log - fi - - if [ -f $output ]; then - mv $output $input - optimize $input - fi -} - -createonepdf() -{ - local output=$1 - - for i in scanned*.tiff; do - tiff2pdf $i -o ${i/.tiff/.pdf} - rm $i - done - - pdftk scanned*.pdf output $output - rm scanned*.pdf - addocr $output -} -createpdf() -{ - local start=$1 - local end=$2 - local countno= - local pdfs=() - - for i in $(seq $start $end); do - countno=$(printf "%03d" $i) - pdfs=$(echo $pdfs "scanned$countno.pdf") - done - - pdftk $pdfs output out$(printf "%03d" $start).pdf - addocr out$(printf "%03d" $start).pdf - - for i in $pdfs; do - rm $i - done -} - -detectsplit() -{ - local pdf=$1 - local trenn= - - trenn=$(zbarimg --raw --quiet $pdf) - if [ "$trenn" == "Trennblatt" ]; then - echo "true" - return - fi - - echo "false" -} - -createmultipdfs() -{ - local trenn=$1 - local startcount=1 - local endcount=1 - local pdf= - - for i in scanned*.tiff; do - pdf=${i/.tiff/.pdf} - tiff2pdf $i -o $pdf - trenn=$(detectsplit $pdf) - rm $i - if [ "$trenn" == "true" ]; then - createpdf $startcount $((endcount - 1)) - startcount=$((endcount + 1)) - rm $pdf - fi - ((endcount++)) - done -} +@scanbasic.sh@ main() { @@ -112,7 +17,10 @@ main() local pagecount=$1 local output=$2 - scanimage --resolution=300 \ + scanimage --source=DocumentFeeder \ + --mode=Color \ + --resolution=300 \ + --scanside=Duplex \ --skip-blank-pages=yes \ --format=tiff \ --batch-count=$pagecount \ diff --git a/scantopdfbw b/scantopdfbw index 9c98580..449a57c 100755 --- a/scantopdfbw +++ b/scantopdfbw @@ -1,101 +1,6 @@ #!/bin/bash -# -optimize() -{ - local input=$1 - local output=$input-out - - qpdf --linearize $input $output - mv $output $input -} - -addocr() -{ - local input=$1 - local output=$input-out - local error="" - - echo $input - error=$(ocrmypdf -l deu $input $output 2>&1) - - if [ -n "$(echo $error | grep offset)" ]; then - printf "%s: %s\n" $input $error >> $HOME/addocr-error.log - fi - - if [ -f $output ]; then - mv $output $input - optimize $input - fi -} - -createonepdf() -{ - local output=$1 - - for i in scanned*.tiff; do - tiff2pdf $i -o ${i/.tiff/.pdf} - rm $i - done - - pdftk scanned*.pdf output $output - rm scanned*.pdf - addocr $output -} -createpdf() -{ - local start=$1 - local end=$2 - local countno= - local pdfs=() - - for i in $(seq $start $end); do - countno=$(printf "%03d" $i) - pdfs=$(echo $pdfs "scanned$countno.pdf") - done - - pdftk $pdfs output out$(printf "%03d" $start).pdf - addocr out$(printf "%03d" $start).pdf - - for i in $pdfs; do - rm $i - done -} - -detectsplit() -{ - local pdf=$1 - local trenn= - - trenn=$(zbarimg --raw --quiet $pdf) - if [ "$trenn" == "Trennblatt" ]; then - echo "true" - return - fi - - echo "false" -} - -createmultipdfs() -{ - local trenn=$1 - local startcount=1 - local endcount=1 - local pdf= - - for i in scanned*.tiff; do - pdf=${i/.tiff/.pdf} - tiff2pdf $i -o $pdf - trenn=$(detectsplit $pdf) - rm $i - if [ "$trenn" == "true" ]; then - createpdf $startcount $((endcount - 1)) - startcount=$((endcount + 1)) - rm $pdf - fi - ((endcount++)) - done -} +@scanbasic.sh@ main() { @@ -112,11 +17,13 @@ main() local pagecount=$1 local output=$2 - scanimage --resolution=300 \ + scanimage --source=DocumentFeeder \ --mode=BW \ + --resolution=300 \ + --scanside=Duplex \ --skip-blank-pages=yes \ --format=tiff \ - --batch-count=$1 \ + --batch-count=$pagecount \ --batch-increment=1 \ --batch=scanned%03d.tiff diff --git a/scantopdfgray b/scantopdfgray index 49eca9f..244df2c 100755 --- a/scantopdfgray +++ b/scantopdfgray @@ -1,101 +1,6 @@ #!/bin/bash -# -optimize() -{ - local input=$1 - local output=$input-out - - qpdf --linearize $input $output - mv $output $input -} - -addocr() -{ - local input=$1 - local output=$input-out - local error="" - - echo $input - error=$(ocrmypdf -l deu $input $output 2>&1) - - if [ -n "$(echo $error | grep offset)" ]; then - printf "%s: %s\n" $input $error >> $HOME/addocr-error.log - fi - - if [ -f $output ]; then - mv $output $input - optimize $input - fi -} - -createonepdf() -{ - local output=$1 - - for i in scanned*.tiff; do - tiff2pdf $i -o ${i/.tiff/.pdf} - rm $i - done - - pdftk scanned*.pdf output $output - rm scanned*.pdf - addocr $output -} -createpdf() -{ - local start=$1 - local end=$2 - local countno= - local pdfs=() - - for i in $(seq $start $end); do - countno=$(printf "%03d" $i) - pdfs=$(echo $pdfs "scanned$countno.pdf") - done - - pdftk $pdfs output out$(printf "%03d" $start).pdf - addocr out$(printf "%03d" $start).pdf - - for i in $pdfs; do - rm $i - done -} - -detectsplit() -{ - local pdf=$1 - local trenn= - - trenn=$(zbarimg --raw --quiet $pdf) - if [ "$trenn" == "Trennblatt" ]; then - echo "true" - return - fi - - echo "false" -} - -createmultipdfs() -{ - local trenn=$1 - local startcount=1 - local endcount=1 - local pdf= - - for i in scanned*.tiff; do - pdf=${i/.tiff/.pdf} - tiff2pdf $i -o $pdf - trenn=$(detectsplit $pdf) - rm $i - if [ "$trenn" == "true" ]; then - createpdf $startcount $((endcount - 1)) - startcount=$((endcount + 1)) - rm $pdf - fi - ((endcount++)) - done -} +@scanbasic.sh@ main() { @@ -112,11 +17,13 @@ main() local pagecount=$1 local output=$2 - scanimage --resolution=300 \ + scanimage --source=DocumentFeeder \ --mode=Gray \ + --resolution=300 \ + --scanside=Duplex \ --skip-blank-pages=yes \ --format=tiff \ - --batch-count=$1 \ + --batch-count=$pagecount \ --batch-increment=1 \ --batch=scanned%03d.tiff