安装tesseract-ocr
地址:https://digi.bib.uni-mannheim.de/tesseract/
添加环境变量:
在path中添加安装的目录路径如图:
测试:
Java代码:
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
@RestController
public class LiteralExtractController {
@PostMapping("/image/extract")
public String reg(@RequestParam("file")MultipartFile file) throws IOException {
String result = "";
String filename = file.getOriginalFilename();
File save = new File(System.getProperty("user.dir")+"\\"+filename);
if (!save.exists()){
save.createNewFile();
}
file.transferTo(save);
String cmd = String.format("tesseract %s stdout -l %s",System.getProperty("user.dir")+"\\"+filename,"chi_sim");
System.out.println(cmd);
result = cmd(cmd);
return result;
}
public static String cmd(String cmd) {
BufferedReader br = null;
try {
Process p = Runtime.getRuntime().exec(cmd);
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
finally
{
if (br != null)
{
try {
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return null;
}
}