Kopiererscript
-
- Beiträge: 444
- Registriert: 17.07.2003 15:55:41
Kopiererscript
Hallo,
angesichts der Tatsache, dass die Druckfunktion von kooka endlos langsam bis zu systemstillstand ist, würde ich für meinen Vater kerne ein Kopierscript schreiben, dass scannt, und gleich an den Drucker weiterleitet.
Dazu ein paar Fragen:
-Kann ich scanimage den Bereich des Scanners übergeben, der gescannt werden soll? (z.B. DIN A4 Größe ab der links unteren Ecke) Oder muss ich da irgendwie noch mit ner Konsolenbildbearbeitung schneiden?
-In welchem Format muss ich die Grafik per stdin an kprinter schicken?
Oder weiß jemand, wo es schon sowas gibt?
angesichts der Tatsache, dass die Druckfunktion von kooka endlos langsam bis zu systemstillstand ist, würde ich für meinen Vater kerne ein Kopierscript schreiben, dass scannt, und gleich an den Drucker weiterleitet.
Dazu ein paar Fragen:
-Kann ich scanimage den Bereich des Scanners übergeben, der gescannt werden soll? (z.B. DIN A4 Größe ab der links unteren Ecke) Oder muss ich da irgendwie noch mit ner Konsolenbildbearbeitung schneiden?
-In welchem Format muss ich die Grafik per stdin an kprinter schicken?
Oder weiß jemand, wo es schon sowas gibt?
-
- Beiträge: 444
- Registriert: 17.07.2003 15:55:41
Hab ich mir heute kurz angesehen. Ich denke, das Interface würde ihn umbringen. Er hat grade eben meinen Versuch ihm zu erklären was Dateien und was Programme sind (nach 4 Jahren Computerbenutzung...) damit verglichen, einem Touristen vor dem Flug das Cockpit zu erklären ...
Ich will ein Icon, dass er klickt, dass geht der Scanner an, dann kommt kprinter, er drückt "Drucken" und es ist gut.
Ich will ein Icon, dass er klickt, dass geht der Scanner an, dann kommt kprinter, er drückt "Drucken" und es ist gut.
-
- Beiträge: 444
- Registriert: 17.07.2003 15:55:41
-
- Beiträge: 444
- Registriert: 17.07.2003 15:55:41
Hab ich nicht 
Mir fehlt auch nur eine Sache:
Ich habe das Bild als PS, wenn ich es an kprinter übergebe, ist es zu groß. Benutze ich die convert-Option resize, wird runtergerechnet, was zu einer inakzeptablen Auflösung führt.
Edit:
Just for inforamtion, das hier geht. Fragt EInmal, ob er TIFF konvertieren darf, das kann man aber per "Nicht mehr fragen ausschalten.

Mir fehlt auch nur eine Sache:
Ich habe das Bild als PS, wenn ich es an kprinter übergebe, ist es zu groß. Benutze ich die convert-Option resize, wird runtergerechnet, was zu einer inakzeptablen Auflösung führt.
Edit:
Just for inforamtion, das hier geht. Fragt EInmal, ob er TIFF konvertieren darf, das kann man aber per "Nicht mehr fragen ausschalten.
Code: Alles auswählen
#!/bin/sh
MODE=$1
DATE=`/bin/date +%s`
DEVICE="net:192.168.2.6:snapscan:/dev/sg0"
if kdialog --yesno "Jetzt kopieren?" --title "Caron's Kopierscript"; then
echo "Starte Scan"
if /usr/bin/scanimage --mode $MODE\
--format tiff --device-name $DEVICE\
-x 210mm -y 295mm --resolution 300 -t 0mm -l 0mm\
> /tmp/$DATE.tif; then
echo "Starte Druck"
/usr/bin/kprinter /tmp/$DATE.tif
echo "Lösche Dateien"
/bin/rm /tmp/$DATE.tif
else
kdialog --sorry "Scan fehlgeschlagen." --title "Caron's Kopierscript"
fi
if kdialog --yesno "Noch eine Kopie?"i --title "Caron's Kopierscript"; then
./copyscan.sh $MODE
fi
fi
Super Skript!
Ich war auch auf der Suche nach einer Kopierfunktion im Linux.
Zuerst bin ich auf das gestoßen:
http://scanbuttond.sourceforge.net/
Aber erstens bekam ich beim Kompilieren immer Fehler
und zweitens wird mein Scanner wahrscheinlich eh
nicht unterstützt.
Dann probierte ich dein Skript aus und es hat gut
funktioniert.
Für mich habe ich noch einige Kleinigkeiten geändert
(hoffe es stört dich nicht!):
Die Nachricht mit der Konvertierung von Tiff in ein druckbares Format bekomme ich
auch, aber ich lasse sie eh nicht mehr anzeigen.
In der Konsole bekomme ich aber eine Meldung, dass das Bild vor dem Druck noch
auf das Blatt verkleinert werden muss.
Das komische ist nur, dass er es glaube ich auf das 0,2 fache verkleinern will.
Stimmen vielleicht die scanimage Parameter x und y nicht?
Es ist zwar A4 Format, aber vielleicht falsche Maßeinheit?
mfg
Pauli
Ich war auch auf der Suche nach einer Kopierfunktion im Linux.
Zuerst bin ich auf das gestoßen:
http://scanbuttond.sourceforge.net/
Aber erstens bekam ich beim Kompilieren immer Fehler
und zweitens wird mein Scanner wahrscheinlich eh
nicht unterstützt.
Dann probierte ich dein Skript aus und es hat gut
funktioniert.
Für mich habe ich noch einige Kleinigkeiten geändert
(hoffe es stört dich nicht!):
Code: Alles auswählen
#!/bin/sh
#MODE=$1
DATE=`/bin/date +%s`
#DEVICE="net:192.168.2.6:snapscan:/dev/sg0"
DEVICE="artec_eplus48u:libusb:001:005"
if kdialog --yesno "Jetzt kopieren?" --title "Caron's Kopierscript"; then
echo "Starte Scan"
#if /usr/bin/scanimage --mode $MODE\
if /usr/bin/scanimage \
--format tiff --device-name $DEVICE\
-x 210mm -y 295mm --resolution 300 -t 0mm -l 0mm\
> /tmp/$DATE.tif; then
echo "Starte Druck"
#/usr/bin/kprinter /tmp/$DATE.tif
/usr/bin/kprinter /tmp/$DATE.tif --nodialog
echo "Lösche Dateien"
/bin/rm /tmp/$DATE.tif
else
kdialog --sorry "Scan fehlgeschlagen." --title "Caron's Kopierscript"
fi
if kdialog --yesno "Noch eine Kopie?"i --title "Caron's Kopierscript"; then
#./copyscan.sh $MODE
sh copyscan.sh
fi
fi
auch, aber ich lasse sie eh nicht mehr anzeigen.
In der Konsole bekomme ich aber eine Meldung, dass das Bild vor dem Druck noch
auf das Blatt verkleinert werden muss.
Das komische ist nur, dass er es glaube ich auf das 0,2 fache verkleinern will.
Stimmen vielleicht die scanimage Parameter x und y nicht?
Es ist zwar A4 Format, aber vielleicht falsche Maßeinheit?
mfg
Pauli
-
- Beiträge: 444
- Registriert: 17.07.2003 15:55:41
Sehe ich es richtig, dass Du die Modewahl geändert hast, sowie das kprinter-Fenster nicht mehr extra erscheinen lässt?
Das brauche ich, da evt. mehrer Kopien gedruckt werden sollen, und hier ein Tintenstrahl und ein Laser stehen.
Übersehe ich sonst noch Verbesserungen?
Gegen Veränderungen habe ich natürlich nichts, ich veröffentliche das Script hiermit unter GPL *g*
Wegen der Größe:
Es gibt ja die durch die Pixel vorgegebene absolute Größe, sowie eine "virtuelle", die einfach in cm in der Dtaei steht. Die ist beim TIFF wohl falsch gesetzt, kprinter passt aber an die Seite an.
Das passiert beim PS nicht, da kriege ich dann nur ein viertel der ganzen Seiten riesig groß auf einer Seite raus.
Wie man das einstellt, weiß ich leider nciht, sonst hätte ich auch die Umwandlung in PS dringelassen.
Dass das an den Scannereinstellungen liegt, kann ich mir ncht vorstellen. Das gibt ja nur an, welcher Bereich des Scanners eingelsen werden soll. Und dass muss schon die Seitengröße sein. Evt. 1-2mm falsch, aber nciht Faktor 4 *g*
Das brauche ich, da evt. mehrer Kopien gedruckt werden sollen, und hier ein Tintenstrahl und ein Laser stehen.
Übersehe ich sonst noch Verbesserungen?
Gegen Veränderungen habe ich natürlich nichts, ich veröffentliche das Script hiermit unter GPL *g*
Wegen der Größe:
Es gibt ja die durch die Pixel vorgegebene absolute Größe, sowie eine "virtuelle", die einfach in cm in der Dtaei steht. Die ist beim TIFF wohl falsch gesetzt, kprinter passt aber an die Seite an.
Das passiert beim PS nicht, da kriege ich dann nur ein viertel der ganzen Seiten riesig groß auf einer Seite raus.
Wie man das einstellt, weiß ich leider nciht, sonst hätte ich auch die Umwandlung in PS dringelassen.
Dass das an den Scannereinstellungen liegt, kann ich mir ncht vorstellen. Das gibt ja nur an, welcher Bereich des Scanners eingelsen werden soll. Und dass muss schon die Seitengröße sein. Evt. 1-2mm falsch, aber nciht Faktor 4 *g*
Beim Skript habe ich keine Verbesserungen gemacht, sondern nur
für mich etwas angepasst!
Die Modewahl habe ich weggelassen, da standartmäßig grau gescannt
wird und ich einen s/w Laserdrucker habe.
Ja, das kprinter-Fenster wird bei mir nicht mehr angezeigt, da ich ja eh nur einen
Drucker verwende und meistens nur eine Kopie brauche.
GPL ist eine geniale Sache!
Ich bin draufgekommen, dass das mit der Verkleinerung vollkommen in Ordnung ist,
da ja das Bild bei 300 dpi sehr groß wird und deswegen logischerweise angepasst
werden muss.
Die Parameter x und y sind auch in Ordnung.
Bei mir kann ja das Bild nicht wirklich 1x1 kopiert werden, da mein
Drucker nicht ideal bis zum Rand drucken kann.
Vielleicht solltest du aber den Skriptaufruf am Ende: ./copyscan.sh $MODE auf
sh copyscan.sh $MODE ändern.
Bei mir hat nämlich deine Aufrufmethode komischerweise nicht funktioniert.
Außerdem glaube ich (wenn ich falsch liege bitte ausbessern!), dass der Aufruf
./ für Binärdateien und sh für sh Skriptdateien gedacht ist.
mfg
Pauli
für mich etwas angepasst!

Die Modewahl habe ich weggelassen, da standartmäßig grau gescannt
wird und ich einen s/w Laserdrucker habe.
Ja, das kprinter-Fenster wird bei mir nicht mehr angezeigt, da ich ja eh nur einen
Drucker verwende und meistens nur eine Kopie brauche.
GPL ist eine geniale Sache!
Ich bin draufgekommen, dass das mit der Verkleinerung vollkommen in Ordnung ist,
da ja das Bild bei 300 dpi sehr groß wird und deswegen logischerweise angepasst
werden muss.
Die Parameter x und y sind auch in Ordnung.
Bei mir kann ja das Bild nicht wirklich 1x1 kopiert werden, da mein
Drucker nicht ideal bis zum Rand drucken kann.
Vielleicht solltest du aber den Skriptaufruf am Ende: ./copyscan.sh $MODE auf
sh copyscan.sh $MODE ändern.
Bei mir hat nämlich deine Aufrufmethode komischerweise nicht funktioniert.
Außerdem glaube ich (wenn ich falsch liege bitte ausbessern!), dass der Aufruf
./ für Binärdateien und sh für sh Skriptdateien gedacht ist.
mfg
Pauli
-
- Beiträge: 444
- Registriert: 17.07.2003 15:55:41
Das das Script ja einige interessiert hat, hier noch eine neue Version. Der Scanneranschluss wird automatisch ermittelt, da zu mindest bei mir die letzte Ziffer nach Reboots variiert:
Code: Alles auswählen
#!/bin/sh
#@author: "Kay-Michael Voit" <kvoit@uni-osnabrueck.de>
#@licence: GPL
#@version: 0.25
#Typ des Scanners, wie er in scanimage -L erscheint:
DEVICE=`scanimage -L|awk '/LiDE20/ {print substr(\$2,2,length(\$2)-2)}'`
MODE=$1
DATE=`/bin/date +%s`
echo $DEVICE
print()
{
/usr/bin/kprinter /tmp/$DATE.tif
/bin/rm /tmp/$DATE.tif
}
if kdialog --yesno "Jetzt kopieren?" --title "Caron's Kopierscript"; then
if /usr/bin/scanimage \
--mode $MODE --format tiff \
--device-name $DEVICE \
-x 210mm -y 295mm \
-t 0mm -l 0mm --resolution 300 \
> /tmp/$DATE.tif; then
print &
else
kdialog --sorry "Scan fehlgeschlagen." --title "Caron's Kopierscript"
fi
if kdialog --yesno "Noch eine Kopie?" --title "Caron's Kopierscript"; then
/bin/sh ./copyscan.sh $MODE &
fi
fi
-
- Beiträge: 444
- Registriert: 17.07.2003 15:55:41
Hi, hier mal wieder eine neue Version, die angesichts das USB-Suspend-Problems in Ubuntu nun auch abspeichern kann.
Code: Alles auswählen
#!/bin/bash
#@author: "Kay-Michael Voit" <kvoit@uni-osnabrueck.de>
#@licence: GPL2.0 <http://www.gnu.de/documents/gpl.de.html>
#@version: 0.3
#Typ des Scanners, wie er in scanimage -L erscheint:
DEVICE=`scanimage -L|awk '/LiDE20/ {print substr(\$2,2,length(\$2)-2)}'`
MODE=$1
DATE=`/bin/date +%s`
echo $DEVICE
print()
{
/usr/bin/kprinter /tmp/$DATE.tif
}
save()
{
PATH=`/usr/bin/kdialog --title "Caron's Kopierscript" --getsavefilename ~/Desktop/Scans "*.jpg |JPEG Datei"`
echo /tmp/$DATE.tif/tmp/$DATE.tif $PATH
/usr/bin/convert /tmp/$DATE.tif $PATH
}
if /usr/bin/kdialog --yesno "Jetzt kopieren?" --title "Caron's Kopierscript"; then
DOSCAN=1
fi
while [ "x1" = "x$DOSCAN" ]; do
if /usr/bin/scanimage \
--mode $MODE --format tiff \
--device-name $DEVICE \
-x 210mm -y 295mm \
-t 0mm -l 0mm --resolution 300 \
> /tmp/$DATE.tif; then
if /usr/bin/kdialog --yesno "Scan speichern=" --title "Caron's Kopierscript"; then
save
fi
if /usr/bin/kdialog --yesno "Scan ausdrucken?" --title "Caron's Kopierscript"; then
print
fi
else
/usr/bin/kdialog --sorry "Scan fehlgeschlagen." --title "Caron's Kopierscript"
fi
/bin/rm /tmp/$DATE.tif
if /usr/bin/kdialog --yesno "Noch eine Kopie?" --title "Caron's Kopierscript"; then
DOSCAN=1
else
DOSCAN=0
fi
echo $DOSCAN
done
-
- Beiträge: 1
- Registriert: 24.06.2007 15:40:42
- Wohnort: Hamburg
Ich habe eine halbe Ewigkeit gebraucht, bis ich begriffen habe, dass man das Script mit einem Parameter aufrufen muss
./copyscan.sh brachte zuvor immer nur:
scanimage: setting of option --mode failed (Invalid argument)
Mit ./copyscan.sh Gray klappte es dann
Beim Drucken brachte KDE dann noch einen Warnhinweis, dass tiff vom Drucksystem nicht unterstützt würde, und schlug eine wandlung vor. Das klappte dann auch. Der andere Button hieß "Leerzeichen beibehalten", was wohl ein Übersetzungsfehler ist (?). Wenn ich den wähle, druckt er die A4-Seite auf 2 Blätter verteilt.
Da Ich zu 99,9% nur schwarz-weiss kopiere, habe ich dann einfach das Script auf MODE=Gray abgeändert. So kann ich es mit einem Klick vom Desktop starten.

./copyscan.sh brachte zuvor immer nur:
scanimage: setting of option --mode failed (Invalid argument)
Mit ./copyscan.sh Gray klappte es dann

Beim Drucken brachte KDE dann noch einen Warnhinweis, dass tiff vom Drucksystem nicht unterstützt würde, und schlug eine wandlung vor. Das klappte dann auch. Der andere Button hieß "Leerzeichen beibehalten", was wohl ein Übersetzungsfehler ist (?). Wenn ich den wähle, druckt er die A4-Seite auf 2 Blätter verteilt.
Da Ich zu 99,9% nur schwarz-weiss kopiere, habe ich dann einfach das Script auf MODE=Gray abgeändert. So kann ich es mit einem Klick vom Desktop starten.
-
- Beiträge: 444
- Registriert: 17.07.2003 15:55:41
Sorry, wie gesagt, ich habe das mal für Eigenbedarf schnell zusammengeschrieben und deshalb keine Fehler abgefangen. Ich habe meinem Vater einfach 3 Symbole auf den Desktop gelegt, in denen der Parameter bereits enthalten ist.
Das mit dem tiff hatte ich zwischendurch auch mal. Zu Feisty klappt es jetzt wieder. Ich weiß nciht, welches Paket da fehlt. Prinzipiell geht es aber auch ohne die Meldung.
Das mit dem tiff hatte ich zwischendurch auch mal. Zu Feisty klappt es jetzt wieder. Ich weiß nciht, welches Paket da fehlt. Prinzipiell geht es aber auch ohne die Meldung.
- blueflidge
- Beiträge: 1414
- Registriert: 31.01.2005 10:16:49
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: bei Bonn