Tesseract OCR 在 Web 项目中不起作用

Tesseract OCR not working in Web Project

提问人:Aninda Bhattacharyya 提问时间:4/25/2016 更新时间:6/13/2016 访问量:1472

问:

我正在尝试在 Web 应用程序中使用 Tesseract OCR。当我将其作为 JAVA 应用程序运行时,代码运行良好。但是,一旦我将相同的代码放入我的 Web 应用程序中,它就不再起作用了。如果将函数放在 servlet 中,tomcat 根本不会启动。如果我通过创建一个对象从单独的类调用它,在调试时,我发现根本没有创建该对象。我已经包括了所有必要的罐子。

servlet 中的代码

OCRFullTrial ot = new OCRFullTrial();
ot.imgOCR();

其他类内部

public void imgOCR(){
    File imageFile = new File("D:\\OCRTesting\\0.jpg");

try {
     ITesseract instance = new Tesseract();  //            
    System.out.println("1");

} catch (Exception e) {
    System.err.println(e.getMessage());
}
Java Eclipse Tesseract Web 项目

评论


答:

0赞 DarkHorse 4/26/2016 #1

我认为您应该检查一些提示,以防您在基于Web的项目中使用Tess4j:

  1. 将所有 jar 放在 WEB-INF > lib 文件夹中。
  2. 沿 Tess4j 提供的 *.dll 文件必须位于 system32 文件夹 (Windows) 中。我不知道其他操作系统。
  3. 使用 method 设置实例路径。它必须指向包含tessdata文件夹的文件夹。instance.setDataPath()
  4. 如果您的 tessdata 中包含多种语言训练数据,请设置语言使用。instance.setLanguage()

交叉检查上述步骤,然后再次尝试运行。

评论

0赞 Aninda Bhattacharyya 4/26/2016
多谢!我按照上述步骤操作,这解决了问题。
0赞 Cory Tam 9/24/2017
我还试图将网络服务托管在 apache 服务器上。我正在使用 apache tika,在 API 中它说我只需要像这样引用 tesseract 的文件夹 TesseractOCRConfig config = new TesseractOCRConfig();config.setTesseractPath(tesseract文件夹);我应该在文件夹中放置什么(tesseract jar 文件?)以及我应该使用什么路径,例如,如果我使用 WEB-INF,它应该如何启动“/WEB-INF/tesseract/JarFileINeedToSpecifyPath.jar”?