1

我还没有找到解决办法。我想做的是从专有的金融软件平台读取特定的数字文本值。我首先尝试了可访问性和元素间谍方法,但没有成功。我能想到的唯一可行的方法是使用屏幕的 OCR,具有特定的固定区域。

我检查过的所有 OCR 解决方案似乎都是基于文件的(PDF、TIFF 等)。我真正需要的是可以从屏幕上捕获的 OCR 解决方案。我能想到的几个挑战: 要捕获的文本是黑色背景,可以是彩色文本(黄色、绿色、红色、橙色)。文本大小也很小(我认为是 6pt)。

理想情况下,我想要一个 .NET API,但我愿意尝试任何可行的方法。

4

2 回答 2

2

这可能无法回答您的 OCR 问题,但您可以尝试的最后一种方法是挂钩 windows 的 DrawText API。我最近了解到这一点是为了解决一个类似的问题,就像你自己一样

去下载EasyHook库并查看示例。尝试在外部应用程序上连接DrawTextA、DrawTextWDrawTextExA 和 DrawTextExW(这将与我在问题中的代码不同,因为我连接的是 Inproc DLL,而不是外部程序,但您的用例是 EasyHook 的设计目的,我的方式是一个黑客)。找出它使用什么,看看你是否可以让你的代码来解析文本。

于 2012-10-01T15:10:32.867 回答
1

试试这个OCR SDK

您制作屏幕截图,指定区域并将其传递给 OCR。我们用这种方法得到了很好的结果。我们还尝试了 tesseract,但无法使其与屏幕字体正常工作。

于 2012-10-19T18:50:05.167 回答