Re: Scannen automatisieren
Hallo,
Am Don, 07 Sep 2006, Christian Paul schrieb:
>So toll war er nicht, habe vergessen die ersten Zeilen mitzukopieren.
>kopmplett also nochmal so:
Ich kommentier mal etwas... *SCNR*
>/*
>#!/bin/bash
>clear
Das ist Geschmackssache, wuerde ich eher weglassen, das soll der
"user" selber machen / entscheiden ;)
>stamp=`date +'%d%m%Y_%H%M'`
>newname=$HOME"/scan/"$stamp".pdf"
># Verzeichnis ~/scan muß natürlich angelegt sein.
Das sollte man besser testen.
test -d ~/scan/ || mkdir -p ~/scan || exit 1
Und ausserdem sollte man dann (mindestens) in dieses Verzeichnis wechseln.
Ruft man das Script z.B. in ~/ auf werden alle *.pnm geloescht, egal
ob die mit dem Script was zu tun haben oder nicht.
Besser ist es noch, man "arbeitet" in einem temporaeren
Verzeichnis. Schema:
WDIR="`mktemp -d '/tmp/scriptname.$$.XXXXXX'`"
trap 'rm -rf "$WDIR"' EXIT INT HUP
Siehe 'man mktemp' und 'help trap'.
Damit kann man sich auch gleich noch das "aufraeumen" am Scriptende
ersparen.
>echo "Scanner wird erkannt..."
>echo "(kann ein bischen dauern ..."
^ wo ist das Gegenstueck? ;)
>/usr/bin/scanimage \
> --device-name=net:debian-k500:snapscan:/dev/sg0 \
> --batch=out%d.pnm \
> --batch-prompt \
> --resolution=150 \
> --mode=GreyScale \
> --brightness=25% \
> --contrast=25%
>
># echo "Lösche leere Seite..."
># ls out*.pnm | sort | tail -1 | xargs rm
Legt scanimage immer eine leere Seite als letztes an? Und da die *.pnm
am Ende eh geloescht werden bietet es sich im naechsten Schritt
einfach ein 'test -s' einzubauen. Oder sind die Dateien nicht leer?
>echo "Wandle pnm nach tif..."
># jetzt alles auf eine Zeile!!
>ls out*.pnm | while read p; do echo $p; q=`echo $p | sed
>'s/out\(.*\)\.pnm/tiff\1.tif/'`; cat $p | pnmtotiff -lzw > $q; done
Useless use of ls.
Useless use of cat.
Und muss auch nicht alles auf eine Zeile.
for f in out*.pnm; do
t="`basename \"$f\" .pnm`.tif" ## oder auch mit sed:
### t="`echo \"$f\" | sed 's/out\(.*\)\.pnm/tiff\1.tif/'`"
echo "Wandle $f -> $t";
pnmtotiff -lzw < "$f" > "$t"
done
>echo "Fasse alle Seiten zu einem Dokument zusammen..."
>/usr/bin/tiffcp -c lzw tiff* document.tif
>
>echo "Wandle tif nach pdf..."
>/usr/bin/tiff2pdf -z document.tif -o document.pdf
>
>echo "Optimiere pdf..."
>/usr/bin/pdfopt document.pdf $newname
>echo "Cleaning up..."
>rm *.pnm
>rm tiff*
>rm document.tif
>rm document.pdf
>echo -e "Fertig.\n\n"
>*/
Siehe oben bzgl. Arbeitsverzeichnis und Aufraeumarbeiten... Mit dem
"trap" koennen die "rm ..." entfallen.
HTH, HAND
-dnh
--
An application/evil MIME type is defined for Web- or email-carried
mischief. Other MIME types can be embedded inside of evil sections;
this permit easy encoding of word processing documents with macro
viruses, etc. -- RfC 3514
Reply to: