Quelques scripts pour profiter de son scanner sous GNU/Linux

Par Jean-François VIAL, le vendredi 22 mai 2009 – Mis à jour le Lundi 05 juillet 2010
Difficulté : 2/5 — Categorie : Choses utilesMots clés : , , , ,

Sous GNU/Linux (et même sous BSD et autres Solaris), les scanners sont très bien gérés grâce au proget SANE. Bien que les interface graphiques pour SANE, comme XSane, soient très abouties, rien de mieux pour une utilisation "courante" de son scanner que les boutons dont il dispose.

Le problème c'est qu'autant les scanners sont bien supportés en tant que tels, autant leurs boutons sont excessivement peu souvent supportés.

Certains, comme moi, seront certainement très frustrés de ne pas pouvoir utiliser les très utiles boutons de leur appareil, et je me suis dit que quelques petits scripts seraient certainement utiles à d'autres.

Attention : j'utilise Gnome, et les scripts suivants utilisent zenity. Si vous êtes sous KDE, mieux vaut utiliser kommander (je vous laisse le soin d'adapter les scripts), mais vous pouvez très bien utiliser zenity… ça sera moins bien intégré, c'est tout.

Un préalable au bon fonctionnement de ces scripts est, bien entendu, qu'un scanner soit déjà connecté à la machine, et que se scanner soit reconnu et configuré… en plus, pour le premier, d'avoir une imprimante connectée, allumée, et configurée.

Comme d'habitude, un petit tour dans le man ne fera de mal à personne.

Photocopie

Dépendances : tiff2ps (paquet libtiff-tools), zenity (ou kommander)
Ce que fait le script : scanne vers un fichier TIFF, le convertit en PostScript et imprime le résultat.

#!/bin/bash
if `zenity --question --text="Assurez-vous d'avoir aligné le document sur le bord DROIT de la fenêtre puis cliquez sur «Valider»" --title="Photocopier un document"`
then
	scanimage --format tiff --mode Gray --resolution 300 -l 0 -t 0 -x 210mm -y 297mm -p > tmp.tiff
	tiff2ps -z -w 8.27 -h 11.69 tmp.tiff | lpr
	rm -f tmp.tif
else
	zenity --info --text="Photocopie annulée"
fi

Scan2PDF

Dépendances : tiff2pdf (paquet libtiff-tools), zenity (ou kommander), evince (kpdf sous kde)
Ce que fait le scritpt : scanne vers un fichier TIFF, le convertit en PDF et l'enregistre là où l'a indiqué l'utilisateur. Si l'utilisateur le souhaite, l'affiche à l'écran.

#!/bin/bash
 
if `zenity --question --text="Assurez-vous d'avoir aligné le document sur le bord DROIT de la fenêtre puis cliquez sur «Valider»" --title="Scanner un document vers PDF"`
then
    pdf=$(zenity --file-selection --save --confirm-overwrite --filename="$HOME/Desktop/scan.pdf")
    if [[ -n $pdf ]]
    then
        scanimage --format tiff --mode Gray --resolution 300 -l 0 -t 0 -x 210mm -y 297mm -p > tmp.tiff
        tiff2pdf -o $pdf -z -p A4 -r d -c scan2pdf -a $(whoami) ./tmp.tiff
        rm -f tmp.tiff
        if `zenity --question --text="Le document va s'ouvrir" --title="Scan terminé"`
        then
            evince $pdf
        fi
    else
        zenity --info --text="Copie annulée"
    fi
else
    zenity --info --text="Copie annulée"
fi

Scan2Gimp

Dépendances : zenity (ou kommander),tempfile gimp
Ce que fait le scritpt : scanne vers un fichier TIFF sauvegardé sur le bureau avec un nom unique et l'ouvre avec Gimp.

#!/bin/bash
 
if `zenity --question --text="Assurez-vous d'avoir aligné le document sur le bord DROIT de la fenêtre puis cliquez sur «Valider»" --title="Scan vers Gimp"`
then
    tmp="$(tempfile -d "$HOMEDesktop" -p "scan-" -s ".tiff")"
    scanimage --format tiff --mode Gray --resolution 300 -l 0 -t 0 -x 210mm -y 297mm -p > $tmp
    gimp $tmp
else
    zenity --info --text="Scan annulé"
fi

Commentaires

4 commentaires :

  1. Le dimanche 05 juillet 2009 à 15h39, karpatt a dit :

    Bonjour,

    J’ai essayé le script pour la photocopie… malheureusement il ne fonctionne pas chez moi..

    voici ce que donne le script :


    copie.sh: 9: gt: not found
    copie.sh: 9: tmp.tiff: not found
    TIFFOpen: tmp.tiff: Cannot open.
    […]
    lpr: Erreur - stdin est vide, donc aucune tâche n’a été envoyée.

    Je suis sous Ubuntu 9.04. Mon scanner et mon imprimante sont en reseau… est-ce la la source du problème ? J’ai lu le man de scanimage mais rien lu de probant. peut-etre connaissez-vous d’ou vient l’erreur ?

    Merci

  2. Concernant «gt: not found» c’est une coquille, un caractère a mal été affiché, il s’agit du > remplacez «>» par «>» et ça devrait être ok.
    Notez que si vous avez plusieurs périphériques de capture d’image (un scanner + web cam) et que Xsane les détecte tous les 2, il conviendra de spécifier le périphérique à utiliser. Reportez-vous au manuel de scanimage pour en savoir plus)
    Pour lpr, par défaut, ça imprimera sur l’imprimante par défaut, je vous laisse le soin de lire le man de lpr pour savoir comment spécifier une autre imprimante.

  3. Bonjour
    Et-ce normal que la conversion en postscript décale la page (il manque le bas)?
    Merci

  4. @TF: est-ce que c’est décalé ussi en mode image ?

Ajouter un commentaire