For triggering a usb scanner from the browser, we are using the Twain scan plugin.
To make the downloaded zip work in linux the twain jar(uk.co.mmscomputing.device.twain.jar) was replaced with the sane jar
The java applet code was compiled without errors,but throws several run time Exceptions as shown below.
System Spec : Ubuntu 12.04 (64 bit)
Any help on this issue would be appreciated
Are there other similar(javascript/java-Applet) open source plugins available for triggering a Canon -Cr 50 scanner from the browser ?
Run time Exceptions:
JarLib.load
Error = java.lang.UnsatisfiedLinkError: uk.co.mmscomputing.util.JarLib.loadX: Could not find library [libjsane.so]
JarLib.load
Error = java.lang.UnsatisfiedLinkError: uk.co.mmscomputing.util.JarLib.loadX: Could not find library [libjsane.so]
java.lang.UnsatisfiedLinkError: uk.co.mmscomputing.util.JarLib.loadX: Could not find library [libjsane.so]
at uk.co.mmscomputing.util.JarLib.loadX(JarLib.java:40)
at uk.co.mmscomputing.util.JarLib.load(JarLib.java:10)
at uk.co.mmscomputing.device.sane.jsane.<clinit>(jsane.java:140)
at uk.co.mmscomputing.device.sane.SaneScanner.isAPIInstalled(SaneScanner.java:17)
at uk.co.mmscomputing.device.scanner.Scanner.getDevice(Scanner.java:86)
at Scan_.<init>(Scan_.java:58)
at Scan_.main(Scan_.java:43)
JarLib.load
Error = java.lang.UnsatisfiedLinkError: no jsane in java.library.path
JarLib.load
Error = java.lang.UnsatisfiedLinkError: no jsane in java.library.path
java.lang.UnsatisfiedLinkError: no jsane in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at uk.co.mmscomputing.util.JarLib.load(JarLib.java:22)
at uk.co.mmscomputing.device.sane.jsane.<clinit>(jsane.java:140)
at uk.co.mmscomputing.device.sane.SaneScanner.isAPIInstalled(SaneScanner.java:17)
at uk.co.mmscomputing.device.scanner.Scanner.getDevice(Scanner.java:86)
at Scan_.<init>(Scan_.java:58)
at Scan_.main(Scan_.java:43)
java.lang.NullPointerException
at Scan_.<init>(Scan_.java:59)
at Scan_.main(Scan_.java:43)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Scan_$2.actionPerformed(Scan_.java:111)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6516)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6281)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4872)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:699)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:713)
at java.awt.EventQueue$4.run(EventQueue.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:710)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
^Citflux@itflux-desktop:/var/www/scannerApplet$ locate jsane.cpp
itflux@itflux-desktop:/var/www/scannerApplet$ locate libjsane.so
itflux@itflux-desktop:/var/www/scannerApplet$ javac Scan_.java
itflux@itflux-desktop:/var/www/scannerApplet$ java Scan_
JarLib.load
Error = java.lang.UnsatisfiedLinkError: uk.co.mmscomputing.util.JarLib.loadX: Could not find library [libjsane.so]
JarLib.load
Error = java.lang.UnsatisfiedLinkError: uk.co.mmscomputing.util.JarLib.loadX: Could not find library [libjsane.so]
java.lang.UnsatisfiedLinkError: uk.co.mmscomputing.util.JarLib.loadX: Could not find library [libjsane.so]
at uk.co.mmscomputing.util.JarLib.loadX(JarLib.java:40)
at uk.co.mmscomputing.util.JarLib.load(JarLib.java:10)
at uk.co.mmscomputing.device.sane.jsane.<clinit>(jsane.java:140)
at uk.co.mmscomputing.device.sane.SaneScanner.isAPIInstalled(SaneScanner.java:17)
at uk.co.mmscomputing.device.scanner.Scanner.getDevice(Scanner.java:86)
at Scan_.<init>(Scan_.java:58)
at Scan_.main(Scan_.java:43)
JarLib.load
Error = java.lang.UnsatisfiedLinkError: no jsane in java.library.path
JarLib.load
Error = java.lang.UnsatisfiedLinkError: no jsane in java.library.path
java.lang.UnsatisfiedLinkError: no jsane in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at uk.co.mmscomputing.util.JarLib.load(JarLib.java:22)
at uk.co.mmscomputing.device.sane.jsane.<clinit>(jsane.java:140)
at uk.co.mmscomputing.device.sane.SaneScanner.isAPIInstalled(SaneScanner.java:17)
at uk.co.mmscomputing.device.scanner.Scanner.getDevice(Scanner.java:86)
at Scan_.<init>(Scan_.java:58)
at Scan_.main(Scan_.java:43)
java.lang.NullPointerException
at Scan_.<init>(Scan_.java:59)
at Scan_.main(Scan_.java:43)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Scan_$2.actionPerformed(Scan_.java:111)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6516)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6281)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4872)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:699)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:713)
at java.awt.EventQueue$4.run(EventQueue.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:710)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)