【发布时间】:2020-12-14 14:03:09
【问题描述】:
我正在使用 Java 中的 tess4j tesseract。它运作良好,它允许我做我需要做的事情。
但是我遇到了一个没有指导或帮助就无法解决的问题。
让我们说,我有以下图像:
这会为我提供以下输出:
第一栏第二栏第三栏
第 1 行第 1 行第 3 列
第 2 行第 1 行第 2 行第 2 行第 2 列第 3 列
这是我的代码
String readFile(String inputFilePath){
Tesseract tesseract = new Tesseract();
tesseract.setDatapath(path);
tesseract.setLanguage("eng");
tesseract.setTessVariable("user_defined_dpi", "300");
String string = null;
try {
string = tesseract.doOCR(new File(inputFilePath));
} catch (TesseractException e) {
e.printStackTrace();
}
return string;
}
有没有一种方法可以让我获得模仿图像中的内容的结果?所以我可以区分这些列。
【问题讨论】:
-
看来您必须计算列标题之间的空格。然后将该逻辑应用于每个表格行。
-
保留空格并计算它们:
tesseract.setTessVariable("preserve_interword_spaces", "1"); -
@nguyenq 太棒了。发布为答案。