Java 如何使用Tesseract从Tika OCR中提取值
您好,我正在尝试使用Tesseract和Tika从图像中提取文本内容Java 如何使用Tesseract从Tika OCR中提取值,java,apache-tika,Java,Apache Tika,您好,我正在尝试使用Tesseract和Tika从图像中提取文本内容 Parser parser = new AutoDetectParser(); BodyContentHandler handler = new BodyContentHandler(); Metadata metadata = new Metadata(); TesseractOCRConfig config = new TesseractOCRConfig();
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());
我总是收到一个空值?我不知道如何从解析器中获取内容,有人能帮我吗?您不必声明
config.settsseractpath(“/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);
}
如果您尝试直接调用Tesseract解析器,而不是通过AutoDetectParser调用,会发生什么?我收到相同的空值。但是,当我在终端中使用Tesseract时,它工作得很好。你有没有试着遵循任何一个?嗨,Ramesh?你成功了吗??你能分享解决方案吗?tnx。