Java方式图片转文本

1.依赖

<dependency>
			<groupId>net.sourceforge.tess4j</groupId>
			<artifactId>tess4j</artifactId>
			<version>4.5.1</version>
		</dependency>

2.实现 

import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;

public class ImgToTxt {
    public static void main(String[] args) {
        //本地图片的方式
//        String img = "C:\\Users\\user\\Pictures\\test\\img\\test-en.jpg";
//        File imageFile = new File(img);
        ITesseract tesseract = new Tesseract(); // 创建一个Tesseract实例
        //下载地址 https://digi.bib.uni-mannheim.de/tesseract/
        String path = "C:\\Program Files\\Tesseract-OCR\\tessdata";//安装的Tesseract-OCR路径
        tesseract.setDatapath(path); // 设置Tesseract OCR引擎的数据路径
//        tesseract.setLanguage("chi_sim"); // 中文
        tesseract.setLanguage("eng"); // 英文
        try {
            //网络地址方式
            BufferedImage url = getImageFromURL("https://xxx.1693388140073.png");
            String result = tesseract.doOCR(url);
//            String result = tesseract.doOCR(imageFile); // 本地图片方式
            System.out.println(result); // 输出转换后的文本
        } catch (TesseractException | IOException e) {
            System.err.println(e.getMessage()); // 处理异常
        }
    }

    //网络地址转BufferedImage
    public static BufferedImage getImageFromURL(String imageUrl) throws IOException {
        URL url = new URL(imageUrl);
        return ImageIO.read(url);
    }
}

3.模型包下载地址:

Index of /tesseract