如何使用Tesseract从Tika OCR中提取值

时间:2015-07-09 15:49:09

标签: java apache-tika

您好我正在尝试使用Tesseract with Tika从图像中提取文本内容

Parser parser = new AutoDetectParser();
        BodyContentHandler handler = new BodyContentHandler();
        Metadata metadata = new Metadata();

        TesseractOCRConfig config = new TesseractOCRConfig();
        config.setTesseractPath("/usr/local/bin/");
        ParseContext parseContext = new ParseContext();
        parseContext.set(TesseractOCRConfig.class, config);



        try {
            parser.parse(stream, handler, metadata, parseContext);
        } finally {
            stream.close();
        }

        System.out.println(handler.toString());

我总是收到一个空值?我不知道如何从解析器中获取内容可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

如果您的系统路径中有config.setTesseractPath("/usr/local/bin/"),则不必声明tesseract,例如首先检查它:

public static boolean checkIfExecutableInPath(String exec) {
    String path = System.getenv("PATH");
    if (StringUtils.isNotBlank(path)) {
        for (String dir : path.split(":")) {
            if (new File(dir, exec).exists()) {
                return true;
            }
        }
    }
    return false;
}

并添加到您的代码中:

if (!checkIfExecutableInPath("tesseract")) {
    config.setTesseractPath(pathToTesseractDir);
}