在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
在当今快节奏的商业环境中,自动化任务和非结构化数据已成为提高效率和减少人工错误的关键策略。其中一项任务就是从发票或采购订单中提取信息,这一过程传统上需要大量的人工操作。然而,由于机器学习、深度学习模型和光学字符识别技术的进步 (光学字符识别) 现在,企业可以利用 IronOCR 等工具简化发票信息提取流程。本文将探讨如何利用机器学习和 IronOCR 来彻底改变发票处理方式。
OCR 技术已经存在了一段时间,但随着机器学习技术的出现,它在发票处理和数据提取方面的应用得到了显著提升。OCR 是 "光学字符识别"(Optical Character Recognition)的简称,是一种将不同类型的文档(如带有发票信息的扫描纸质文档、PDF 文件、财务文档或数码相机拍摄的输入图像)转换为可编辑和可搜索数据的技术。它主要是通过图像预处理,将图像中的文本转换为机器可读文本。
IronOCR 是一个基于机器学习算法的强大 OCR 库,可集成到各种应用程序和编程语言中,是处理发票的多功能工具。通过使用 IronOCR,企业可以自动提取发票数据,如发票号码、日期、供应商详情和细列项目,而且准确度极高。
使用 用于发票处理的 IronOCR 提供了许多好处,可以大大提高企业财务运作(如应付账款)的效率和准确性。让我们来详细了解一下这些优势:
IronOCR 利用先进的机器学习算法准确识别和提取发票中的文本。这最大限度地减少了数据录入中的人为错误,确保正确记录关键的财务信息。
使用 IronOCR 实现发票处理自动化可大大减少人工数据录入所需的时间和资源。这可以通过优化员工时间和减少对人工的需求来节省大量成本。
IronOCR 可以快速高效地处理大量发票。它使员工无需手动输入每张发票的数据,从而可以专注于更具战略性的任务。
IronOCR 具有可扩展性,可随着业务的扩展处理不断增长的发票量。您不必担心工作量的增加和边界框会压垮您的发票文档处理系统。
IronOCR 支持 125 种以上的语言,使企业能够处理来自世界各地供应商和客户的发票。无论发票使用何种语言书写,IronOCR 都能准确提取数据。
IronOCR 可以处理各种格式的发票,包括扫描图像、基于图像的 PDF 和基于文本的 PDF。这种多功能性可确保您轻松处理不同来源和格式的发票。
您可以自定义 IronOCR,以便从发票中提取特定数据字段,如发票号码、日期、供应商详情和细列项目信息。这种定制化程度可让您根据具体业务需求量身定制解决方案。
使用 IronOCR 自动处理发票有助于保持准确的记录并提供审计跟踪。这对于遵守财务规定和简化审计流程至关重要。
IronOCR 的简化和自动化特性缩短了发票处理时间,进而缩短了发票处理周期。这可以加快向供应商付款的速度,改善与供应商的关系。
通过结构化数字格式的发票数据,您可以进行更深入的数据分析。这有助于识别趋势、优化支出并做出明智的财务决策。
要为发票处理实施 IronOCR,请遵循以下一般步骤:
首先在首选开发环境中创建一个新的 C# 项目或打开一个现有项目 (例如,Visual Studio 或 Visual Studio Code).我使用 Visual Studio 2022 IDE 和控制台应用程序进行演示。您可以在任何项目类型(如 ASP.NET Web API、ASP.NET MVC、ASP.NET Web 窗体或任何 .NET Framework)中使用相同的实现方式。
要在项目中使用 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
3.等待软件包安装完成。安装完成后,就可以开始在项目中使用 IronOCR 了。
现在,让我们使用 IronOCR 编写在发票上执行 OCR 的 C# 代码。我们将使用以下示例发票。
以下示例代码将发票图像作为输入,并从发票中提取数据,如发票号码、采购订单等。
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
以上代码是使用 IronOCR 对单张发票图像执行 OCR 的简明 C# 示例 (发票样本.png) 然后将提取的发票数据打印到控制台。确保将 invoicePath 变量替换为特定发票图像文件的路径。
让我们一次输入多张发票并提取其数据。以下是我们用作输入的发票目录。
以下示例代码将一次性从多张发票中提取文本。
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
上述代码将从文件夹中获取所有 PNG 图像,提取数据,然后将文件夹中所有发票的提取数据打印在控制台上。
以下代码将读取文件夹中的所有图像,执行数据提取,并将其保存为一张可搜索的 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
所有示例中的代码几乎相似,我们只是在演示不同用例时稍作改动。输出的 PDF 文件如下所示:
通过这种方式,IronPDF 为发票处理和文档处理自动化提供了最简单的方法。
要使用 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
上述代码可以高效地批量处理位于一个目录中的多个 PDF 发票 (@"D:\Invoices\") 使用 IronOCR。它检索文件路径,添加每个 PDF 进行 OCR 处理,合并提取的文本,并将结果打印到控制台。这种方法简化了处理大量发票的企业的发票数据提取,提高了效率,减少了人工操作。
总之,机器学习与 IronOCR 等先进 OCR 技术的融合正在重塑发票的处理方式。本文将带您了解 IronOCR 的使用过程,展示其显著优势。通过采用 IronOCR,企业可以实现更高的准确性,节省时间和金钱,并毫不费力地处理各种格式和语言的发票。无需手动输入数据,不仅提高了效率,还降低了财务交易中出现代价高昂的错误的可能性。IronOCR 简化并改进了发票处理工作流程,是企业在当今竞争激烈的环境中加强财务运营的明智之选。此外,IronOCR 还提供一套强大的功能,包括支持 125 多种语言、可定制的数据提取以及与基于图像和文本的 PDF 兼容。
虽然 IronOCR 的功能集令人印象深刻,但还值得注意的是 IronOCR 的定价模式 旨在满足广泛的业务需求,提供灵活的选项,包括 免费试用 IronOCR 是一款适用于小型企业和大型公司的解决方案。无论您是处理几张发票还是管理大量财务文件,IronOCR 都是可靠、经济高效的解决方案。