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; public class ImageTextExtractor { public static String extractTextFromImage(String imagePath) throws IOException { File imageFile = new File(imagePath); ITesseract instance = new Tesseract(); // JNA Interface Mapping try { instance.setDatapath("D:\\develop\\OCR\\tessdata"); // set tessdata path instance.setLanguage("chi_sim"); // set recognition language // instance.setLanguage("eng"); // set recognition language instance.setTessVariable("user_defined_dpi","300"); BufferedImage image = ImageIO.read(imageFile); String result = instance.doOCR(image); return result; } catch (TesseractException e) { e.printStackTrace(); return null; } } public static void main(String[] args) throws IOException { String imagePath = "C:\\Users\\w\\Pictures\\Camera Roll\\a.png"; String extractedText = extractTextFromImage(imagePath); System.out.println(extractedText); System.out.println("============================================================"); // String imagePath1 = "C:\\Users\\w\\Pictures\\Saved Pictures\\b.png"; // String extractedText1 = extractTextFromImage(imagePath1); // System.out.println(extractedText1); } }