
如何在 C# 中创建 OCR 软件演示
光学字符识别 (OCR) 是一种将各种文档格式(包括扫描的纸质文档、PDF、数字文件或用数码相机拍摄的印刷文本图像)转换为可编辑和可搜索的机器编码文本数据的技术。
IronOCR 是一个出色的 OCR 引擎库,可为开发人员提供强大的 OCR 功能。 在本文中,我们将通过 OCR 软件演示,结合代码示例探讨如何使用 IronOCR 执行 OCR。
什么是 IronOCR?
IronOCR 是一个功能强大的 .NET 库,旨在促进 C# 和 VB.NET 应用程序中的光学字符识别 (OCR)。 利用先进的算法和机器学习技术,IronOCR 可以准确地从扫描的 PDF 文件、图像和 PDF 中提取文本和内容,从而更轻松地以编程方式处理、搜索和分析此类文件。
凭借其简单明了的 API 和丰富的功能,开发人员可以将 OCR 功能无缝集成到他们的应用程序中,实现数据提取、文档处理、数据录入和内容管理任务的自动化。 无论您是从事商务工作,还是处理发票、报告、自动数据提取、可搜索的 PDF 或任何其他文本丰富的文档,IronOCR 都能提供可靠的解决方案,高效处理 OCR 要求。
IronOCR 入门
在深入学习代码示例之前,您需要通过 NuGet 软件包管理器安装 IronOCR 。 在软件包管理器控制台运行以下命令即可安装 IronOCR:
使用 IronOCR 执行 OCR.
基本文本识别
要使用 IronOCR 执行基本的文本识别,可以使用以下代码片段:
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput("ocr.png"))
{
var ocrResult = ocrTesseract.Read(ocrInput);
string recognizedText = ocrResult.Text;
Console.WriteLine(recognizedText);
}
}
}Imports IronOcr
Imports System
Friend Class Program
Shared Sub Main()
Dim ocrTesseract = New IronTesseract()
Using ocrInput As New OcrInput("ocr.png")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Dim recognizedText As String = ocrResult.Text
Console.WriteLine(recognizedText)
End Using
End Sub
End Class这段代码使用 IronOCR 对名为 "ocr.png "的图像文件执行光学字符识别(OCR)。 它初始化一个OcrInput对象。
然后获取OCR结果为recognizedText并打印到控制台。
输出
- LOGO SHOP
- LOREM IPSUM
- DOLOR SITAMET CONSECTETUR
- ADIPISCING ELIT
- 1 LOREM IPSUM $3.20
- 2 ORNARE MALESUADA $9.50
- 3 PORTA FERMENTUM $5.90
- 4 SODALES ARCU $6.00
- 5 ELEIFEND $9.00
- 6 SEMNISIMASSA $0.50
- 7 DUIS FAMES DIS $7.60
- 8 FACILISIRISUS $810
- TOTAL AMOUNT $49.80
- CASH $50.00
高级 OCR 选项
IronOCR 提供多种选项,您可以根据自己的图像文件和要求定制 OCR 流程。 例如,您可以指定 OCR 语言、调整图像预处理设置或启用文本清理。 下面的示例展示了其中一些高级选项:
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocr = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
// Set OCR language to English
ocr.Language = OcrLanguage.English;
// Enable text cleaning and enhance the resolution
ocrInput.DeNoise();
ocrInput.EnhanceResolution(225);
var result = ocr.Read(ocrInput);
if (!string.IsNullOrEmpty(result.Text))
{
Console.WriteLine($"Recognized Text: {result.Text}");
}
}
}Imports IronOcr
Imports System
Module Program
Sub Main()
Dim ocr = New IronTesseract()
Using ocrInput = New OcrInput()
ocrInput.LoadImage("images\image.png")
' Set OCR language to English
ocr.Language = OcrLanguage.English
' Enable text cleaning and enhance the resolution
ocrInput.DeNoise()
ocrInput.EnhanceResolution(225)
Dim result = ocr.Read(ocrInput)
If Not String.IsNullOrEmpty(result.Text) Then
Console.WriteLine($"Recognized Text: {result.Text}")
End If
End Using
End Sub
End Module代码使用 IronOCR 对位于 "images "文件夹中的图像文件 "image.png "执行 OCR。 它将 OCR 语言设置为英语,清除图像噪点并增强其分辨率。 从图像中提取识别的文本,然后打印到控制台。

条形码读取
IronOCR 还支持条形码读取,允许您制作软件从图像中提取条形码信息。 下面是一个代码示例,演示了如何使用 IronOCR 读取条形码:
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\imageWithBarcode.png");
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var barcode in ocrResult.Barcodes)
{
Console.WriteLine(barcode.Value);
}
}
}Imports IronOcr
Imports System
Module Program
Sub Main()
Dim ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
Using ocrInput = New OcrInput()
ocrInput.LoadImage("images\imageWithBarcode.png")
Dim ocrResult = ocrTesseract.Read(ocrInput)
For Each barcode In ocrResult.Barcodes
Console.WriteLine(barcode.Value)
Next
End Using
End Sub
End Module代码使用 IronOCR 从 "images "文件夹中的图像文件 "imageWithBarcode.png "中检测和读取条形码。 它通过将ReadBarCodes设置为true来配置IronOCR以启用条形码读取。 检测到的条形码值将被打印到控制台。

PDF 文本提取
IronOCR 还可以从 PDF 和扫描文档中提取文本。 这是一个代码示例,演示了如何使用 IronOCR 从 PDF 文件中提取文本:
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
// OCR entire document
ocrInput.LoadPdf("Email_Report.pdf");
// Alternatively OCR selected page numbers
int[] pages = { 1, 2, 3, 4, 5 };
ocrInput.LoadPdfPages("example.pdf", pages, Password: "password");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
}Imports IronOcr
Imports System
Module Program
Sub Main()
Dim ocrTesseract As New IronTesseract()
Using ocrInput As New OcrInput()
' OCR entire document
ocrInput.LoadPdf("Email_Report.pdf")
' Alternatively OCR selected page numbers
Dim pages() As Integer = {1, 2, 3, 4, 5}
ocrInput.LoadPdfPages("example.pdf", pages, Password:="password")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
End Sub
End Module代码使用 IronOCR 对名为 "Email_Report.pdf "的 PDF 文档执行 OCR 处理。 它可以使用LoadPdfPages并使用密码对"example.pdf"的特定页面进行OCR。 OCR 操作识别出的文本将打印到控制台。

结论
IronOCR是一个功能强大的.NET库,提供先进的OCR软件功能,使开发人员可以轻松地在应用程序中执行OCR任务。 在本文中,我们通过代码示例探讨了如何使用 IronOCR 进行基础和高级 OCR 软件演示。
如果您正在开发 .NET 项目,并需要集成 OCR 功能,那么 IronOCR 绝对值得您在考察不同的 OCR 引擎时加以考虑。 其易用性、速度、灵活性和丰富的文档使其成为开发人员执行 OCR 自动化任务的热门选择。
那么,为什么不试试 IronOCR,看看它如何简化您自己的 OCR 项目开发流程呢? 它可能是最适合您的项目的 OCR 引擎。
IronOCR提供免费试用许可证,起价为$999 USD,允许您在项目中继续充分利用IronOCR。
要了解有关 IronOCR 的更多信息,请访问 此处。
相关文章


