Tess4j tesseract - 如何区分 table 中的列或行?

Tess4j tesseract - How can you differentiate between columns or rows in a table?

我正在 Java 中使用 tess4j tesseract。它运行良好,它允许我做我需要的。

但是我遇到了一个没有指导或帮助我无法解决的问题。

让我们说,我有以下图片:

这将为我提供以下输出:

Column 1 Column 2 Column3

Row 1 Column 1 Rowt Column 3

Row 2 Column 1 Row 2 Column 2 Row 2 Column 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");