1、maven 依赖
<!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna -->
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>4.5.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j -->
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>4.2.2</version>
</dependency>
2、具体的代码
/**
* 获取验证码的值
*
* @return
* @throws IOException
* @throws TesseractException
*/
public static String getValCodeValue() throws IOException, TesseractException {
String valCodeUrl = "http://*******/servlet/ValidateCode?time=" + new Date().getTime();
// String valCodeUrl = "file:D:\\downs\\ValidateCode.jpg";
System.out.println(valCodeUrl);
URL url = new URL(valCodeUrl);
InputStream inputStream = url.openStream();
BufferedImage bufferedImg = ImageIO.read(new BufferedInputStream(new DataInputStream(inputStream)));
// 读取图片数字
ITesseract instance = new Tesseract();
File tessDataFolder = LoadLibs.extractTessResources("tessdata");
instance.setLanguage("eng");// 英文库识别数字比较准确
instance.setDatapath(tessDataFolder.getAbsolutePath());
String valCodeStr = instance.doOCR(bufferedImg).replace("\n", "");
System.out.println(valCodeStr);
return valCodeStr;
}