使用 IRONOCR

发票 OCR API(开发者教程)

发布 2023年七月22日
分享:

发票 OCR API 利用机器学习和计算机视觉将发票数据转换为适合自动处理的格式。该技术可解决人工数据录入问题,如延迟、成本和错误,并能从数字发票和扫描发票中准确提取供应商信息、发票号码和价格等详细信息。

本文将使用一个顶级发票 OCR API,名为 IronOCR.

1.IronOCR

IronOCR 由 Iron Software 开发,是一个 OCR 库,为开发人员提供一系列工具。它利用机器学习和计算机视觉从扫描文档、图像和 PDF 中提取文本,实现自动处理。其应用程序接口可集成到各种语言和平台中,从而减少手动数据输入错误并提高效率。提取的数据可进行分析并集成到现有系统中,有助于决策和提高生产率。功能包括 图像预处理, 条形码识别此外,IronOCR 的文本识别和文件解析功能也提高了其通用性。IronOCR 使开发人员能够将文本识别功能纳入其应用程序。

2.先决条件

在开始使用 IronOCR 之前,需要具备一些先决条件。这些先决条件包括

1.确保在计算机上设置了合适的开发环境。这通常包括集成开发环境 (IDE) 如安装了 Visual Studio。

2.掌握 C# 编程语言的基本知识非常重要。这将使您能够有效地理解和修改文章中提供的代码示例。

3.您需要在项目中安装 IronOCR 库。这可以通过使用 Visual Studio 中的 NuGet 包管理器或命令行界面来实现。

确保满足这些先决条件后,您就可以开始使用 IronOCR 了。

3.创建新的 Visual Studio 项目

要开始使用 IronOCR,第一步是创建一个新的 Visual Studio 项目。

打开 Visual Studio,转到 "文件",然后悬停在 "新建 "上,点击 "项目"。

发票 OCR API(开发人员教程):图 1 - 新项目

新项目

在新窗口中,选择 "控制台应用程序",然后点击 "下一步"。

发票 OCR API(开发人员教程):图 2 - 控制台应用程序

控制台应用程序

这时会出现一个新窗口,请写入新项目的名称和位置,然后单击 "下一步"。

发票 OCR API(开发人员教程):图 3 - 项目配置

项目配置

最后,提供目标框架并点击创建。

发票 OCR API(开发人员教程):图 4 - 目标框架

目标框架

现在新的 Visual Studio 项目已经创建。让我们安装 IronOCR。

4.安装 IronOCR

下载和安装 IronOCR 库有多种方法。以下是两种最简单的方法。

1.使用 Visual Studio NuGet 软件包管理器

2.使用 Visual Studio 命令行

4.1.使用 Visual Studio NuGet 软件包管理器

IronOCR 可通过 Visual Studio NuGet 包管理器包含在 C# 项目中。

选择工具 > NuGet 包管理器 > 管理解决方案的 NuGet 包,导航至 NuGet 包管理器图形用户界面。

发票 OCR API(开发人员教程):图 5 - NuGet 软件包管理器

NuGet软件包管理器

之后会出现一个新窗口。搜索 IronOCR 并将软件包安装到项目中。

发票 OCR API(开发人员教程):图 6 - 在 NuGet 软件包管理器用户界面中选择 IronOCR 软件包

在 NuGet 软件包管理器用户界面中选择 IronOCR 软件包

也可使用上述相同方法安装 IronOCR 的其他语言包。

4.2.使用 Visual Studio 命令行

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

2.在 "软件包管理器控制台 "选项卡中输入以下一行:

    :ProductInstall

发票 OCR API(开发人员教程):图 7 - 软件包管理器控制台

软件包管理器控制台

现在,软件包将下载/安装到当前项目中,并可随时使用。

5.使用 IronOCR 从发票中提取数据

使用 IronOCR,只需几行代码就能轻松从发票中提取数据,并将提取的数据用于数据录入等进一步处理。这将取代人工数据录入等工作。

下面是一个提取文本的发票示例。

发票 OCR API(开发人员教程):图 8 - 示例发票

发票样本

现在,让我们编写从这张发票中提取所有数据的代码。

using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Using input = New OcrInput("r2.png")
	Dim result = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
VB   C#

上述代码以图像的形式获取输入,然后使用一个 阅读 方法中的 钢铁魔方 类。

发票 OCR API(开发人员教程):图 9 - 发票解析器

发票解析器

5.1.发票处理,从发票中提取特定数据

您还可以从发票中提取特定数据,如客户发票号码。下面是从发票中提取客户发票号码的代码。

using IronOcr;
using System;
using System.Text.RegularExpressions;

var orc = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = orc.Read(input);
    var linePattern = @"INV\/\d{4}\/\d{5}";
    var lineMatch = Regex.Match(result.Text, linePattern);
    if (lineMatch.Success)
    {
        var lineValue = lineMatch.Value;
        Console.WriteLine("Customer Invoice number: " + lineValue);
    }

}
using IronOcr;
using System;
using System.Text.RegularExpressions;

var orc = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = orc.Read(input);
    var linePattern = @"INV\/\d{4}\/\d{5}";
    var lineMatch = Regex.Match(result.Text, linePattern);
    if (lineMatch.Success)
    {
        var lineValue = lineMatch.Value;
        Console.WriteLine("Customer Invoice number: " + lineValue);
    }

}
Imports IronOcr
Imports System
Imports System.Text.RegularExpressions

Private orc = New IronTesseract()
Using input = New OcrInput("r2.png")
	Dim result = orc.Read(input)
	Dim linePattern = "INV\/\d{4}\/\d{5}"
	Dim lineMatch = Regex.Match(result.Text, linePattern)
	If lineMatch.Success Then
		Dim lineValue = lineMatch.Value
		Console.WriteLine("Customer Invoice number: " & lineValue)
	End If

End Using
VB   C#

发票 OCR API(开发人员教程):图 10 - 发票扫描

发票扫描

6.结论

IronOCR 的发票 OCR API 利用机器学习和计算机视觉技术彻底改变了发票数据提取方式。该技术将发票文本和数字转换为机器可读格式,简化了数据提取,便于分析、集成和流程改进。它为发票处理自动化、提高准确性和优化应付账款等工作流程提供了强大的解决方案。利用这项技术,还可以从扫描的发票中自动输入数据。

IronOCR 利用 Tesseract 的最佳结果提供高精确度,无需任何额外设置。它支持 多页帧 TIFF, PDF 文件以及所有流行的图像格式。还可以 从图像中读取条形码值.

请访问 主页 了解有关 IronOCR 的更多信息。有关发票 OCR 的更多教程,请访问以下网站 发票 OCR 教程详情.要了解如何使用计算机视觉查找发票字段等文本,请访问此处 计算机视觉入门.

< 前一页
最佳发票处理OCR(更新列表)
下一步 >
如何在Blazor中从图像读取文本

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

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