#Region Project Attributes
#MainFormWidth: 600
#MainFormHeight: 600
#AdditionalJar:lept4j-1.19.0.jar
#AdditionalJar:slf4j-api-1.7.32.jar
#AdditionalJar:slf4j-simple-1.7.32.jar
#AdditionalJar:jai-imageio-core-1.4.0.jar
#AdditionalJar:jna-5.14.0.jar
#AdditionalJar:tess4j-5.10.0.jar
#End Region
Sub Process_Globals
Private fx As JFX
Private MainForm As Form
Private xui As XUI
Private Button1 As B4XView
End Sub
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
MainForm.RootPane.LoadLayout("Layout1")
MainForm.Show
End Sub
Sub Button1_Click
Log(File.Exists(File.DirApp,"card1.png"))
(Me).As(JavaObject).RunMethod("OCRImage",Array(File.Combine(File.DirApp,"card1.png")))
End Sub
#If JAVA
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import java.io.IOException;
import net.sourceforge.tess4j.*;
import net.sourceforge.tess4j.ITessAPI;
import net.sourceforge.tess4j.Word;
import java.util.List;
public static void OCRImage(String imgPath) {
ITesseract tesseract = new Tesseract();
tesseract.setDatapath("objects\tessdata"); // Set the path to tessdata folder Objects\tessdata)
try {
// Load an image file
BufferedImage image = ImageIO.read(new File(imgPath));
// Perform OCR on the image
String text = tesseract.doOCR(image);
// Print the extracted text
System.out.println("Extracted Text: " + text);
} catch (TesseractException | IOException e) {
e.printStackTrace();
}
}
#End If