1

我正在尝试运行以下命令

tesseract test10.png text -l nor

使用 Java 的

Runtime.getRuntime().exec()

命令。

使用简单的“cmd /c dir”命令时它可以工作,但我无法弄清楚使用该命令的正确语法/方式。

请帮忙!

4

3 回答 3

1

你使用 exec(String cmd) 还是 exec(String[] cmd)?

有时我对第一个有问题,虽然我不知道出了什么问题

如果您执行“tesseract test10.png text -l nor”然后尝试“cmd /C \”tesseract test10.png text -l nor\“”(与String []相同)也许其中一些工作

于 2011-10-13T14:06:56.883 回答
0

看一下VietOCR的OCR.java文件,它使用 ProcessBuilder 来调用 Tesseract 可执行文件。

于 2011-10-13T23:33:06.083 回答
0

这有效:

try {
        Runtime rt = Runtime.getRuntime();
        Process pr = rt.exec("C:\\Path_to_tesseract\\tesseract.exe D:\\image.png D:\\outputFile");

        BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));

        String line=null;

        while((line=input.readLine()) != null) {
            System.out.println(line);
        }

        int exitVal = pr.waitFor();
        System.out.println("Exited with error code "+exitVal);

    } catch(Exception e) {
        System.out.println(e.toString());
        e.printStackTrace();
    }
于 2013-04-09T00:05:42.017 回答