在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
使用 IronOCR 进行收据 OCR 可改变企业和个人的游戏规则。通过该程序,您可以从实物收据中提取重要信息,并将其转换为数字数据。 本文将带您逐步了解如何使用 IronOCR 从收据中获得最大收益。
光学字符识别或 OCR 是一种允许计算机从图像或扫描文件中读取和理解文本的技术。 通过将印刷文本转换为机器可读文本,OCR 使您能够存储、处理和分析物理文档中包含的信息。
IronOCR 是一个针对 C# 和 .NET 开发人员的 OCR(光学字符识别)库。 它使开发人员能够从图像中提取文本、PDF和其他文档格式。 IronOCR 基于流行的 Tesseract OCR 引擎 构建,并添加了额外的功能,使其成为包括收据 OCR 在内的各种应用程序的理想选择。
以下是使用 IronOCR 进行 OCR 收据数据提取的一些主要优势:
高精度:IronOCR 提供出色的 OCR API 精度,确保从收据和其他文件中可靠地提取数据。
多语言支持:IronOCR 支持超过 125 种语言,适用于全球应用。
易于使用:该库提供了一个简单直观的API,使开发人员能够轻松在其项目中实现OCR功能。
可定制的:IronOCR 提供各种选项以微调OCR结果,确保针对您的特定使用案例实现最佳数据提取。
IronOCR 采用先进的 OCR 算法来识别和提取图像和文档中的文本。 它可以处理各种格式,包括 JPEG、PNG、TIFF 和 PDF。 该库可读取输入文件,识别其中的文本,并将提取的文本输出为字符串,然后根据需要进行处理或存储。 IronOCR 也使用计算机视觉以获得最佳结果。
要开始使用 IronOCR 进行收据数据提取,首先需要安装 IronOCR 软件包。 这可以通过 .NET 的软件包管理器 NuGet 轻松完成。 只需在 Visual Studio 中打开您的项目,然后按照以下步骤操作即可:
在解决方案资源管理器中右键单击您的项目,然后选择 "管理 NuGet 包"。
在 NuGet 包管理器窗口中,搜索 "IronOCR"。
选择IronOcr
软件包并点击“安装”。
在 NuGet 包管理器 UI 中搜索IronOcr
包
在从收据中提取数据之前,您需要确保收据图像的高质量,以提高收据 OCR API 流程的准确性。 以下是一些捕捉收据良好形象的技巧:
使用扫描文件。 您可以使用高分辨率扫描仪进行收据扫描。
确保收据光线充足,没有阴影。
理顺收据上的任何折痕或褶皱,以免隐藏关键信息。
确保收据上的文字清晰、不模糊,以提高收据处理能力。
用于文本提取的样本收据图像
安装好 IronOCR 并准备好收据图像后,就可以执行 OCR 处理了。 在您的 .NET 应用程序中,使用以下代码片段:
using IronOcr;
var ocr = new IronTesseract();
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
{
var result = ocr.Read(ocrInput);
Console.WriteLine(result.Text);
}
using IronOcr;
var ocr = new IronTesseract();
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
{
var result = ocr.Read(ocrInput);
Console.WriteLine(result.Text);
}
Imports IronOcr
Private ocr = New IronTesseract()
Using ocrInput As New OcrInput("path/to/your/receipt/image.png")
Dim result = ocr.Read(ocrInput)
Console.WriteLine(result.Text)
End Using
using IronOcr;
using IronOcr;
Imports IronOcr
该行将 IronOCR 库导入到您的 .NET 应用程序中,使您可以访问其功能。
var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
这行代码创建了一个新的IronTesseract
类的实例,这个主类负责IronOCR中的OCR操作。
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
Using ocrInput As New OcrInput("path/to/your/receipt/image.png")
这里创建了一个新的OcrInput
类实例,它代表OCR过程的输入图像。 应将@"path/to/your/receipt/image.png"替换为您的收据图像的实际文件路径。 using
语句确保一旦 OCR 操作完成,分配给 OcrInput
实例的资源能够被适当释放。
var result = Ocr.Read(ocrInput);
var result = Ocr.Read(ocrInput);
Dim result = Ocr.Read(ocrInput)
此行调用 Read
方法的 IronTesseract
实例,将 OcrInput
对象作为参数传递。 Read
方法处理输入图像并执行 OCR 操作,从图像中识别和提取文本。 它将启动收据识别流程。
Console.WriteLine(Result.Text);
Console.WriteLine(Result.Text);
Console.WriteLine(Result.Text)
最后,这一行将提取的文本输出到控制台。 result
对象是 OcrResult
类的一个实例,包含识别的文本和有关 OCR 过程的附加信息。 提取的文本可以通过访问result
对象的Text
属性来显示。
提取文本的输出
IronOCR 提供多种选项来提高 OCR 的准确性和性能。 这包括预处理图像、调整 OCR 引擎设置以及为收据选择合适的语言。
您可以通过应用图像预处理技术来增强 OCR 结果,例如
纠偏:纠正图像中的任何旋转或倾斜。
去噪:通过去除图片中的噪点来提高文本的可读性。
下面是一个如何应用这些技术的示例:
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrInput(@"path/to/your/receipt/image.png"))
{
input.DeNoise();
input.DeSkew();
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
using IronOcr;
var ocr = new IronTesseract();
using (var input = new OcrInput(@"path/to/your/receipt/image.png"))
{
input.DeNoise();
input.DeSkew();
var result = ocr.Read(input);
Console.WriteLine(result.Text);
}
Imports IronOcr
Private ocr = New IronTesseract()
Using input = New OcrInput("path/to/your/receipt/image.png")
input.DeNoise()
input.DeSkew()
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
IronOCR 支持超过 125 种语言,为您的收据选择正确的语言可以显著提高 OCR 结果。 要指定语言,请在代码中添加以下一行:
ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English
完成 OCR 处理后,就该从文本中提取具体信息了。 根据您的需要,您可能需要提取以下数据:
商店名称和地址。
购买日期和时间。
项目名称和价格。
小计、税金和总金额。
为此,您可以在 .NET 应用程序中使用正则表达式或字符串操作技术。 例如,您可以使用以下代码片段从 OCR 结果中提取日期:
using System.Text.RegularExpressions;
//Rest of the Code
var DatePattern = @"\d{1,2}\/\d{1,2}\/\d{2,4}";
var DateMatch = Regex.Match(Result.Text, DatePattern);
if (DateMatch.Success)
{
var DateValue = DateTime.Parse(DateMatch.Value);
Console.WriteLine("Date: " + DateValue);
}
using System.Text.RegularExpressions;
//Rest of the Code
var DatePattern = @"\d{1,2}\/\d{1,2}\/\d{2,4}";
var DateMatch = Regex.Match(Result.Text, DatePattern);
if (DateMatch.Success)
{
var DateValue = DateTime.Parse(DateMatch.Value);
Console.WriteLine("Date: " + DateValue);
}
Imports System.Text.RegularExpressions
'Rest of the Code
Private DatePattern = "\d{1,2}\/\d{1,2}\/\d{2,4}"
Private DateMatch = Regex.Match(Result.Text, DatePattern)
If DateMatch.Success Then
Dim DateValue = DateTime.Parse(DateMatch.Value)
Console.WriteLine("Date: " & DateValue)
End If
您可以为需要从收据中提取的其他信息创建类似的模式。
现在,您已经从收据中提取了相关信息,可以将其存储到数据库中、进行分析或导出为 CSV、JSON 或 Excel 等其他文件格式。
总之,使用 IronOCR 进行收据 OCR 是实现财务数据数字化和管理的创新而高效的解决方案; 使用 IronOCR,您可以取代人工数据录入。 按照本指南的步骤,您就可以利用 IronOCR 的强大功能来改进您的费用跟踪和数据分析。 最棒的是,IronOCR 提供免费试用,让您无需承诺即可体验其功能。
试用期结束后,如果您决定继续使用IronOCR,许可证从$749起,为您在应用程序中利用OCR技术的优势提供了一种经济有效的方法。