使用 IRONOCR

如何在C#中使用OCR从屏幕截图获取文本

更新 2023年十二月18日
分享:

许多人可能想知道 "什么是 OCR 屏幕截图?还有人可能想知道如何将任何文本的屏幕截图转换成数字文本可编辑格式或 .txt 或 .doc 格式。如果你是这些人中的一员,那就不用担心了,因为我们为你提供了完美的解决方案。

在本文中,我们将讨论不同的工具,这些工具可以让你在截图上执行 OCR(光学字符识别)。

OCR 工具有很多,但今天我们要使用的是 IronOCR 从截图中提取文本。

1.IronOCR

IronOCR 是一个用于 C# 和 VB.NET 编程语言的软件库,旨在使开发人员能够添加 OCR 识别功能。 (光学字符识别) 该库可用于识别图像中的文本,并将其转换为机器可读文本。该库可用于识别图像中的文本,并将其转换为机器可读文本。该库基于 Tesseract OCR 引擎构建,该引擎被认为是目前最准确的 OCR 引擎之一。

IronOCR 可用于从 PNG、JPG、TIFF 和 PDF 等多种不同文件格式的图像中读取文本。它还为文本识别提供了一系列高级功能,如识别多种语言的能力,以及从旋转或倾斜的图像中识别文本的能力。此外,开发人员还可以使用 IronOCR 将 OCR 功能快速集成到自己的应用程序中,因为它提供了一个简单易用的 API,可以从 C# 或 VB.NET 代码中调用。使用 IronOCR,您可以选择 OCR 语言,并对图像、数字 PDF 文件和扫描的 PDF 文件执行 OCR。

对于想在应用程序中添加 OCR 功能的开发人员来说,IronOCR 是一个不错的选择。它是开源软件,易于使用和集成,快速、准确,并采用最新的 OCR 技术。

2.IronOCR 功能

IronOCR 提供广泛的功能,帮助开发人员将 OCR 功能集成到他们的应用程序中。IronOCR 的一些主要功能包括

  1. 支持多种语言:IronOCR 可识别 60 多种语言的文本,包括英语、西班牙语、德语、法语、意大利语和中文。

  2. 自动检测文本方向:IronOCR 可以自动检测图像中文字的方向,即使图像已经旋转或倾斜。

  3. 支持多种图像格式:IronOCR 可从多种不同文件格式的图像中读取文本,包括 PNG、JPG、PNG、JPG.NET 和 JPG.NET、 TIFFPDF.

  4. 可定制的识别设置:开发人员可以自定义识别设置,以提高特定类型图像或使用案例的识别准确性。

5.能够识别扫描文档和多页 PDF 中的文本。

  1. 识别速度快,准确率高:IronOCR 使用 Tesseract OCR 引擎,这是目前最准确、应用最广泛的 OCR 引擎之一。

  2. 易于使用的应用程序接口:IronOCR 提供了一个简单、易用的 API,可从 C# 或 VB.NET 代码中调用,从而轻松地将 OCR 功能集成到任何应用程序中。

总之,IronOCR 是一款功能强大的工具,它提供了广泛的功能,可以帮助开发人员将 OCR 功能添加到他们的应用程序中。

3.在 Visual Studio 中创建新项目

打开 Visual Studio,进入 "文件 "菜单。选择 "新建项目",然后选择控制台应用程序。

在相应的文本框中输入项目名称并选择路径。然后点击创建按钮。选择所需的 .NET Framework,如下图所示:

如何在 C# 中 OCR 获取屏幕截图中的文本,图 1:在 Visual Studio 中创建新项目

在 Visual Studio 中创建新项目

Visual Studio 项目现在将生成控制台应用程序的结构。完成后,它将打开 program.cs 文件,你可以在其中编写和执行源代码。

图 2:从 Visual Studio 的新建项目向导生成的 program.cs 文件

从 Visual Studio 的新建项目向导生成的 program.cs 文件

现在我们可以添加 IronOCR 库并测试程序了。

4.安装 IronOCR

在 Visual Studio 中,您可以轻松地将 IronOCR 与 C# 项目集成。

IronOCR 提供了多种与 C# .NET 项目集成的方法。在此,我们将讨论其中之一:使用 NuGet 包管理器安装 IronOCR。

在 Visual Studio 中,转到 工具 > NuGet 包管理器 > 包管理器控制台

如何在 C# 中 OCR 获取屏幕截图中的文本,图 3:NuGet 软件包管理器用户界面

NuGet软件包管理器用户界面

点击后,Visual Studio 窗口底部会出现一个新的控制台。在控制台中键入以下命令并按回车键。

Install-Package IronOcr

只需几秒钟,IronOCR 即可安装完毕。

5.使用 IronOCR 在屏幕截图上执行 OCR

IronOCR 是一个功能强大的 OCR 库,可用于识别屏幕截图中的文本。有了 IronOCR,你就可以截取文本,然后使用该库的 OCR 功能将截图中的文本转换为可编辑的数字格式。下面是一个如何使用 IronOCR 在 C# 中对截图执行 OCR 的示例。要执行屏幕截图 OCR,只需截取屏幕截图并运行下面的代码,即可将文本提取为您想要的任何输出格式。

using IronOcr;
using System;

string imageText = new IronTesseract().Read("ocr.png").Text;
Console.WriteLine(imageText);
using IronOcr;
using System;

string imageText = new IronTesseract().Read("ocr.png").Text;
Console.WriteLine(imageText);
Imports IronOcr
Imports System

Private imageText As String = (New IronTesseract()).Read("ocr.png").Text
Console.WriteLine(imageText)
VB   C#

输入图像文件

如何在 C# 中 OCR 获取屏幕截图中的文本,图 4:用于输入的屏幕截图示例

用于输入的屏幕截图样本

文本输出

- IRONOCR for NET
- The C# OCR Library
- OCR for C# to scan and read images & PDFs
- NET OCR library with 127+ global language packs
- Output as text, structured data, or searchable PDFs
- Supports NET 6, 5, Core, Standard, Framework

6.使用 IronOCR 在特定区域执行 OCR

IronOCR 允许您对图像中的特定区域执行 OCR。当图像中包含多个文本区域,而您只想识别特定区域内的文本时,这就非常有用了。下面是一个示例代码。

using IronOcr;
using IronSoftware.Drawing;
using System;

var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput())
{
    var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);
    ocrInput.AddImage("ocr.png", contentArea);
    var ocrResult = ocrTesseract.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using IronSoftware.Drawing;
using System;

var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput())
{
    var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);
    ocrInput.AddImage("ocr.png", contentArea);
    var ocrResult = ocrTesseract.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

Private ocrTesseract = New IronTesseract()
Using ocrInput As New OcrInput()
	Dim contentArea = New CropRectangle(x:= 0, y:= 0, width:= 350, height:= 150)
	ocrInput.AddImage("ocr.png", contentArea)
	Dim ocrResult = ocrTesseract.Read(ocrInput)
	Console.WriteLine(ocrResult.Text)
End Using
VB   C#

输出

  • IRONOCR for NET
  • C# OCR 库
  • 用于扫描和读取图像与 PDF 的 C# OCR
  • 带有 127+ 全球语言包的 .NET OCR 库

7.使用 IronOCR 在图像上执行 OCR

要在图像上执行 OCR 并将识别出的文本保存到 .txt 文件中,可以使用以下代码。

using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput("ocr.png"))
{
    var result = ocr.Read(input);
    result.SaveAsTextFile("output.txt");
}
using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput("ocr.png"))
{
    var result = ocr.Read(input);
    result.SaveAsTextFile("output.txt");
}
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Using input = New OcrInput("ocr.png")
	Dim result = ocr.Read(input)
	result.SaveAsTextFile("output.txt")
End Using
VB   C#

输出文件的内容如下所示:

如何在 C# 中 OCR 获取屏幕截图中的文本,图 5:生成的 output.txt 文件的内容

生成的 output.txt 文件内容

8.了解更多信息

阅读 图像文本提取 有关如何对图像执行 OCR 的更多信息,请参阅教程。

IronOCR 是 套件 由五个.NET 库组成,旨在处理不同类型的文档。您只需花两个库的价格即可购买所有五个库 许可证.

< 前一页
如何在 C# 教程中从发票获取文本
下一步 >
如何在C#中OCR字幕(教程)

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 2,319,721 查看许可证 >