Script bash pour scanner plusieurs pages depuis le chariot

Fermé
xunil2003 Messages postés 761 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 24 mars 2024 - Modifié par xunil2003 le 11/12/2012 à 12:37
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 11 déc. 2012 à 15:51
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 408
11 déc. 2012 à 13:30
Salut,

Il n'y a aucune boucle dans ton script, donc normal qu'une seule page soit scannée ;-(
0
xunil2003 Messages postés 761 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 24 mars 2024 14
Modifié par xunil2003 le 11/12/2012 à 15:47
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 408
11 déc. 2012 à 15:51
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
11 déc. 2012 à 15:47
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