使用 IRONOCR

发票 OCR API(开发者教程)

发布 2023年七月22日
分享:

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

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

1.IronOCR

IronOCR 由 Iron Software 开发,是一个为开发人员提供一系列工具的 OCR 库。 它利用机器学习和计算机视觉从扫描文档、图像和 PDF 中提取文本,实现自动处理。 其 API 可集成到各种语言和平台中,从而减少手动数据录入错误并提高效率。 提取的数据可以进行分析并集成到现有系统中,从而有助于决策和提高工作效率。 功能包括图像预处理, 条形码识别此外,.NET、Java、Python 或 Node js 还提供了文件分析功能,提高了其通用性。 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 文件在翻译过程中,译员必须能够使用 .NET 、Java、Python 或 Node js 等所有流行的图像格式。 还可以从图像中读取条形码值.

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

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

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

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