0

我做了一个Java OCR项目TesseractMirth当我从 Mirth 运行 jar 文件时,我得到了这个错误。当我搜索它时,我发现有一个 init() 方法,它也是 Tesseract.java 中的一个受保护的 void。我认为这可能是导致该错误的原因。我该怎么办?非常感谢您的帮助。

package Tess4jTest;

import java.io.File;
import java.io.IOException;
import net.sourceforge.tess4j.*;

public class TestTess {

public static String Tc;
public static String phone;
public static String date;


public static void main(String[] args) {
    //System.out.println(returnText("C:\\Users\\Nevzat\\Desktop\\deneme.pdf"));
}

public static String returnText(String fileName){

    File imageFile = new File(fileName);
    if(imageFile.exists()){
        Tesseract instance = new Tesseract();
        instance.setDatapath("C:\\imageRAD\\Onam\\tessdata");
        String result = null;
        try {
            result = instance.doOCR(imageFile);
        } catch (TesseractException e) {
            System.err.println(e.getMessage());
        }
        if(result!=null){

            int i=result.indexOf("Numarasn: ");
            int j=result.indexOf("Tel No:");
            int k=result.indexOf("Bilgllendirme Tarihl:");

            Tc = result.substring(i+10, i+21);
            phone = result.substring(j+8,j+23);
            date = result.substring(k+22,k+32);
            //System.out.println(result);
        }else{
            return "Null Error!";
        }

    }else{
        return "Does not found a file!";
    }

    return Tc+","+phone+","+date;
}

public static String returnTC() throws IOException{
    return Tc;
}

public static String returnPhone() throws IOException{
    return phone;
}

public static String returnDate() throws IOException{
    return date;
}

}
4

2 回答 2

1

当您尝试使用私有构造函数创建对象时会发生错误。(<init>()是没有参数的构造函数的名称)

查看tess4j源代码,我发现了一个带有以下文档的方法:

  • @deprecated 从 2.0 版开始,请改用默认构造函数。

查看 2.0 之前的源代码会发现默认构造函数是私有的。

这意味着您的问题很可能是针对高于 2.0 的版本进行编译,但您的环境运行的是高于 2.0 的版本。

更新您的环境或降级您构建的库以修复它。

于 2016-08-26T12:43:36.130 回答
0

我解决了错误并完成了项目。我一步一步提到

1.您必须为 tess4j 使用正确的 jar 文件。

2.通过构建路径将除tess4j-3.2.1.jar之外的所有java项目添加到tess4j-3.2.1.zip中。

3.从这里添加tess4j-1.5.jar

4.添加你的java项目的文件tessdataghost4j-0.5.1.jar、、、jna-4.1.jartess4j.jarjar文件。

于 2016-08-29T08:14:35.113 回答