ubuntuusers.de

*Einfaches* SANE Frontend zum Fotokopieren

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

Hab' gerade mal versucht, mehrere Kopien zu machen, also den Counter auf 2 gestellt - leider ohne Erfolg, es wird nur eine Kopie erstellt...! Klappt das anderswo?

so long
hank

iskarion

(Themenstarter)

Anmeldungsdatum:
14. Mai 2007

Beiträge: 125

Heinrich Schwietering schrieb:

Hab' gerade mal versucht, mehrere Kopien zu machen, also den Counter auf 2 gestellt - leider ohne Erfolg, es wird nur eine Kopie erstellt...! Klappt das anderswo?

War ein Fehler in der Konfigurationsdatei. Bzw. ein Leerzeichen zu viel

1
PRINT_COMMAND=lpr -P$PRINTER -r -\# $NUMBEROFCOPIES $INPUTFILE

anstatt

1
PRINT_COMMAND=lpr -P$PRINTER -r -\#$NUMBEROFCOPIES $INPUTFILE

Ist in der aktuellen Version behoben.

iskarion

(Themenstarter)

Anmeldungsdatum:
14. Mai 2007

Beiträge: 125

Neue JFotokopie Version 0.7

http://wiki.ubuntuusers.de/JFotokopie/JFotokopie.tgz

Änderungen:

  • Die Oberfläche habe ich mit ein paar Icons aus dem "Crystal Clear" Icon Set von Everaldo Coelho (http://www.everaldo.com/crystal/) aufgehübscht.

  • Eingescannte Dokumente können nun direkt per EMail verschickt werden. Dafür gibt es die neuen Parameter

    • LABEL_EMAIL (Text des Email Buttons)

    • VISIBILITY_EMAIL (Ausblenden der Email Funktion)

    • EMAIL_COMMAND (Versenden der Mail).

  • Es kann nun mittels Dropdown Box ausgewählt werden, mit welchem der im System installierten Drucker man drucken möchte. Initial ist immer der Standarddrucker ausgewählt. Dafür gibt es die neuen Parameter

    • LABEL_PRINTER (Beschreibung der Drucker Dropdown Box)

    • VISIBILITY_PRINTER (Ausblenden der Drucker Dropdown Box).

    • Zudem hat der Paramter PRINT_COMMAND nun einen zusätzlichen Platzhalter $PRINTER, der von JFotokopie zur Laufzeit mit dem gewählten Drucker gefüllt wird.

Bilder

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

Sehr gut! Das mit den Druckern finde ich sehr sinnvoll, so kann ich direkt Faxe (über den Fax-Drucker von FritzBox/ffgtk verschicken! Mit dem E-Mail-Schalter hab' ich aber noch Probleme; versuche, Evolution dazu zu bewegen, eine leere Mail mit dem Bild als Anhang zu öffnen, bisher aber ohne Erfolg... (siehe hier). Werd' den Artikel JFotokopie demnächst darauf updaten (neue Screenshots etc.)

so long
hank

thejox

Anmeldungsdatum:
11. August 2010

Beiträge: Zähle...

Das ist wirklich ein nützliches Progrämmchen. Genau das, wonach ich gesucht hatte. Vielen Dank erstmal für die Mühe und das Bereitstellen!

Leider war es nicht ganz unproblematisch es zum Laufen zu bekommen. Deswegen möchte ich hier kurz mein Feedback hinterlassen.

Der erste Versuch endete abrupt mit einer NullPointerException in Configuration::getSystemPrinters(). Da hätte ich erst schon fast aufgegeben. Immerhin ist das Thema schon etwas älter, und auch nicht besonders aktiv. Doch ich wollte es mir erst noch einmal genauer ansehen. Die Exception flog hier:

1
printer = PrintServiceLookup.lookupDefaultPrintService().getName();

lookupDefaultPrintService() lieferte null. Die Docs der Funktion kündigen dies übrigens auch an: "[...] This may return null. [...]". Scheinbar war tatsächlich im System kein Drucker als "Standarddrucker" festgelegt. Ich hatte nur einen Drucker aktiv (Netzwerkdrucker über "ipp://").

Als ich es umgeschrieben und denn null-Fall berücksichtigt hatte, lief es! Die Freude währte allerdings nicht lange. Ich konnte Scannen und hatte eine Vorschau (A4). Beim Drucken aber, war der Ausdruck immer um ca. 2 cm nach oben versetzt, so dass grundsätzlich oberhalb 2 cm abgeschnitten wurden. Das ist natürlich inakzeptabel. Nach einigem rumprobieren und recherchieren hätte ich fast das zweite Mal aufgegeben. Irgendwann funktionierte es aber dann, durch hinzufügen von "-o PageSize=A4 -o Media=A4" zum PRINT_COMMAND.

Hilfreich waren hier folgende Diskussionen:

Als dann alles wunderbar klappte, hat mich noch eine Kleinigkeit gestört: Mein Drucker wurde immer doppelt aufgelistet. Das habe ich dann auch noch untersucht. Folgende Issues scheinen bezogen zu sein:

PrintServiceLookup.lookupPrintServices() einen DocFlavor zu übergeben hat auch keine zuverlässigen Ergebnisse gebracht.

1
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PRINTABLE, null);

Das hat erst funktioniert. Später wurde aber gar kein Drucker mehr gefunden. Warum ist mir schleierhaft.

Da aber nur der Druckername (als String) verwendet wird, um ihn beim Aufruf von PRINT_COMMAND zu übergeben, lässt es sich einfach lösen, indem einfach alle Doppellungen ignoriert werden. Das habe ich mittels einer HashMap gelöst.

Falls Interesse an den Änderungen besteht, hänge ich sie hier an. Geändert wurde ausschließlich Configuration.java. Die Version habe ich von 0.7 auf 0.7.1j geändert. Folgende Dateien sind angehangen (siehe weiter unten):

  • Ein Patch der Änderungen (JFotokopie-0.7-to-0.7.1j.patch)

  • Die vollständige geänderte Configuration.java

  • Eine kompilierte Version der Configuration.java (Configuration.class)

  • Ein lauffähiges jar (JFotokopie-0.7.1j.jar)

In den Änderungen ist auch noch eine Auflistung der Drucker mit ihren Attributen enthalten. Diese wird bei Programmstart angezeigt. In meinem Fall sieht das so aus:

Printer 1: usbprinter1
   printer-is-accepting-jobs = accepting-jobs
   queued-job-count = 0
   printer-name = usbprinter1
Printer 2: usbprinter1
   printer-is-accepting-jobs = accepting-jobs
   queued-job-count = 0
   printer-name = usbprinter1
Printer 3: PDF
   printer-is-accepting-jobs = accepting-jobs
   queued-job-count = 0
   pdl-override-supported = not-attempted
   color-supported = supported
   printer-name = PDF

(Mein Drucker in doppelter Ausführung (wie oben erwähnt) und der später hinzugefügte cups-pdf Drucker.)

Hier noch die beteiligten Komponenten:

  • Ubuntu 14.04 64-bit

  • hp Scanjet 2200c

  • hp Laserjet 1010

Mit Java 1.7 scheint auch alles wunderbar zu funktionieren.

JFotokopie-0.7-to-0.7.1j.patch (2.3 KiB)
Patch von JFotokopie 0.7 auf 0.7.1j
Download JFotokopie-0.7-to-0.7.1j.patch
Configuration.java (23.8 KiB)
Configuration.java Version 0.7.1j
Download Configuration.java
Configuration.class (18.3 KiB)
Precompiled Configuration.java Version 0.7.1j
Download Configuration.class
JFotokopie-0.7.1j.jar (56.3 KiB)
JFotokopie 0.7.1j
Download JFotokopie-0.7.1j.jar

iskarion

(Themenstarter)

Anmeldungsdatum:
14. Mai 2007

Beiträge: 125

Hallo thejox,

vielen Dank für den Bugreport und die Patches. Ich werde das in die nächste Version aufnehmen. Hab sowieso seit ein paar Monaten eine halbfertige Version 0.8 rumliegen, die auch Duplexdruck beherrschen soll. Ein Grund mehr 0.8 endlich mal fertigzustellen. 😉

no-rp

Anmeldungsdatum:
25. August 2014

Beiträge: Zähle...

Hallo, iskarion

Neue JFotokopie Version 0.8 geplant

Nützliches Programm! Was aus meiner Sicht fehlt:

  • Auswahlmöglichkeit der Scanner.

In meinem System benutze ich zwei. Ohne Angabe des Scanners startet scanimage nicht. Oder geht das auch anders? Vielleicht mit einer Art SystemVariable, die ich per Start-Script Deinem Programm übergebe:

java -jar JFotokopie.jar gt68xx

Und eine Frage in die Runde:

Kennt jemand eine bessere Steuerungs-Möglichkeit für den Plustek OpticSlim M12 als die über "gt68xx". Dort fehlt mir die Möglichkeit der Helligkeits-Regelung. Oder wie macht das z.B. simple-scan?

Danke schon heute für Deine Mühe und Eure Mithilfe.

Herzlichen Gruß

iskarion

(Themenstarter)

Anmeldungsdatum:
14. Mai 2007

Beiträge: 125

no-rp schrieb:

Was aus meiner Sicht fehlt:

  • Auswahlmöglichkeit der Scanner.

In meinem System benutze ich zwei. Ohne Angabe des Scanners startet scanimage nicht. Oder geht das auch anders? Vielleicht mit einer Art SystemVariable, die ich per Start-Script Deinem Programm übergebe:

In der Konfigurationsdatei jfotokopie.properties sollte sich das bereits jetzt einstellen lassen. Du kannst dort das SCAN_COMMAND um die --device-name Option ergänzen.

1
SCAN_COMMAND=scanimage --device-name namedeinesscanners --format tiff $COLOUR $RESOLUTION --brightness $BRIGHTNESS -l 0 -t 0 $SOURCE_SIZE

Oder möchtest Du JFotokopie regelmäßig mit beiden Scannern nutzen? Dann könnte ich das auch etwas dynamischer konfigurierbar machen.

Bezüglich Plustek OpticSlim M12/gt68xx kann ich Dir leider nicht weiterhelfen. Mit diesem sane backend kenne ich mich nicht aus.

thejox

Anmeldungsdatum:
11. August 2010

Beiträge: Zähle...

iskarion schrieb:

vielen Dank für den Bugreport und die Patches. Ich werde das in die nächste Version aufnehmen. Hab sowieso seit ein paar Monaten eine halbfertige Version 0.8 rumliegen, die auch Duplexdruck beherrschen soll. Ein Grund mehr 0.8 endlich mal fertigzustellen. 😉

Perfekt. Bin gespannt auf die 0.8! ☺

no-rp

Anmeldungsdatum:
25. August 2014

Beiträge: Zähle...

iskarion schrieb:

no-rp schrieb:

Was aus meiner Sicht fehlt:

  • Auswahlmöglichkeit der Scanner.

In meinem System benutze ich zwei. Ohne Angabe des Scanners startet scanimage nicht.

Oder möchtest Du JFotokopie regelmäßig mit beiden Scannern nutzen? Dann könnte ich das auch etwas dynamischer konfigurierbar machen.

Danke für die Antwort, ich habe erst heute Deine Nachricht gelesen. Ja, ich würde gern beide / drei Scanner nutzen, da diese sich an verschiedenen Orten befinden. Also eine Auswahl-Option wäre super. Danke, bereits heute.

Herzlichst, no-rp.

Antworten |