与其他组件比较

发票 OCR 开源比较:找到最佳工具

发布 2024年二月18日
分享:

介绍

光学字符识别(光学字符识别)目前,.NET 是处理发票等文档最重要的技术。 从教育到行业层面,它在业务的方方面面都得到了发展。 在任何地方,您都可以看到 OCR 软件的使用,因为它可以减少人工数据录入的使用。 开发人员可以使用多种类型的发票 OCR API 构建 OCR 软件应用程序来处理发票。

在本文中,我们将探讨用于发票处理和其他 OCR 流程的三款 C# Invoice OCR 开源软件和库。 我们将讨论IronOCR也是(与他们分离),这是开发人员在 C# 项目中集成高级 OCR 功能的最佳薪酬选择。 让我们从开源选项开始。

魔方 OCR

Tesseract OCR 最初由惠普公司开发,现在由谷歌负责维护,是一款功能强大的开源 OCR 引擎。它能够读取多种文档类型,并将其转换为可用数据。 它支持多种语言,是全球企业的宝贵资源。

C# 开发人员发现 Tesseract OCR 因其多功能性和提取准确性而异常有用。 通过将 Tesseract 纳入其软件应用程序,开发人员可以高效地处理新发票并提取数据和相关信息,如采购订单和税额。 我们可以使用提取的数据从 PDF 发票中提取发票号码和项目。

C# 中 Tesseract OCR 的能力和功能;

在 .NET 应用程序中集成:在 C# 项目中,集成 Tesseract OCR 需要利用 Tesseract .NET SDK 或包装器,它提供了一种集成 OCR 功能的简化方法。 整合后,开发人员可以在他们熟悉的 .NET 环境中工作,确保开发过程顺利进行。

文本识别:Tesseract OCR 擅长从各种图像格式中识别和提取文本。 它善于处理各种文档类型,从扫描文档和 PDF 文件到在不同光线条件或角度下拍摄的图像。

支持多种语言:Tesseract 的一大优势是支持 100 多种语言。 因此,对于需要处理和分析来自不同语言源的文本数据的全球应用程序来说,它是一个非常通用的工具。

定制和培训:Tesseract 允许开发人员使用新字体和语言对引擎进行训练,从而提供适合特定业务需求或文档类型的定制 OCR 解决方案。这一功能对于识别专业文档或不常用字体中的文本尤为有益。

Emgu 简历

发票 OCR 开放源代码(免费与付费工具比较):图 1 - Emgu 简历网页

埃姆古简历 C#OpenCV 是 OpenCV 库的 .NET 封装程序。 它可以帮助开发人员在其 C# 项目中轻松使用 OpenCV 的功能。 它为图像处理、计算机视觉及其他相关领域提供了丰富的工具包。 它对于处理发票以提取结构化数据非常有用。

它利用 Tesseract OCR 引擎从图像和文档中提取文本。 这一步要求准确,因为它是从任何发票中提取数据的主要步骤。该封装器的主要方法是 Tesseract.Recognize()在翻译过程中,翻译人员必须将文本从图像转换为可编辑和可搜索的数据。 开发人员可以提高发票处理工作流程的效率。

Emgu 简历的优势

跨平台:Emgu CV 可在任何支持 .NET 的平台上运行,包括 iOS、Android、Mac OS、Linux 和 Windows。

跨语言:除了 C# 之外,Emgu CV 还可以使用多种语言,包括 VB.NET、C++ 和 IronPython。 它通过文档提供了大量示例代码和强大的支持。

At9T

发票 OCR 开放源代码(免费与付费工具比较):图 2 - At9T 网页

At9T又称(a9t9)提供免费的 OCR(光学字符识别)软件应用。 该软件可用于使用漂亮的图形用户界面从 PDF 和图像中提取数据(图形用户界面). 它完全用 C# 语言编写。 它提供了一种非常简单易用的方法,可利用其智能文档处理功能将 PDF 转换为可搜索文档。

其图形用户界面有助于将市场扩展到那些希望一键获得解决方案的非开发人员。 该软件非常易于安装和使用。 可用于个人和专业用途。 它可以高效地执行许多 OCR 任务。 我们可以上传 PDF 发票并提取发票数据,如发票日期、明细项目、总额等。您只需上传并按下按钮启动 OCR,它就会开始处理发票。

At9T 的功能

用户友好的界面:其用户界面简单易用。 设计时要考虑到简洁性。 任何没有经验的人都可以轻松使用。

支持多种语言:它支持英语、荷兰语、日语、韩语等多种语言。

批量处理:该软件可以同时对多个文件进行 OCR 识别。如果您想从大量文件中提取数据,它可以节省时间。

介绍 IronOCR:高级 OCR 解决方案

发票 OCR 开放源代码(免费与付费工具比较):图 3 - IronOCR 网页

如上文所述,开源方案存在很多困难。 要将 Tesseract 整合到我们的项目中并不容易; 它需要一个包装器才能使用。 要使用 Emgu CV,您必须了解 OpenCV。否则,这将是一次艰苦的学习经历,而且它也没有丰富的文档。 同时,At9T 不适合复杂的文档。

为了克服这些问题并推进 OCR 解决方案、IronOCR是最佳选择。 IronOCR 是一个 .NET OCR 库,它扩展了 Tesseract 5 Engine 的功能,并为 OCR 增加了更多高级选项。 与 Tesseract 和其他库不同,它很容易集成到 .NET 项目中。

IronOCR 支持多种文档格式,包括 PDF、PNG、JPG、BMP 等。 它支持各种 .NET Framework 和平台,包括 Windows、macOS 等。 您可以使用超过 127 种语言执行 OCR 操作,这使其成为一款全球性的 OCR 产品。 您可以使用其惊人的发票 OCR 技术从所有发票格式中提取数据。 IronOCR 使用机器学习实现最佳文本识别。 让我们来看看 IronOCR 的主要功能。

IronOCR 的主要功能

以下是对其主要功能的有序总结:

输入灵活性: 读取各种格式,包括图片(JPG、PNG、BMP)多页/帧文件(TIFF, GIF)此外,译文还必须包括:.NET、Java、Python 或 Node.js 对象、System.Drawing 对象、流和具有优化 DPI 的 PDF。

高级滤镜: 一系列滤镜,如滤镜向导、图像校正(锐化、分辨率增强、去噪、扩张、侵蚀), 图像方向校正(旋转、纠偏、缩放)和色彩校正(二值化、灰度、反转、替换颜色、选择文本颜色)在进行 OCR 之前,可以使用 "图像识别 "技术来确保最佳图像质量。

区域选择: 允许通过 CropRectangle 选择文档的特定区域进行 OCR。

数据输出: 以 .NET 文本字符串、Barcode、QR 数据和图像的形式提供简单的数据输出。

结构化数据: 以页面、块、段落、行、单词和字符的形式提供结构化数据输出。

文档导出: 可将文档导出为可搜索的 PDF、HTML 或页面、文本、Barcode 或 QR 图像。

文本高亮显示和保存: 高亮显示和保存字符、单词、行和段落的功能。

语言和框架: 支持 C#、VB.NET、F#,并兼容 .NET 8、7、6、5、Core 2x & 3x、Standard 2 和 Framework 4.6.2+。

操作系统: 与 Microsoft Windows、macOS、Linux、Docker、Azure 和 AWS 兼容。

IDE 支持: 完全支持 Microsoft Visual Studio 和 JetBrains ReSharper & Rider。

示例

以下是使用 IronOCR 从发票中提取数据的示例代码:

// Create IronOCR Tesseract Instance
IronTesseract tesseract = new IronTesseract();
// Create an OcrInput object
using (OcrInput input = new OcrInput("sample_invoice.png")) // You can directly pass the image path to the constructor
{
    // Read and store OcrResults object
    OcrResult result = tesseract.Read(input);
    // Get all text from the OCR result
    string allText = result.Text;
    // Print to console
    Console.WriteLine(allText);
}
// Create IronOCR Tesseract Instance
IronTesseract tesseract = new IronTesseract();
// Create an OcrInput object
using (OcrInput input = new OcrInput("sample_invoice.png")) // You can directly pass the image path to the constructor
{
    // Read and store OcrResults object
    OcrResult result = tesseract.Read(input);
    // Get all text from the OCR result
    string allText = result.Text;
    // Print to console
    Console.WriteLine(allText);
}
' Create IronOCR Tesseract Instance
Dim tesseract As New IronTesseract()
' Create an OcrInput object
Using input As New OcrInput("sample_invoice.png") ' You can directly pass the image path to the constructor
	' Read and store OcrResults object
	Dim result As OcrResult = tesseract.Read(input)
	' Get all text from the OCR result
	Dim allText As String = result.Text
	' Print to console
	Console.WriteLine(allText)
End Using
VB   C#

以下是我们从发票图像中提取的输出数据:

发票 OCR 开源(免费和付费工具比较):图 4 - 使用前面的代码从发票样本中提取文本的输出结果

我们可以使用数据识别进行数据分析,并将其导出为 CSV 文件。

结论

总之,当我们谈到从图像或文档中阅读文本时(OCR 技术)我们有很多选择。 Tesseract OCR、Emgu CV 和 At9T 都是人们可以使用的免费工具。 各有各的好。

但如果您需要更高级的发票 OCR您可以从 $749 开始申请许可证,如果它符合您的需求,您可以从 $749 开始申请许可证。

因此,无论您是希望在项目中添加文本阅读功能的程序员,还是希望更好地处理文档的企业,都有很多选择。 Tesseract、Emgu CV 和 At9T 等免费工具是很好的起点。 但如果想要更专业,IronOCR 提供了很多高级功能。 关键是要根据您的具体需求选择合适的工具。

< 前一页
Tesseract 与 Microsoft OCR:正面比较
下一步 >
OCR 软件试用:探索最佳选择

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

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