跳至页脚内容
OCR 工具

Microsoft OCR 工具(C# 替代)

OCR(光学字符识别)对于各种规模的企业来说都是一项至关重要的技术。 它可以高效地扫描、存储和分析数据,而这些数据如果处理起来则既耗时又复杂。

微软 OCR 工具提供强大的功能,可简化您的数字化转型流程。 这些工具可以实现更快、更高效的文档处理,让您有更多时间专注于发展业务这一重要任务。 在本文中,我们将探讨如何利用强大的微软 OCR 工具来简化您的操作。

OneNote:微软工具

如果您需要从图像中提取文本,Microsoft OneNote 是一个很有用的工具。 OneNote 是一款功能全面的笔记应用程序,它提供了一个平台,用于捕获、存储和组织各种形式的信息,例如文本、图像、音频和视频。 它还是一款非常实用的工具,可以从图像或文件打印输出中复制文本,无需手动输入文本,从而节省您的时间和精力。

使用 OneNote 提取文本

要使用 OneNote 从图像中提取文本,请按照以下步骤操作:

  1. 启动 OneNote 应用程序。
  2. 使用"插入"选项插入图像文件,或者直接将图像文件拖放到 OneNote 窗口中。

    OneNote Insert ribbon

    OneNote 插入功能区

  3. 右键单击图像,然后从菜单中选择"从图片复制文本"。

    在上下文菜单中复制图片中的文本

    在上下文菜单中复制图片中的文本

  4. 最后,将复制的文本粘贴到任何所需位置,即可访问从扫描图像中提取的文本。

    文本来源于从图像中复制的文本

    文本来源于从图像中复制的文本

这就是使用 OneNote 扫描任何图像的方法。

Microsoft Vision Studio

微软认知服务提供"从图像中提取文本"功能,利用人工智能扫描图像并准确检测文本。 这项服务操作简便,只需上传图片或PDF文件即可。系统随后会将信息高精度地转录出来,确保提取的文本能够准确反映图片或PDF文件的内容。

此外,提取的文本可以是多种语言,使世界各地的用户都能使用该服务。 借助微软认知服务的"从图像中提取文本"功能,从图像中提取有价值的数据变得简单,从而能够进行高效的分析并有效完成任务。

使用 Microsoft Vision Studio 提取文本

要使用"从图像中提取文本"功能,您可以访问 Microsoft Azure 的Vision Studio 网站。 但是,这项服务需要订阅 Azure。 订阅购买后,您即可访问从扫描文档中提取的文本。 以下是输出示例图像,供您参考。

扫描图像以获取其文本

扫描图像以获取其文本

A9T9 微软免费 OCR 软件

A9T9 免费 OCR 软件是一款功能强大的工具,可让 Windows 用户轻松地将纸质文档转换为数字文本。 它简单易用的拖放功能可以立即识别多种语言的文本,包括英语、德语、中文、韩语和印度语。 该软件可以从扫描图像或 PDF 文档中提取数据,并将其转换为可编辑、可搜索的格式。

该软件支持多种输出格式,例如富文本、TXT 或 CSV,以及图像格式,例如 BMP、TIF 或 PDF。 它还具有自动文档倾斜校正功能。 这款软件能够快速准确地识别各种语言图像中的文本,即使是透明背景的图像也能识别。 A9T9 具有高精度、价格实惠、易于安装等优点,是 Windows 用户寻找免费 OCR 软件解决方案的首选。

使用 A9T9 复制文本

您可以从微软商店下载 A9T9 软件。 安装完成后,打开 A9T9 软件并上传图像或 PDF 文件。

扫描图像以获取其文本

使用 A9T9 复制文本

图像或文档加载完成后,点击"开始 OCR"按钮。 这将从扫描的文档或图像中提取文本,并将其显示在右侧的文本区域中。

The text is shown on the right hand side

文本显示在右侧。

您可以选择 OCR 语言,然后复制文本或将其保存为 Word 文档。

办公镜头

Office Lens 是一款功能强大的工具,专为捕捉和整理笔记、白板、菜单、标牌以及其他类型的书面或视觉信息而设计。 这款应用提供了一种比传统笔记方式更优越的替代方案,它消除了手写笔记的需要,也避免了丢失重要信息的可能性。

Office Lens 使用户能够轻松捕捉草图、手写笔记、绘图和方程式,并校正图像中的阴影和倾斜角度,以提高清晰度。 它还具备 OCR(光学字符识别)功能,使用户能够数字化和编辑图像中的文本。

遗憾的是,微软已经停止了Windows版Office Lens的开发。 目前仅可在移动设备上使用。 此外,Microsoft Word 2010 中移除了 Microsoft Office 文档影像功能。

IronOCR:C# OCR库

IronOCR 是一个功能强大的 C# OCR 库,适用于 .NET 开发人员。 它能够对扫描的文档和图像进行完整的 OCR 功能,使开发人员能够轻松地实现基于文档的工作流程自动化。 IronOCR 拥有简单的 API 和最少的配置,可以轻松集成到现有系统中。

该库提供了一个简单的 API,只需极少的配置即可轻松集成到现有系统中。 它支持多种输入文件格式,包括 JPEG、TIFF、GIF、BMP、PDF、多页 TIFF 和多文档扫描,并且可以读取不同方向图像中的文本。

IronOCR 的高级功能包括降噪,这有助于减少图像失真并提高文本提取结果的准确性。 该库支持超过 125 种语言,包括英语、法语、德语、西班牙语和日语,几乎适用于任何需要高质量 OCR 结果而无需人工干预的应用。

使用 IronOCR 提取文本

由于能够轻松地从 PDF 文件中提取文本,因此可以指定特定的页码或从文档的所有页面中提取文本。 使用合适的工具可以简化流程,提高效率。

using IronOcr;
using System;

var ocrTesseract = new IronTesseract();

using (var ocrInput = new OcrInput())
{
    // Add the entire PDF for OCR processing
    ocrInput.AddPdf("example.pdf");

    // Alternatively, OCR selected page numbers from a password-protected PDF
    ocrInput.AddPdfPages("example.pdf", new [] { 1, 2, 3 }, "password");

    // Perform OCR and get the result
    var ocrResult = ocrTesseract.Read(ocrInput);

    // Output the extracted text
    Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using System;

var ocrTesseract = new IronTesseract();

using (var ocrInput = new OcrInput())
{
    // Add the entire PDF for OCR processing
    ocrInput.AddPdf("example.pdf");

    // Alternatively, OCR selected page numbers from a password-protected PDF
    ocrInput.AddPdfPages("example.pdf", new [] { 1, 2, 3 }, "password");

    // Perform OCR and get the result
    var ocrResult = ocrTesseract.Read(ocrInput);

    // Output the extracted text
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports System

Private ocrTesseract = New IronTesseract()

Using ocrInput As New OcrInput()
	' Add the entire PDF for OCR processing
	ocrInput.AddPdf("example.pdf")

	' Alternatively, OCR selected page numbers from a password-protected PDF
	ocrInput.AddPdfPages("example.pdf", { 1, 2, 3 }, "password")

	' Perform OCR and get the result
	Dim ocrResult = ocrTesseract.Read(ocrInput)

	' Output the extracted text
	Console.WriteLine(ocrResult.Text)
End Using
$vbLabelText   $csharpLabel

以下是输出结果:

Visual Studio 调试控制台中的输出

Visual Studio 调试控制台中的输出

除了从 PDF 文件中提取文本外,您还可以轻松读取条形码。 该库提供了一个简单的代码实现来读取条形码,使其成为各种基于文档的工作流程的多功能工具。 请看以下代码:

using IronOcr;
using System;

var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;

// Read barcodes from an image file
using (var ocrInput = new OcrInput(@"images\imageWithBarcode.png"))
{
    var ocrResult = ocrTesseract.Read(ocrInput);

    // Iterate through the detected barcodes and print their values
    foreach (var barcode in ocrResult.Barcodes)
    {
        Console.WriteLine(barcode.Value);
    }
}
using IronOcr;
using System;

var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;

// Read barcodes from an image file
using (var ocrInput = new OcrInput(@"images\imageWithBarcode.png"))
{
    var ocrResult = ocrTesseract.Read(ocrInput);

    // Iterate through the detected barcodes and print their values
    foreach (var barcode in ocrResult.Barcodes)
    {
        Console.WriteLine(barcode.Value);
    }
}
Imports IronOcr
Imports System

Private ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True

' Read barcodes from an image file
Using ocrInput As New OcrInput("images\imageWithBarcode.png")
	Dim ocrResult = ocrTesseract.Read(ocrInput)

	' Iterate through the detected barcodes and print their values
	For Each barcode In ocrResult.Barcodes
		Console.WriteLine(barcode.Value)
	Next barcode
End Using
$vbLabelText   $csharpLabel
代码的输入/输出

代码的输入/输出

IronOCR 能够支持低 DPI 和噪声图像,方法是在处理前对其进行增强。

using IronOcr;
using System;

var ocrTesseract = new IronTesseract();

// Process a noisy image by deskewing and denoising it
using (var ocrInput = new OcrInput(@"images\image.png"))
{
    ocrInput.Deskew(); // Corrects for skewness in the image
    ocrInput.DeNoise(); // Reduces visual noise for better recognition

    // Perform OCR and print the text
    var ocrResult = ocrTesseract.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using System;

var ocrTesseract = new IronTesseract();

// Process a noisy image by deskewing and denoising it
using (var ocrInput = new OcrInput(@"images\image.png"))
{
    ocrInput.Deskew(); // Corrects for skewness in the image
    ocrInput.DeNoise(); // Reduces visual noise for better recognition

    // Perform OCR and print the text
    var ocrResult = ocrTesseract.Read(ocrInput);
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports System

Private ocrTesseract = New IronTesseract()

' Process a noisy image by deskewing and denoising it
Using ocrInput As New OcrInput("images\image.png")
	ocrInput.Deskew() ' Corrects for skewness in the image
	ocrInput.DeNoise() ' Reduces visual noise for better recognition

	' Perform OCR and print the text
	Dim ocrResult = ocrTesseract.Read(ocrInput)
	Console.WriteLine(ocrResult.Text)
End Using
$vbLabelText   $csharpLabel

结论

总之,光学字符识别 (OCR) 是一项至关重要的工具,可以极大地造福各种规模的企业,使他们能够高效地扫描、存储和处理信息,而这些信息如果手动管理则会既复杂又耗时。 微软提供各种 OCR 工具,包括 OneNote、Microsoft Vision Studio 和 A9T9 免费 OCR 软件,这些工具可以简化流程并节省时间。

IronOCR 是一款功能齐全的 OCR 库,在众多 OCR 工具中脱颖而出。 它可轻松与 C# 和 VB.NET 应用程序集成,提供出色的准确性,可识别多种语言和图像格式,并提供免费试用期,许可费用从$799起。 对于寻求提升数字化转型能力的企业而言,IronOCR 是一项极具价值的投资。 这些 OCR 工具各具特色,能够满足不同的需求,因此对于希望改进数字化转型的企业来说,它们是宝贵的资产。

Kannaopat Udonpant
软件工程师
在成为软件工程师之前,Kannapat 在日本北海道大学完成了环境资源博士学位。在攻读学位期间,Kannapat 还成为了车辆机器人实验室的成员,隶属于生物生产工程系。2022 年,他利用自己的 C# 技能加入 Iron Software 的工程团队,专注于 IronPDF。Kannapat 珍视他的工作,因为他可以直接从编写大多数 IronPDF 代码的开发者那里学习。除了同行学习外,Kannapat 还喜欢在 Iron Software 工作的社交方面。不撰写代码或文档时,Kannapat 通常可以在他的 PS5 上玩游戏或重温《最后生还者》。