Überweisung - Daten per QR-Code einlesen

istra711

Betreff:

Re: Überweisung - Daten per QR-Code einlesen

 ·  Gepostet: 16.07.2026 - 10:34 Uhr  ·  #187034
Zitat geschrieben von gnampf

die Webcam-Version hatte ich mir gestern installiert, hat jedoch ein recht unerwartetes Feautre: er beendet Jameica!
Code

[Sun Jun 28 18:42:00 CEST 2026][DEBUG][main][de.willuhn.jameica.services.BeanService.get]   creating new class de.willuhn.jameica.hbci.qrtransfer.action.QRWebcamAction
[Sun Jun 28 18:42:00 CEST 2026][DEBUG][main][de.willuhn.jameica.gui.Navigation.start] executing navigation entry item:41 [Aus Webcam]
[Sun Jun 28 18:42:00 CEST 2026][ERROR][main][de.willuhn.jameica.gui.GUI.loop] main loop crashed, retry
com.github.sarxos.webcam.WebcamException: java.util.concurrent.ExecutionException: com.github.sarxos.webcam.WebcamException: Cannot execute task
        at com.github.sarxos.webcam.WebcamDiscoveryService.getWebcams(WebcamDiscoveryService.java:124)
        at com.github.sarxos.webcam.Webcam.getWebcams(Webcam.java:893)
        at com.github.sarxos.webcam.Webcam.getDefault(Webcam.java:956)
        at com.github.sarxos.webcam.Webcam.getDefault(Webcam.java:933)
        at com.github.sarxos.webcam.Webcam.getDefault(Webcam.java:911)
        at de.willuhn.jameica.hbci.qrtransfer.action.QRWebcamAction.handleAction(Unknown Source)
        at de.willuhn.jameica.gui.Navigation.start(Navigation.java:419)
        at de.willuhn.jameica.gui.Navigation$MyActionListener.handleEvent(Navigation.java:514)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5884)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1656)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5099)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4540)
        at de.willuhn.jameica.gui.GUI.loop(GUI.java:933)
        at de.willuhn.jameica.gui.GUI.init(GUI.java:335)
        at de.willuhn.jameica.system.Application.init(Application.java:145)
        at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
        at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: java.util.concurrent.ExecutionException: com.github.sarxos.webcam.WebcamException: Cannot execute task
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:124)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:193)
        at com.github.sarxos.webcam.WebcamDiscoveryService.getWebcams(WebcamDiscoveryService.java:116)
        ... 17 more
Caused by: com.github.sarxos.webcam.WebcamException: Cannot execute task
        at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.process(WebcamProcessor.java:72)
        at com.github.sarxos.webcam.WebcamProcessor.process(WebcamProcessor.java:140)
        at com.github.sarxos.webcam.WebcamTask.process(WebcamTask.java:46)
        at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.newGrabber(WebcamDefaultDriver.java:45)
        at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver.getDevices(WebcamDefaultDriver.java:117)
        at com.github.sarxos.webcam.WebcamDiscoveryService$WebcamsDiscovery.call(WebcamDiscoveryService.java:36)
        at com.github.sarxos.webcam.WebcamDiscoveryService$WebcamsDiscovery.call(WebcamDiscoveryService.java:26)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
        at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: java.lang.NoClassDefFoundError: org/bridj/cpp/CPPObject
        at java.base/java.lang.ClassLoader.defineClass1(Native Method)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962)
        at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144)
        at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:454)
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:367)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:557)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490)
        at com.github.sarxos.webcam.ds.buildin.WebcamDefaultDriver$WebcamNewGrabberTask.handle(WebcamDefaultDriver.java:55)
        at com.github.sarxos.webcam.WebcamProcessor$AtomicProcessor.run(WebcamProcessor.java:81)
        ... 3 more
Caused by: java.lang.ClassNotFoundException: org.bridj.cpp.CPPObject
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:377)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:557)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490)
        ... 12 more




Da es 4 Versionen nun gibt, brauche ich schon etwas genauere Angaben. Welche Version hast du unter welchem OS installiert?
Da ich gestern Abend viel an den Versionen geschraubt habe, kann es sein, dass du nicht den aktuellen Code hast.
Prüfe das am besten nochmal mit der aktuellen 2.4.4....

istra711

Betreff:

Re: Überweisung - Daten per QR-Code einlesen

 ·  Gepostet: 16.07.2026 - 10:52 Uhr  ·  #187036
...habe gerade gesehen, du hast das alte QRtransfer-Plugin installiert. Das entwickel ich nicht mehr weiter, weil es durch das neue DataTransfer-Plugin ersetzt wird, dass sowohl QR als auch QCR kann.

Aktuelle Version hier:
https://github.com/istra711/DataTransfer

Drachen1000

Betreff:

Re: Überweisung - Daten per QR-Code einlesen

 ·  Gepostet: 16.07.2026 - 12:05 Uhr  ·  #187039
Super Arbeit, jetzt funktioniert es bei mir, klasse!!
Ich habe das bash Skript für die Berechtigung der Kamera durchlaufen lassen und das neuste Plugin v2.4.4 installiert. Danach kam die Abfrage, ob der Kamerazugriff zugelassen werden soll. Jetzt ist die Berechtigung auch entsprechend bei "Datenschutz und Sicherheit" für jameica bei der Kamera eingetragen.

Im Skript musste ich noch den Pfad anpassen, da der Unterordner "Contents" bei der jameica.app nicht vorhanden ist. Normalerweise gibt es den anderen Apps.

Danach wollte ich noch hibiscus.jar mit der gepatchten hibiscus.jar ersetzen. Diese macht bei mir jedoch keinen Unterschied. Kann es sein, dass hier die falsche Version abgelegt ist. Die Checksumme ist beim Original und der gepatchten Version identisch. Ich hoffe, ich habe hier keinen Fehler gemacht :-).

Vielen Dank für noch einmal für die Arbeit und die Unterstützung

Drachen1000

Betreff:

Re: Überweisung - Daten per QR-Code einlesen

 ·  Gepostet: 16.07.2026 - 12:22 Uhr  ·  #187040
Sorry, ich war zu schnell. Ich habe den Punkt jetzt gefunden.

istra711

Betreff:

Re: Überweisung - Daten per QR-Code einlesen

 ·  Gepostet: 16.07.2026 - 12:56 Uhr  ·  #187041
Zitat geschrieben von Drachen1000

Sorry, ich war zu schnell. Ich habe den Punkt jetzt gefunden.


Ja, super, dass jetzt alles klappt. Erstaunlicherweise funktioniert das Plugin auch ohne die optimierte Version bei einigen Leuten.
Es kann aber sein, dass die die Importer-Integration gar nicht getestet haben (neues Feature, im Importer, siehe Docu).
Ohne Patch sind im Menue trotzdem alle funktionen vorhanden und funktionieren.
Den Hinweis mit dem Script schaue ich mir nochmal an und ändere das entsprechen....
Danke für das Feedback!

Drachen1000

Betreff:

Re: Überweisung - Daten per QR-Code einlesen

 ·  Gepostet: Gestern um 09:43 Uhr  ·  #187058
Ich habe jetzt ein wenig den Import von Rechnungen getestet, aber bei mir funktioniert die Texterkennung leider noch nicht so richtig.
Bei eingescannten Rechnungen als PDF/jpg mit hervorragender Qualität wird kein Text erkannt. Erstelle ich ein eigenes PDF mit Libreoffice wird Text erkannt.
Ich finde bei mir auch kein Verzeichnis tessdata/ und keine entsprechende libraries /dylib.
Müssen hier noch weitere Abhängigkeiten für die OCR Erkennung installiert werden?

"Check if the tessdata/ directory exists and is correct
Ensure Tesseract DLLs (libtesseract*.dll, libleptonica*.dll) are present"

Übrigens habe ich den Import Dialog auch bei der ungepatchten hibiscus.jar Datei.
Anliegend dazu noch ein Auszug aus der log Datei.

Code
...
[Fri Jul 17 06:36:18 CEST 2026][INFO][main][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor$2.run] activating progress monitor
[Fri Jul 17 06:36:25 CEST 2026][INFO][bg-task:][de.willuhn.jameica.hbci.datatransfer.DataTransferBaseImporter.doImport] Daten-Transfer Import (file): Konto XXXXXXXXX
[Fri Jul 17 06:36:25 CEST 2026][WARN][bg-task:][org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.ensureDisplayProfile] ICC profile is Perceptual, ignoring, treating as Display class
[Fri Jul 17 06:36:25 CEST 2026][INFO][bg-task:][de.willuhn.jameica.hbci.datatransfer.parser.QrCodeSelector.decodeMultiple] GenericMultipleBarcodeReader: no QR codes in full image
[Fri Jul 17 06:36:25 CEST 2026][INFO][bg-task:][de.willuhn.jameica.hbci.datatransfer.parser.QrCodeSelector.decodeMultiple] After 2x2 quadrant scan: 0 QR code(s)
[Fri Jul 17 06:36:25 CEST 2026][INFO][bg-task:][de.willuhn.jameica.hbci.datatransfer.parser.QrCodeSelector.decodeMultiple] After 3x3 grid scan: 0 QR code(s)
[Fri Jul 17 06:36:25 CEST 2026][INFO][bg-task:][de.willuhn.jameica.hbci.datatransfer.OcrSettings.load] Einstellungen geladen: /Applications/jameica.app/ocr-settings.properties
[Fri Jul 17 06:36:25 CEST 2026][INFO][bg-task:][de.willuhn.jameica.hbci.datatransfer.parser.OcrEngine.initTess4j] tess4j erfolgreich geladen
[Fri Jul 17 06:36:25 CEST 2026][INFO][bg-task:][de.willuhn.jameica.hbci.datatransfer.parser.OcrEngine.init] Tesseract initialisiert: datapath=tessdata, language=deu
[Fri Jul 17 06:36:25 CEST 2026][WARN][bg-task:][org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.ensureDisplayProfile] ICC profile is Perceptual, ignoring, treating as Display class
[Fri Jul 17 06:36:26 CEST 2026][WARN][bg-task:][de.willuhn.jameica.hbci.datatransfer.parser.OcrEngine.doOCR] OCR fehlgeschlagen: null
[Fri Jul 17 06:36:26 CEST 2026][ERROR][bg-task:][de.willuhn.jameica.hbci.datatransfer.DataTransferBaseImporter.doImport] Fehler beim Import
java.lang.Exception: Kein Text erkannt
  at de.willuhn.jameica.hbci.datatransfer.parser.SmartDetector.tryOcrFromPDF(Unknown Source)
  at de.willuhn.jameica.hbci.datatransfer.parser.SmartDetector.detectFromAnyFile(Unknown Source)
  at de.willuhn.jameica.hbci.datatransfer.parser.SmartDetector.detectFromStream(Unknown Source)
  at de.willuhn.jameica.hbci.datatransfer.DataTransferFileImporter.processInput(Unknown Source)
  at de.willuhn.jameica.hbci.datatransfer.DataTransferBaseImporter.doImport(Unknown Source)
  at de.willuhn.jameica.hbci.gui.dialogs.ImportDialog$3.run(ImportDialog.java:182)
  at de.willuhn.jameica.gui.GUI$7.run(GUI.java:1113)

[Fri Jul 17 06:36:26 CEST 2026][INFO][bg-task:][de.willuhn.jameica.gui.GUI$7.run] finished background task: bg-task:
[Fri Jul 17 06:37:26 CEST 2026][INFO][main][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor$1$1.run] auto closing monitor snapin
...


Viele Grüße
Sven

istra711

Betreff:

Re: Überweisung - Daten per QR-Code einlesen

 ·  Gepostet: Heute um 09:10 Uhr  ·  #187066
Hallo Sven,

ich habe mir das Problem auf dem MAC genauer angeschaut. Es hat sich herausgestellt, dass unter MacOS (auch ARM) Tesseract-OCR nicht richtig funktioniert, zumindest nicht so funktioniert wie unter Windows und Linux. Was mich aber verunsichert, dass du mit selbst generierten PDFs etwas lesen kannst, denn dass ist eigentlich nicht möglich aufgrund des Fehlers.
Ich habe Tesseract händisch auf zwei MACs installiert und daraufhin war das Lesen von Rechnungen ohne QR-Code (dies ist wichtig, sonst kannst du die Funktion nicht testen) möglich.
Ich habe eine kleine Anleitung dazu geschrieben:
https://github.com/istra711/Da…lation-ocr

Welche Version du installiert hast, ist nicht so wichtig, die vorletzte sollte auch damit spielen.
Einen Bug gibt es noch, der hängt mit GUI-Oberfläche zusammen. Der gescannte Text ist in weißer Schrift auf weißem Grund, je nach Einstellung der Oberfläche. Wenn man in dem Textfenster den Text markiert, wird er sichtbar....

Raimund Sichmann

Betreff:

Re: Überweisung - Daten per QR-Code einlesen

 ·  Gepostet: Heute um 12:34 Uhr  ·  #187067
bitte keine Fullquotes, besonders nicht, wenn sich die Antwort auf den Beitrag darüber bezieht.