您好我正在尝试使用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());
我总是收到一个空值?我不知道如何从解析器中获取内容可以帮助我吗?
答案 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);
}