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 技術知識。
  • 條碼和 QR 碼識別: 除了標準文字識別,IronOCR 還可以檢測並提取影像中的條碼和 QR 碼。
  • PDF 支援: 它可以從掃描的 PDF 中讀取和提取文字,使其在處理發票、收據和其他商務文件時很有用。
  • 自訂化: 該程式庫允許根據特定需求自訂 OCR 設置,例如調整準確性或處理不同的影像解析度。

先決條件

在開始之前,請確保您擁有以下內容:

  • 已在您的機器上安裝 Visual Studio。
  • 對 C# 程式設計有基本了解。
  • 在您的專案中安裝了 IronOCR NuGet 套件。

步驟 1:建立一個 Visual Studio 專案

打開 Visual Studio 並點擊建立一個新專案。

C# 中的 OCR 發票處理 (開發者教程):圖 1 - 新專案

在選項中選擇 Console App。

C# 中的 OCR 發票處理 (開發者教程):圖 2 - Console App

提供專案名稱和路徑。

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 的許可證密鑰。 該密鑰是使用程式庫全部功能所需的。 如果您擁有有效许可证,用您的實際許可證密鑰取代"您的許可證"。
  2. 指定輸入文件:

    • filePath 變數保存了包含發票的影像位置(在此範例中為"sample1.jpg")。 這是將用於文字提取的文件。
  3. 建立 OCR 實例:

    • 建立一個 IronTesseract 的實例。 IronTesseract 是負責在輸入資料上執行 OCR 操作的類。
  4. 載入影像:

    • 程式碼建立一個 OcrInput 物件,該物件使用 LoadImage 方法載入由 filePath 指定的影像。
  5. 應用影像過濾器:

    • 程式碼可選地應用類似 Deskew() 之類的過濾器,以校正扭曲影像並提高 OCR 準確性。
  6. 執行 OCR:

    • ocr.Read() 方法從載入的影像中提取文字,返回包含提取文字的 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 功能所必需的。 用有效的許可證密鑰替代"您的密鑰"。
  2. 定義影像文件路徑:

    • 指定將要處理的發票影像的文件路徑,該路徑包含用於文字提取的內容。
  3. 建立 OCR 實例:

    • 建立一個 IronTesseract 的實例以執行 OCR 操作。
  4. 定義要處理的區域:

    • 指定影像中的矩形區域(從左上角開始)以將 OCR 過程重點放在相關區段,提高效率。
  5. 載入影像:

    • 從文件中載入影像的指定內容區域。 這將 OCR 處理限制在影像的特定部分。
  6. 應用過濾器:

    • 應用類似 Deskew() 的過濾器來提高圖像對齊,並可能使用 DeNoise() 清理影像,提高 OCR 準確性。
  7. 提取文字:

    • 從定義的區域中讀取文字並將其儲存在 OcrResult 中。
  8. 輸出提取的文字:

    • 將經過 OCR 處理的文字輸出到控制台以供進一步使用。

輸出

C# 中的 OCR 發票處理 (開發者教程):圖 8 - 提取的輸出

許可證 (試用可用)

IronOCR 需要一個密鑰來提取發票上的資料。 從 授權頁面 獲取您的開發者試用密鑰。

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

結論

本文提供了一個有關如何使用 IronOCR 處理發票的基本範例。 您可以進一步自訂和擴展此程式碼以滿足您的特定需求。

IronOCR 提供了一個高效且易於整合的解決方案,用於從影像和 PDF 中提取文字,使其成為處理發票的理想選擇。 結合 IronOCR 與 C# 字串操作或正則表達式,您可以快速處理和提取發票中的重要資料。

這是一個發票處理的基本範例,並通過更高級的配置(如語言識別、多頁 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天試用金鑰
無需信用卡或帳戶建立