在C#.net中的扫描图像中查找字符串

在C#.net中的扫描图像中查找字符串,c#,pdf,C#,Pdf,我想要一个C#程序,它可以搜索PDF文件中的字符串,该文件只包含扫描的图像。此外,代码应该显示搜索字符串所在的特定页面 例如,考虑一个PDF文件,其中包含了接收到的扫描图像(.PNG)。我想搜索收据号码。然后,该特定收据编号所在的页面应在PDF阅读器中打开 我想用MODI来完成这个任务。嗯,这实际上是一个相当复杂的任务。我以前也尝试过类似的方法,但效果并不总是很好;然而,我创建的程序,目前拥有的,做了我需要它做得足够好的事情。它之所以对我有效,是因为我专注于页面的一个非常特定的区域,在那里我知道

我想要一个C#程序,它可以搜索PDF文件中的字符串,该文件只包含扫描的图像。此外,代码应该显示搜索字符串所在的特定页面

例如,考虑一个PDF文件,其中包含了接收到的扫描图像(.PNG)。我想搜索收据号码。然后,该特定收据编号所在的页面应在PDF阅读器中打开


我想用MODI来完成这个任务。

嗯,这实际上是一个相当复杂的任务。我以前也尝试过类似的方法,但效果并不总是很好;然而,我创建的程序,目前拥有的,做了我需要它做得足够好的事情。它之所以对我有效,是因为我专注于页面的一个非常特定的区域,在那里我知道我会找到特定格式的文本。请注意,这只适用于打印文本。。。盖章或手写文本是一个痛苦的处理。有了足够的OCR培训,我相信这是可以解决的,但我没有额外的时间投入到这个项目中

您的结果将在很大程度上取决于您选择的OCR方法、扫描质量、是打字还是手写、扫描是否完全对齐或略微倾斜等

我不会给你任何代码,因为如果我给你,你将什么也学不到,但我会给你一些如何开始的提示。如果你陷入困境,在这里发布一个具体的问题,希望你能得到一些帮助

有很多方法,我尝试过的方法是将扫描的PDF文件转换成图像(每页一个)。然后,我通过识别算法运行图像,试图检索所有文本(在我的例子中,它是图像上的一个特定矩形)

因此,要将图像输出到PDF,可以使用Magick.NET之类的工具。它甚至可以通过NuGet获得,所以这应该是一个简单的部分。因为它是一个扫描过的PDF文件,所以你在获取图像时不应该有任何问题。有很多教程,如果你遇到困难,可以在这个网站上发布一个具体的问题

光学字符识别部分是难点;然而,有一些库可以帮助您,或者至少可以帮助您开始学习。我使用了tessnet2库()

有一些C#wrapper可用,你甚至可以从NuGet找到一些东西。GitHub()上有一个地方。另外,请看这里:和这里:

其中有些是给tessnet3的,有些是给tessnet2的。我已经成功地使用了tessnet2 32位版本,但其他版本没有成功。所以,让他们都去看看什么对你有用


提前知道你正潜入一个相当复杂的领域,如果你陷入困境或无法理解某些事情,不要感到沮丧。。。给它时间。

你为此尝试过什么吗?这个网站不是让人们为你工作的。请解释你尝试了什么以及失败的地方。如果你什么都没试过,那就举个例子吧。因为我是这个行业和.NET平台的新手,我不知道如何编写代码,但我不希望有完整的代码。我在问你关于实现我的任务的想法或任何暗示。我在网上搜索过,我得到的结果要么是提取图像,要么是从PDF文件中查找文本。但我两者都需要。请告诉我你有什么想法,即使不是莫迪。提前谢谢。谢谢你的宝贵建议。好的。我会试试的。