Хорошо, значит, вы уже получили код для чтения изображения и вывода всего текста, верно?
Давайте попробуем обернуть это циклом или чем-то, используя File#listFiles()
, и все будет в порядке!
Что-то вроде этого должно работать, обратите внимание, я написал это в блокноте, и это не было проверено!
import java.io.File;
public class Tess4jOCR {
public static void main(String[] args) throws TesseractException {
File repository = new File("C:\\Users\\RAFSOUZA\\Desktop\\OCRTest");
try {
for (File file : repository.listFiles()) {
String dtNow = new SimpleDateFormat("ddMMyyyy_HHmmss").format(Calendar.getInstance().getTime());
Tesseract tesseract = new Tesseract();
tesseract.setDatapath("C:\\Users\\RAFSOUZA\\Desktop\\Rafa3lOneiL\\BibliotecasExternasJAVA\\TesseractORC\\");
String fullText = tesseract.doOCR(file);
//String file = "O:\\Operações\\MIS\\Csa_OCR" + dtNow + ".txt";
String file = "C:\\RegistroRS" + dtNow + ".txt";
FileWriter fstream = new FileWriter(file);
BufferedWriter out = new BufferedWriter(fstream);
//System.out.println(fullText);
out.write(fullText);
out.newLine();
out.close();
}
} catch (Exception e) {
System.out.println("Ocorreu o seguinte erro" + e);
}
}
}
Просто поместите все изображения, которые вы хотите обработать, в C:\\Users\\RAFSOUZA\\Desktop\\OCRTest
(или в любой каталог, на который установлена переменная repository
, и запустите его, и он должен вывести его на C:\\RegistroRS-<timestamp>.txt
Обратите внимание, что вы можете добавить дополнительную логику для проверки имен файлов или, возможно, вывести текстовый файл с именем, связанным с исходным вводом, чтобы не повторять обработку, если вы запускаете код более одного раза и можете легко сказать, какой выход пришел с какого входа.