Script bash pour scanner plusieurs pages depuis le chariot

Bonjour,

Pour mon serveur j'ai créé un script bash pour scanner les documents et y convertir en PDF.
Seulement voilà, Quand j'exécute le script le chariot scanne la première page puis faite défilé le reste des pages sans les scanners.

Auriez vous une idée pour que tout les pages du chariot soi scanné une par une jusqu'a la dernière page ?

Merci.

Mon script
#!/bin/bash 

imprimante="MFC6490CW" 
resolution="100" 
nom_fichier="brscan_" 
extention="tiff" 



echo "Veuillez insérer les documents dans le chariot et appuyer sur la touche entrée pour continuer"; read line 
if echo "Veuillez patienter ..." 
then 
 output_file=/tmp/$nom_fichier"'date +%Y-%m-%d_%H-%M-%S'"".$extention" 
 echo "scan from $2($device) to $output_file" 
 scanimage --format tiff --mode Gray --resolution $resolution -l 0 -t 0 -x 210mm -y 297mm -p > $output_file 
 convert /tmp/*.tiff /tmp/test.pdf 
 rm -v -f /tmp/*.tiff 
else 
 echo "Annulé" 
fi 


Merci.

3 réponses

  1. Contributeur
    Salut,

    Il n'y a aucune boucle dans ton script, donc normal qu'une seule page soit scannée ;-(
    0
    1. Bonjour,

      La boucle fonctionne, cependant les feuilles continuent de défiler alors que le scanne de la seconde par na pas démarrée.
      et quand il n'y a plus de feuille à scanner dans le chariot le scanne continue toujours..

      Merci.

      #!/bin/bash  
      
      imprimante="MFC6490CW"  
      resolution="100"  
      nom_fichier="brscan_"  
      extention="tiff"  
      
      
      
      
      echo "Veuillez insérer les documents dans le chariot et appuyer sur la touche entrée pour continuer"; read line  
         
      for i in *  
       do  
      
      if echo "Veuillez patienter ..." ;  
      
      then  
       output_file=/tmp/$nom_fichier"'date +%Y-%m-%d_%H-%M-%S'"".$extention"  
       echo "scan from $2($device) to $output_file"  
       scanimage --format tiff --mode Gray --resolution $resolution -l 0 -t 0 -x 210mm -y 297mm -p > $output_file  
       convert /tmp/*.tiff /tmp/test.pdf  
         
         
       rm -v -f /tmp/*.tiff  
      else  
       echo "Annulé"  
         
      fi   
      
      done


      Ne serait-t-il pas mieux d'utiliser une boucle "while" pour demander continuellement une nouvelle page et "break" pour en sortir ?
      Ou es-ce que je me trompe ?

      Merci.
      0
      1. Contributeur
        N'ayant pas de scanner à chargeur sous la main, je ne peux tester ton script.

        Par contre j'ai trouvé ça : http://grover.open2space.com/content/batch-scanning-documents
        Tu devrais peut être t'en inspirer...
        0
    2. salut,

      est-ce qu'il ne faudrait pas attendre que le fichier $output soit libérer ?
      avec inotifywait, il me semble qu'il est possible d'attendre qu'un fichier n'est plus en cours d'écriture.

      for f in * boucle sur chaque fichier du répertoire courant.
      ce serait plutôt une boucle while avec inotifywait.
      0