IRONSOFTWAREHOME
USING IRONOCR

C# 中的 OCR 发票处理(开发者教程)

Kannaopat Udonpant
Kannapat Udonpant
Updated: 2026年4月21日

发票数据处理是指接收、管理和验证来自供应商或卖家的发票,并确保付款正确且按时进行。它涉及旨在确保处理业务交易时的准确性、合规性和效率,以避免使用纸质发票的步骤。 自动化的发票处理可以显著减少手动数据输入错误并提高效率。 IronOCR 是一个强大的光学字符识别 (OCR) 软件库,可用于从数字文件中的发票中提取数据或文本,使其成为在C#应用程序中自动化发票OCR处理的优秀工具。

如何使用像IronOCR这样的OCR软件处理发票数据

  1. 创建一个Visual Studio项目。
  2. 安装IronOCR C#库。
  3. 样本输入发票图像。
  4. 使用Tesseract并从收据图像中提取数据。
  5. 仅读取图像的一个区域。

光学字符识别 (OCR)

光学字符识别 是一项技术,使得可以识别和转换各种类型的文档、PDF或文本图像为可编辑和可搜索的数据。 OCR技术处理文本图像并提取字符,使其可供机器读取。 先进的OCR发票软件系统有助于财务管理工具和发票自动化。

关于OCR的关键点

*功能: OCR 软件扫描图像或文本(例如照片或扫描文档),并将字符转换为可编辑、可搜索和可存储的数字文本。 *应用: OCR 广泛应用于各个行业,用于数字化印刷文档、发票处理、表单数据提取、车牌自动识别 (ANPR)、应付账款工作流程和扫描书籍等任务。 *技术: OCR 使用算法识别明暗模式来解读字符。 现代OCR系统还利用机器学习和人工智能来提高准确性。 *优势: OCR 通过自动化数据输入、减少错误以及简化数据搜索和检索来提高生产力。 它还支持文档归档,并帮助企业管理无纸化工作流程。

OCR技术已经显著发展,使其在处理文件和跨各种不同发票格式进行发票数据提取方面高度准确和有用,以减少手动数据输入,消除手动发票处理,并增强数据安全性。

IronOCR

IronOCR 是一个适用于 .NET (C#) 的强大光学字符识别 (OCR) 库,允许开发者从图像、PDF和其他文档格式中提取文本、开发OCR发票软件,并实现应付账款工作流程。 它提供了一个易于使用的API,用于将OCR功能集成到应付账款系统或会计系统中。

IronOCR。 的主要功能

***文本提取:**它可以从各种图像格式(PNG、JPG、TIFF 等)和 PDF 中提取文本,包括会计软件的多页 PDF。 *准确性: IronOCR使用先进的算法和机器学习技术,即使对于应付账款流程和提前付款折扣中噪声较大或质量较低的图像,也能提供较高的文本识别准确性。 ***语言支持:**该库支持多种语言,包括英语、西班牙语、法语等,这有助于识别不同语言的文本。 *易用性: IronOCR提供了一个简单的 API,使开发人员能够快速将 OCR 功能集成到他们的应用程序中,而无需深入了解 OCR 技术。 ***条形码和二维码识别:**除了标准的文本识别外, IronOCR还可以检测和提取图像中的条形码和二维码。

  • **PDF 支持:**它可以读取和提取扫描 PDF 中的文本,因此可用于处理发票、收据和其他商业文件。 ***自定义:**该库允许根据特定需求自定义 OCR 设置,例如调整精度或处理不同的图像分辨率。

前提条件

开始之前,请确保您具有以下内容:

  • 您的计算机上已安装 Visual Studio。
  • 对C#编程有基本的了解。
  • 在您的项目中安装了IronOCR NuGet包。

步骤1:创建一个Visual Studio项目

打开Visual Studio并点击创建新项目。

C#中的OCR发票处理(开发者教程):图1 - 新项目

在选项中选择控制台应用程序。

C#中的OCR发票处理(开发者教程):图2 - 控制台应用

提供项目名称和路径。

C#中的OCR发票处理(开发者教程):图3 - 项目配置

选择.NET版本类型。

C#中的OCR发票处理(开发者教程):图4 - 目标框架

步骤2:安装IronOCR C#库

在Visual Studio中的项目中,转到工具 > NuGet包管理器 > 为解决方案管理NuGet包。 点击浏览标签并搜索IronOCR。 选择IronOCR并点击安装。

C#中的OCR发票处理(开发者教程):图5 - IronOCR

另一种选择是使用控制台和下面的命令。

dotnet add package IronOcr --version 2024.12.2

步骤3:样本输入发票图像

样本数字发票图像,包含发票编号。

C#中的OCR发票处理(开发者教程):图6 - 示例输入

步骤4:使用Tesseract并从收据图像中提取数据

现在使用下面的代码从发票中提取数据,用于OCR发票处理。

using IronOcr;

// Set the license key
License.LicenseKey = "Your License";
string filePath = "sample1.jpg"; // Path to the invoice image

// Create an instance of IronTesseract
var ocr = new IronTesseract();

// Load the image for OCR
using (var ocrInput = new OcrInput())
{
    ocrInput.LoadImage(filePath);

    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise();

    // Perform OCR to extract text
    var ocrResult = ocr.Read(ocrInput);
    
    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);

    // Next steps would involve processing the extracted text
}

代码解释

提供的代码演示了如何在C#中使用IronOCR库通过OCR(光学字符识别)从图像(例如发票)中提取文本。 以下是代码每个部分的说明:

  1. 许可证密钥设置:
    • 代码开始时为IronOCR设置许可证密钥。 该密钥是使用库的完整功能所必需的。 如果您有一个有效许可证,请将"Your License"替换为您的实际许可证密钥。

2.指定输入文件:

  • 变量filePath保存包含发票的图像的位置(在此示例中为"sample1.jpg")。 这是将用于文本提取的文件。

3.创建 OCR 实例:

  • 创建了一个IronTesseract实例。 IronTesseract是负责对输入数据执行OCR操作的类。

4.加载图像:

  • 代码创建一个filePath指定的图像。

5.应用图像滤镜:

  • 代码可选择应用Deskew()等滤镜来校正倾斜的图像并提高OCR的准确性。

6.执行 OCR:

  • 方法OcrResult

7.显示提取的文本:

  • 提取的文本打印到控制台上。 这个文本是IronOCR从图像识别的内容,可以用于进一步处理。

输出

C#中的OCR发票处理(开发者教程):图7 - 带有发票号码的OCR输出

步骤5:只读取图像的一个区域

为了提高效率,可以只处理图像的一部分进行提取。

using IronOcr;
using IronSoftware.Drawing;

// Set the license key
License.LicenseKey = "Your Key";
string filePath = "sample1.jpg"; // Path to the invoice image

// Create an instance of IronTesseract
var ocr = new IronTesseract();

// Load the image for OCR
using (var ocrInput = new OcrInput())
{
    // Define the region of interest
    var ContentArea = new Rectangle(x: 0, y: 0, width: 1000, height: 250);
    ocrInput.LoadImage(filePath, ContentArea);

    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise();

    // Perform OCR to extract text
    var ocrResult = ocr.Read(ocrInput);
    
    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);
}

代码解释

此代码使用IronOCR从图像的特定区域提取文本,并提供用于提高准确性的图像滤镜选项。 以下是每个部分的拆解:

1.许可证设置:

  • 设置IronOCR的许可证密钥,这是使用库的OCR功能所必需的。 将"Your Key"替换为您的有效许可证密钥。

2.定义图像文件路径:

  • 指定要处理的发票图像的文件路径,该图像包含待提取文本的内容。

3.创建 OCR 实例:

  • 创建了一个IronTesseract实例以执行OCR操作。

4.确定处理区域:

  • 在图像中指定一个开始于左上角的矩形区域,以将OCR过程集中在相关部分,从而提高效率。

5.加载图像:

  • 从文件中加载图像的指定内容区域。此操作将OCR处理限制在图像的特定部分。

6.应用筛选条件:

  • 应用DeNoise()来清除图像,从而提高OCR的准确性。

7.提取文本:

  • 从定义的区域读取文本并将其存储在OcrResult中。

8.输出提取的文本:

  • 将OCR处理的文本输出到控制台以供进一步使用。

输出

C#中的OCR发票处理(开发者教程):图8 - 提取的输出

许可(提供试用)

IronOCR需要一个密钥来从发票中提取数据。 从许可证页面获取您的开发者试用密钥。

using IronOcr; 
License.LicenseKey = "Your Key";

结论

本文提供了一个如何开始使用IronOCR进行发票处理的基本示例。 您可以进一步自定义和扩展此代码以满足您的特定要求。

IronOCR提供了一种高效且易于集成的解决方案,用于从图像和PDF中提取文本,使其非常适合发票处理。 通过与C#字符串操作或正则表达式结合使用IronOCR,您可以快速处理并从发票中提取重要数据。

这是发票处理的基本示例,通过更高级的配置(如语言识别、多页PDF处理等),您可以微调OCR结果以提高特定用例的准确性。

IronOCR的API灵活,可用于发票处理之外的各种OCR任务,包括收据扫描、文档转换和数据输入自动化。

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户