netbeans中的libtesseract303.dll问题

我正在实施一个OCR系统。 当我将dll文件放在java类路径上时,它会出现以下错误。

Exception in thread "main" java.lang.UnsatisfiedLinkError: G:\software\apache-tomcat-8.0.18-windows-x64\apache-tomcat-8.0.18\bin\win32-x86-64\libtesseract303.dll: Can't find dependent libraries 

在运行项目后,如果我检查java类路径,则添加的所有dll文件都将消失。 我几乎遵循了与tesseract相关的所有教程。 但找不到解决方案。 有人有想法吗?

1).JDK版本-1.8(64位)2).Library是64位3)。所有三个库都放在库路径中。 4)我遵循本教程给出的步骤。在本教程中,他们介绍了32位库。而不是我使用64位库。我得到了以下错误java.lang.UnsatisfiedLinkError:无法加载库’libtesseract304′ :资源路径中找不到本机库(win32-x86-64 / libtesseract303.dll)([file:/ C:/ Users / User / Documents / GitHub / Linguist / build / web / WEB-INF / classes) 。 然后我尝试检查是否可以使用system.load()加载库。 然后我得到以下错误。 我的类路径放在tomcat文件夹中。

线程“main”中的exceptionjava.lang.UnsatisfiedLinkError:G:\ software \ apache-tomcat-8.0.18-windows-x64 \ apache-tomcat-8.0.18 \ bin \ win32-x86-64 \ libtesseract303.dll:可以找不到依赖的库

在下面找到一个小工作示例应用程序 从那里你可以开始调查并挑选你需要的部件。

假设有以下结构和文件

 pom.xml sample.gif src/main/java/sub/optimal/tess4j/Demo.java tessdata/eng.traineddata 

的pom.xml

    4.0.0 sub.optimal Tess4JDemo 1.0-SNAPSHOT jar  UTF-8 1.8 1.8 2.3    net.sourceforge.tess4j tess4j 3.0.0 jar   org.ghost4j ghost4j 1.0.0   org.apache.maven.plugins maven-shade-plugin ${maven.shade.version}      org.codehaus.mojo exec-maven-plugin 1.4.0    java     sub.optimal.tess4j.Demo      

sample.gif

sample.gif

的src /主/爪哇/分/最佳/ tess4j / Demo.java

 package sub.optimal.tess4j; import java.io.File; import net.sourceforge.tess4j.Tesseract; import net.sourceforge.tess4j.TesseractException; public class Demo { public static void main(String[] args) { File imageFile = new File("sample.gif"); Tesseract instance = new Tesseract(); try { String result = instance.doOCR(imageFile); System.out.println(result); } catch (TesseractException e) { e.printStackTrace(System.err); } } } 

tessdata/eng.traineddata是从https://tesseract-ocr.googlecode.com/files/eng.traineddata.gz下载的(不要忘记解压缩文件)

使用mvn exec:java运行这个小例子会产生以下输出

 [INFO] --- exec-maven-plugin:1.4.0:java (default-cli) @ Tess4JDemo --- Hello OCR!