我正在尝试拦截使用Empty page!!
时打印到我的屏幕的红色Tess4J
消息。我编写了一个简短的拦截器类,它覆盖print
和println
并替换stdout
和stderr
以检查此字符串:
private static class Interceptor extends PrintStream {
public Interceptor(OutputStream out) {
super(out, true);
}
@Override
public void print(String s) {
if ( !s.contains("Empty page!!") )
super.print(s);
}
@Override
public void println(String s) {
if ( !s.contains("Empty page!!") )
super.println(s);
}
}
我测试了这个类:它可以工作并抑制我写给Empty page!!
和stdout
的任何stderr
。我没有成功捕获来自Empty page!!
的{{1}}消息,但是以红色打印到我的控制台。我的问题:如何拦截和压制此消息?
非常感谢。
答案 0 :(得分:2)
您可能希望模拟Tesseract的quiet
命令行选项,该选项包含debug_file /dev/null
。
api.setVariable("debug_file", "/dev/null");
或
instance.setTessVariable("debug_file", "/dev/null");