Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/12/2012, à 08:35

Ambigua

Script auto de scan et envoi par mail

Salut !

Je cherche un logiciel/script ou a en ecrire un ( script) pour faire les actions suivantes de façon automatique :

1/ Scan d'une page installée dans un scanner ( USB)
2/demande de page suivante ou fin
    => Si "page suivante" retour a 1/
    => si Fin  aller a 3/
3/ impression en PDF des pages scannés.
4/ envoi par mail du fichier généré (email prédéfini, sujet prédéfini) via thunderbird.

Ce "projet" est dû au fait que je part pour un certain temps à l'étranger.
et pour le courrier, une personne va me l'ouvrir et me scanner les trucs importants..

mais la personne en charge est très fiable mais un peu limite en informatique big_smile (on peut pas tout avoir )

donc le but est de lui mettre un bouton sur le bureau qui lance ce script, une fois qu'elle aurat mis la premiere page dans le scanner ..
ensuite qu'elle n'ai plus qu'a cliquer sur fin, ou suivant si y'a plusieurs pages a scanner.

Je lui passe mon scanner Canon USB, elle est sous Ubuntu 12.1 ( tout recemment installé)..

donc la question :

Est qu'un logiciel permettant ca existe ?
si  Non, est possible de le faire en script ?
si oui, comment ? big_smile


A+

Florent

Hors ligne

#2 Le 07/12/2012, à 10:17

tiramiseb

Re : Script auto de scan et envoi par mail

Ambigua a écrit :

Est qu'un logiciel permettant ca existe ?

Ça me dit rien

Ambigua a écrit :

si  Non, est possible de le faire en script ?

Oui

Ambigua a écrit :

si oui, comment ? big_smile

Je ne vais pas te prémâcher le script (d'une part j'ai pas le temps, d'autre part ce serait un bon exercice pour toi). Voici quelques pistes :

- utilise la commande scanimage pour scanner une page ;
- utilise une boucle "while" en bash pour demander continuellement une nouvelle page (et "break" pour en sortir) ;
- utilise zenity pour afficher des boîtes de dialogues sympa à l'utilisateur ;
- utilise convert pour transformer tes images en pdf ;
- utilise soit la commande "mail" pour envoyer un e-mail mais tu devras construire toi-même le contenu du mail, soit "mutt" - qui devra être configuré du coup mais largement plus simple dans le script.

Une autre alternative c'est de faire le script dans un langage style Python et utiliser les bibliothèques natives, notamment pour les boîtes de dialogue, la transformation en PDF et l'envoi de mail. Mais je suis pas sûr que tu y gagnes grand chose.

Hors ligne

#3 Le 08/12/2012, à 01:47

Ambigua

Re : Script auto de scan et envoi par mail

Salut !

Merci pour ta réponse !

J'en suis arrivé là :

#!/bin/bash
##Script pour lancer le scan en l'envoi d'email.
email="florent@yahoo.com"
SUJET="Envoi de courrier"
TEXTE="Envoi pour $email , sujet : $SUJET"
NUMERO=0

######FONCTIONS#########
function fct_Principale() {
	input=`zenity --title="Scan & Mail" --text="Menu Principal" --list --radiolist --column="Choix" --column="Action" TRUE "Scanner" False "Parametres" FALSE "Quitter"`
}
function Scan_msg() {
	question_scan=`zenity --question --title="Ajouter une page ?" --text="Ajouter une image au mail?"`
}
function fct_scan() {
	scanimage -x 21 -y 29.7 -p -v --resolution 100 --format=tiff >image$NUMERO.tiff #| zenity --notification --listen --window-icon=update.png #info-bulle
	fct_PDF
}
function fct_PDF() {
	tiff2pdf -p A4 -o page$NUMERO.pdf image$NUMERO.tiff
	rm -f image$NUMERO.tiff
	((NUMERO++))
}
function fct_mail() {
	thunderbird -compose to="$email",subject="$SUJET",attachment=file:/home/florent/Bureau/page$NUMERO.pdf
}

function fct_Parametres() {
	##on creer un formulaire avec les valeur par defaut
	formparametres=`zenity --forms \
    --title="Parametres de scan" \
    --text="Verifier les parametres" \
    --add-entry="Email" \
    --add-entry="Sujet" \
    --separator="|"`
}
######FIN FONCTIONS#########

##Lance le menu principal
fct_Principale

while true ;	#la boucle qui ecoute les commande user
do
case $input in	#case du menu principal
	Scanner)
		if [ $NUMERO = 0 ]
			then
				fct_scan
			else
				Scan_msg #demande nouvelle image
				#if ($question_scan)  #oui
				if [ $? = 0 ]
					then
						#echo "oui"
						fct_scan
				else
						#echo "Non"
						fct_mail
						fct_Principale
				fi
		fi

	;;
	Parametres)
		 fct_Parametres
		;;
esac
done

Ca marche en gros, reste a paufiner un peu ...

Je vais tester mutt pour voir, car avec thunderbird, il faut appuyer sur "envoyer" big_smile


A+

Florent

Hors ligne

#4 Le 08/12/2012, à 22:32

Ambigua

Re : Script auto de scan et envoi par mail

Salut !

Je suis arrivé a faire un truc assez sympa et pratique !!

(en se remettant dans le bain des commandes, ca revient doucement .. )

Par contre, je butte sur des trucs un peu con ..

Dans les --forms de zenity, y'a pas moyen de remettre une valeur par defaut dans les champs générés ?
car par défaut les champs sont vides, mais mes valeurs de paramtres existent déjà, mais pas moyen de trouver comme les "ecrire" dans le champs ..

autre truc, lors du scan, qui peut prendre quelques dizaines de seconde,s j'aurais aimé mettre un --progress, mais là, j'ai butté avec scanimage, je crois que l'on peut pas y faire progresse en même temps que le scan ...

comment faire afficher une fenetre qui se ferme quand le scanimage est fini ?


A+

Florent

Hors ligne