I am using the Tess4J node to interpret some images to convert them to text. On my computer it runs fine, but when I try to run it on another pc I get the following error.
Hi @sanket_2012
My current KNIME version is 5.2.2, and it is been working on my computer since 4.6. The KNIME version where it is not working, is 4.7.8.
I have to mention that I had a similar problem on that PC with a java snippet that had a library loaded in the node (commons-compress.jar). Even with the library loaded correctly, there was a piece of code that didn’t work because it didn’t find a component of the library. I’m telling you this in case this can help you to solve the problem.
Additionally, I attach the image of the error again, what I get from the failure in the Catch node, and the table that enters the node in question.
_error_node (STRING: Tess4J)
Tess4J
|_error_reason (STRING: The filename, directory name, or volume label syntax is incorrect. )|The filename, directory name, or volume label syntax is incorrect.|
|_error_stacktrace (STRING: java.lang.Error: The filename, directory name, or volume label syntax is incorrect. at com.sun.jna.Native.open(Native Method) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:171) at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398) at com.sun.jna.Library$Handler.(Library.java:147) at com.sun.jna.Native.loadLibrary(Native.java:412) at com.sun.jna.Native.loadLibrary(Native.java:391) at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(LoadLibs.java:52) at net.sourceforge.tess4j.TessAPI.(TessAPI.java:42) at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:255) at org.knime.knip.tess4j.base.node.Tess4JNodeModel.prepareExecute(Tess4JNodeModel.java:115) at org.knime.knip.base.node.ValueToCellNodeModel.execute(ValueToCellNodeModel.java:516) at org.knime.knip.tess4j.base.node.Tess4JNodeModel.execute(Tess4JNodeModel.java:141) at org.knime.core.node.NodeModel.executeModel(NodeModel.java:549) at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1267) at org.knime.core.node.Node.execute(Node.java:1041) at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:595) at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:98) at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:201) at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:117) at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:367) at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:221) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123) at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246) )|java.lang.Error: The filename, directory name, or volume label syntax is incorrect. at com.sun.jna.Native.open(Native Method) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:171) at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398) at com.sun.jna.Library$Handler.(Library.java:147) at com.sun.jna.Native.loadLibrary(Native.java:412) at com.sun.jna.Native.loadLibrary(Native.java:391) at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(LoadLibs.java:52) at net.sourceforge.tess4j.TessAPI.(TessAPI.java:42) at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:255) at org.knime.knip.tess4j.base.node.Tess4JNodeModel.prepareExecute(Tess4JNodeModel.java:115) at org.knime.knip.base.node.ValueToCellNodeModel.execute(ValueToCellNodeModel.java:516) at org.knime.knip.tess4j.base.node.Tess4JNodeModel.execute(Tess4JNodeModel.java:141) at org.knime.core.node.NodeModel.executeModel(NodeModel.java:549) at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1267) at org.knime.core.node.Node.execute(Node.java:1041) at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:595) at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:98) at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:201) at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:117) at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:367) at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:221) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123) at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)|
The input table is loaded in:
BTW, It is not possible to load .table here and the input table has an Image column that is not possible to export in a csv, for example
I have an issue too with the Tess4J node on KNIME Analytics Platform 5.2.3. Actually I can’t tell, if this happened in the prior versions, because I’ve just started using it. Mine is related to “Execute failed: Invalid memory access”. These actions I tried to solve the problem checking former conversations:
Download language package portuguese from tessdoc | Tesseract documentation and save in …knime_5.2.3\plugins\org.knime.knip.tess4j.base_1.3.3.v202307241154\tessdata
As this didn’t work, I saved the file in an external folder and tried again, indicating to this folder.
Then I tried to include the …\tessdata folder in the PATH of my environment.
And increased the memory register Xmx in the knime.ini.
All actions didn’t work out.
Afterwards I’ve downloaded a few example Tess4J workflows. Not even these I could run, showing the same issue.
Can you help me out with that? Do you have any other idea that I can try?