Script bash pour scanner plusieurs pages depuis le chariot

xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   -  
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   -
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.

A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

Il n'y a aucune boucle dans ton script, donc normal qu'une seule page soit scannée ;-(
0
xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   14
 
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
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
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
Utilisateur anonyme
 
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