OCR工具

发票OCR机器学习(逐步教程)

发布 2023年九月26日
分享:

在当今快节奏的商业环境中,自动化任务和非结构化数据已成为提高效率和减少人工错误的关键策略。其中一项任务就是从发票或采购订单中提取信息,这一过程传统上需要大量的人工操作。然而,由于机器学习、深度学习模型和光学字符识别技术的进步 (光学字符识别) 现在,企业可以利用 IronOCR 等工具简化发票信息提取流程。本文将探讨如何利用机器学习和 IronOCR 来彻底改变发票处理方式。

了解发票 OCR 工具

OCR 技术已经存在了一段时间,但随着机器学习技术的出现,它在发票处理和数据提取方面的应用得到了显著提升。OCR 是 "光学字符识别"(Optical Character Recognition)的简称,是一种将不同类型的文档(如带有发票信息的扫描纸质文档、PDF 文件、财务文档或数码相机拍摄的输入图像)转换为可编辑和可搜索数据的技术。它主要是通过图像预处理,将图像中的文本转换为机器可读文本。

IronOCR 是一个基于机器学习算法的强大 OCR 库,可集成到各种应用程序和编程语言中,是处理发票的多功能工具。通过使用 IronOCR,企业可以自动提取发票数据,如发票号码、日期、供应商详情和细列项目,而且准确度极高。

使用 IronOCR 进行发票 OCR 的好处

使用 用于发票处理的 IronOCR 提供了许多好处,可以大大提高企业财务运作(如应付账款)的效率和准确性。让我们来详细了解一下这些优势:

1.准确性和减少误差

IronOCR 利用先进的机器学习算法准确识别和提取发票中的文本。这最大限度地减少了数据录入中的人为错误,确保正确记录关键的财务信息。

2.节省时间和成本

使用 IronOCR 实现发票处理自动化可大大减少人工数据录入所需的时间和资源。这可以通过优化员工时间和减少对人工的需求来节省大量成本。

3.提高效率

IronOCR 可以快速高效地处理大量发票。它使员工无需手动输入每张发票的数据,从而可以专注于更具战略性的任务。

4.可扩展性

IronOCR 具有可扩展性,可随着业务的扩展处理不断增长的发票量。您不必担心工作量的增加和边界框会压垮您的发票文档处理系统。

5.全球影响力

IronOCR 支持 125 种以上的语言,使企业能够处理来自世界各地供应商和客户的发票。无论发票使用何种语言书写,IronOCR 都能准确提取数据。

6.多格式支持

IronOCR 可以处理各种格式的发票,包括扫描图像、基于图像的 PDF 和基于文本的 PDF。这种多功能性可确保您轻松处理不同来源和格式的发票。

7.定制和数据提取

您可以自定义 IronOCR,以便从发票中提取特定数据字段,如发票号码、日期、供应商详情和细列项目信息。这种定制化程度可让您根据具体业务需求量身定制解决方案。

8.合规和审计跟踪

使用 IronOCR 自动处理发票有助于保持准确的记录并提供审计跟踪。这对于遵守财务规定和简化审计流程至关重要。

9.缩短发票处理周期

IronOCR 的简化和自动化特性缩短了发票处理时间,进而缩短了发票处理周期。这可以加快向供应商付款的速度,改善与供应商的关系。

10.强化数据分析

通过结构化数字格式的发票数据,您可以进行更深入的数据分析。这有助于识别趋势、优化支出并做出明智的财务决策。

为发票处理实施 IronOCR

要为发票处理实施 IronOCR,请遵循以下一般步骤:

第 1 步:创建一个新的 C#

首先在首选开发环境中创建一个新的 C# 项目或打开一个现有项目 (例如,Visual Studio 或 Visual Studio Code).我使用 Visual Studio 2022 IDE 和控制台应用程序进行演示。您可以在任何项目类型(如 ASP.NET Web API、ASP.NET MVC、ASP.NET Web 窗体或任何 .NET Framework)中使用相同的实现方式。

发票 OCR 机器学习(分步教程):图 1 - C# 项目

第 2 步:通过 NuGet 软件包管理器安装 IronOCR

要在项目中使用 IronOCR,需要安装 IronOCR NuGet 包。下面是安装方法:

1.打开 NuGet 包管理器控制台。在 Visual Studio 中,可以在 "工具">"NuGet 包管理器">"包管理器控制台 "下找到它。

![发票 OCR 机器学习(分步教程):图 2 - 软件包管理器控制台](/static-assets/ocr/blog/invoice-ocr-machine-learning-tutorial/invoice-ocr-machine-learning-tutorial-2.webp)

2.运行以下命令安装 IronOCR 软件包:

    :PackageInstall

发票 OCR 机器学习(分步教程):图 3 - IronOCR 安装

3.等待软件包安装完成。安装完成后,就可以开始在项目中使用 IronOCR 了。

第 3 步:在 C&num 中实施 OCR;

现在,让我们使用 IronOCR 编写在发票上执行 OCR 的 C# 代码。我们将使用以下示例发票。

发票 OCR 机器学习(分步教程):图 4 - 样本发票模板

以下示例代码将发票图像作为输入,并从发票中提取数据,如发票号码、采购订单等。

string invoicePath = @"D:\Invoices\SampleInvoice.png";
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    // Add multiple images
    input.AddImage(invoicePath);
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
string invoicePath = @"D:\Invoices\SampleInvoice.png";
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    // Add multiple images
    input.AddImage(invoicePath);
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Dim invoicePath As String = "D:\Invoices\SampleInvoice.png"
Dim ocr As New IronTesseract()
Using input As New OcrInput()
	' Add multiple images
	input.AddImage(invoicePath)
	Dim result As OcrResult = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
VB   C#

以上代码是使用 IronOCR 对单张发票图像执行 OCR 的简明 C# 示例 (发票样本.png) 然后将提取的发票数据打印到控制台。确保将 invoicePath 变量替换为特定发票图像文件的路径。

发票 OCR 机器学习(分步教程):图 5 - 发票 OCR 输出

让我们一次输入多张发票并提取其数据。以下是我们用作输入的发票目录。

发票 OCR 机器学习(分步教程):图 6 - 发票目录

以下示例代码将一次性从多张发票中提取文本。

string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.png")
Dim ocr As New IronTesseract()
Using input As New OcrInput()
	For Each file As String In fileArray
		input.AddImage(file)
	Next file
	Dim result As OcrResult = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
VB   C#

上述代码将从文件夹中获取所有 PNG 图像,提取数据,然后将文件夹中所有发票的提取数据打印在控制台上。

发票 OCR 机器学习(分步教程):图 7 - 提取的数据

将提取的数据保存为可搜索的 PDF 发票

以下代码将读取文件夹中的所有图像,执行数据提取,并将其保存为一张可搜索的 PDF 发票。

string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }
    OcrResult result = ocr.Read(input);
    result.SaveAsSearchablePdf(@"D:\Invoices\Searchable.pdf");
}
string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }
    OcrResult result = ocr.Read(input);
    result.SaveAsSearchablePdf(@"D:\Invoices\Searchable.pdf");
}
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.png")
Dim ocr As New IronTesseract()
Using input As New OcrInput()
	For Each file As String In fileArray
		input.AddImage(file)
	Next file
	Dim result As OcrResult = ocr.Read(input)
	result.SaveAsSearchablePdf("D:\Invoices\Searchable.pdf")
End Using
VB   C#

所有示例中的代码几乎相似,我们只是在演示不同用例时稍作改动。输出的 PDF 文件如下所示:

发票 OCR 机器学习(分步教程):图 8 - PDF 输出

通过这种方式,IronPDF 为发票处理和文档处理自动化提供了最简单的方法。

从 PDF 发票中提取发票数据

要使用 IronOCR 从 PDF 发票中提取数据,可以采用与前面代码示例类似的方法。IronOCR 既能处理基于图像的 PDF,也能处理基于文本的 PDF。下面是一个如何从 PDF 发票中提取数据的简单示例:

string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.pdf");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddPdf(file);
    }
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
string [] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.pdf");
IronTesseract ocr = new IronTesseract();
using (OcrInput input = new OcrInput())
{
    foreach (string file in fileArray)
    {
        input.AddPdf(file);
    }
    OcrResult result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.pdf")
Dim ocr As New IronTesseract()
Using input As New OcrInput()
	For Each file As String In fileArray
		input.AddPdf(file)
	Next file
	Dim result As OcrResult = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
VB   C#

上述代码可以高效地批量处理位于一个目录中的多个 PDF 发票 (@"D:\Invoices\") 使用 IronOCR。它检索文件路径,添加每个 PDF 进行 OCR 处理,合并提取的文本,并将结果打印到控制台。这种方法简化了处理大量发票的企业的发票数据提取,提高了效率,减少了人工操作。

发票 OCR 机器学习(分步教程):图 9 - 提取输出

结论

总之,机器学习与 IronOCR 等先进 OCR 技术的融合正在重塑发票的处理方式。本文将带您了解 IronOCR 的使用过程,展示其显著优势。通过采用 IronOCR,企业可以实现更高的准确性,节省时间和金钱,并毫不费力地处理各种格式和语言的发票。无需手动输入数据,不仅提高了效率,还降低了财务交易中出现代价高昂的错误的可能性。IronOCR 简化并改进了发票处理工作流程,是企业在当今竞争激烈的环境中加强财务运营的明智之选。此外,IronOCR 还提供一套强大的功能,包括支持 125 多种语言、可定制的数据提取以及与基于图像和文本的 PDF 兼容。

虽然 IronOCR 的功能集令人印象深刻,但还值得注意的是 IronOCR 的定价模式 旨在满足广泛的业务需求,提供灵活的选项,包括 免费试用 IronOCR 是一款适用于小型企业和大型公司的解决方案。无论您是处理几张发票还是管理大量财务文件,IronOCR 都是可靠、经济高效的解决方案。

< 前一页
如何扫描页面到文本 (初学者教程)
下一步 >
机器学习软件(开发人员更新列表)

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

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