Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Scanscript zu PDF

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Tips, Tricks, Helferlein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
sumsi
Gast





BeitragVerfasst am: 20. Sep 2007 11:55   Titel: Scanscript zu PDF

Hallo,
ich möchte Euch mein Script Scanne zu PDF vorstellen.

Benötigte Tools dafür:
SANE
ImageMagik
LIBTIF
Pdftk
kpdf

Ablauf/Funktionsweise
Anlegen/Nutzen eines Scan-Ordners

Anlegen oder, wenn vorhanden, Nutzen eines themenspezifischen Unterordners.
PDF's in diesem Unterordner können zu einem PDF generiert werden.

Scannen eines Dokumentes und Abschneiden der Ränder auf A4-Breite
Wandlung zur PDF-Datei, Abfrage auf Vorschau.

Abfrage, ob weitere Dokumente gescannt werden sollen.
Dabei ist ist der voreingestellte default-Ordner der zuletzt benutzte.

Korrektur eines einzelnen Scanns erreicht man mit Wiederholung des Scannes bei gleicher Namensvergabe des Dokumentes.

Nach Scannvorgänge und wenn mehr als ein Dokument in einem Verzeichnis sind, ist die Möglichkeit gegeben, aus den Dokumenten eines Unterordners ein einzelnes, mehrseitigen Dokument zu erstellen.
Die Reihenfolge der Seiten ist analog der Zeitfolge der Scanvorgänge.



[ Werbung: Als Distri fand Mandriva Verwendung Wink ]

Viel Freude damit

sumsi



Code:

!/bin/bash
## sumsi  + 2007-09-19
## Definiere min. 1 Durchlauf
START=ja
SCAN=Scan_Ordner
UO=Neuer_Ordner
FO=n

while [ $START = ja ]
do
   clear
   echo " "
   echo "      #######################################################################"
   echo "      ##                      Scanne zu PDF                                ##"
   echo "      #######################################################################"
   echo " "

   ## Scan Images
   echo " "
   echo  "      Bitte Papier horizontal zentriert (mittig) in den Scanner einlegen."
   echo  "      (Abbruch = q) " 

   ## Pruefe auf Arbeitsverzeichnis
   if [ -d $HOME/$SCAN ]; then
      echo " "
   else
      echo " Erzeuge $SCAN anlegen !"
      mkdir $HOME/$SCAN
   fi
   
   ## Abfrage/Erzeugen Unterordner
   while [ $FO = n ]; do
      echo  "      Das aktuelle Unterverzeichnis ist $UO."
      echo " "
           echo  "      Verzeichnis $UO beibehalten druecke [ENTER],"
      read -p "      neues Verzeichnis anlegen, bzw. in Verzeichnis wechseln (a) ?: " FO   
      # vermeide Fehlerausschrift bei leerer Eingabe. \a .. trenne a von Variable
      FO=$FO\a
      echo " "

         case $FO in
            a)
           echo "      Unterordner $UO wird beibehalten "
           ;;
            aa)
           read -p "      Bitte Ordnernamen vergeben:  " UO
              ;;
            wa)
           read -p "      Bitte Ordnernamen vergeben:  " UO
              ;;

            qa)
           echo "      Abbruch  "
           sleep 2
           exit 
           ;;
       
            *)
           echo "      Ungueltige Eingabe "
           FO=n
           ;;
         esac

   done

   if [ -d $HOME/$SCAN/$UO ]; then
      echo " "
   else
      echo "      Erzeuge Unterordner $UO"
      mkdir $HOME/$SCAN/$UO
        fi
   
   read -p "      Eingabe Dokumenten-Namen :  " DN
      
      while [ -z $DN ]; do
         read -p "      Eingabe Dokumenten-Namen   :   " DN
      done   

          
        # Namens-Endung, zur Unterscheidung der Original-Scans gegen Zusammengefasste PDF's
        DN=$DN.scan

   echo " "
   if [ -s $HOME/$SCAN/$UO/$DN.pdf ]; then
      echo "      Achtung:"
      echo "      Das Dokument  $HOME/$SCAN/$UO/$DN.pdf wird ueberschrieben. "
   else   
      echo "      Das Dokument wird zu $HOME/$SCAN/$UO/$DN.pdf gespeichert. "
   fi
        echo " "

   ### Device automatisch finden - dauert laenger ###
   ## DEV=`scanimage -L | grep scanner|cut -c9-49|cut -d\' -f1`
   ## scanimage --device=$DEV --resolution=150 --format=tiff --progress --verbose --mode Gray > /tmp/image.tif

   ## Bitte Scanner-Device manuell finden und in naechster Zeile eintragen: scanimage -L | grep scanner
   scanimage --device=mustek:/dev/sg0 --resolution=150 --format=tiff --progress --verbose --mode Gray > $HOME/$SCAN/$UO/image.tif

   ## schneide beiderseitig Rand ab (Scannerbreite Letter) und konvertiere zu 8 Bit Tiefe
   convert -shave 80x0 -depth 8 $HOME/$SCAN/$UO/image.tif $HOME/$SCAN/$UO/image_shave.tif

   ## Paket LIBTIF
   tiff2pdf -p A4 -j -q 75 -o $HOME/$SCAN/$UO/$DN.pdf $HOME/$SCAN/$UO/image_shave.tif 
   rm $HOME/$SCAN/$UO/image.tif
   rm $HOME/$SCAN/$UO/image_shave.tif
   
   ## Vorschau
   echo " "
   read -p "      Vorschau des PDF Dokumentes gewuenscht? (j/n) : " VS
   VS=$VS\a
   
   if [ $VS = ja ]; then
        kpdf /$HOME/$SCAN/$UO/$DN.pdf &
   fi
   
   echo " "
   read -p "      Ein weiteres Dokument einscannen?       (j/n) : " START
   FO=n
   START=$START\a

done
echo " "

## PDF zusammenfassen, wenn mehr als ein Dokument im Ordner. Benoetigt pdftk
ORDNER=$HOME/$SCAN/$UO
ANZAHL=`ls -1 $ORDNER/*.scan.pdf |wc -l`

if [ $ANZAHL -gt 1 ]; then
   echo "      Es sind $ANZAHL PDF-Dokumente im Ordner $UO"
   read -p  "      PDF-Dokumente im Ordner $UO zu einem Dokument zusammenfassen? (j/n) : " MERGE
   MERGE=$MERGE\a

   if [ $MERGE = ja ]; then
      # NUR MIT Pfadangabe UND MIT `PFAD/*` wird der komplette Pfad ausgegeben
      DATEIEN=`ls -r --sort=time $HOME/$SCAN/$UO/*.scan.pdf`
      pdftk $DATEIEN cat output $HOME/$SCAN/$UO/$UO\_komplett.pdf

      read -p "      Vorschau des zusammengefuegten PDF-Dokumentes gewuenscht?     (j/n) : " VG
           VG=$VG\a
      if [ $VG = ja ]; then
        nohup kpdf /$HOME/$SCAN/$UO/$UO\_komplett.pdf &   
           fi   
   fi
fi

echo " "
echo "      ENDE"
sleep 2
exit 0


-- ENDE --
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Tips, Tricks, Helferlein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy