IRONSOFTWAREHOME
USING IRONOCR

如何使用 C# 中的 OCR 從收據中提取資料

Kannaopat Udonpant
Kannapat Udonpant
Updated: 2026年6月28日

IronOCR 提供強大的 C# 程式庫,利用先進的光學字元辨識(OCR)技術從收據影像中提取文字,支援 125 種語言與內建的影像預處理,實現自動化的支出跟蹤和資料分析。

收據與自動化

收據在當今快速發展的世界中至關重要。 無論是購買雜貨還是在外用餐,收據都有助於跟蹤支出並幫助制定預算。 同時,商店使用收據掃描器來分析銷售資料,幫助他們通過資料提取技術預測需求和管理庫存。

然而,收據可能難以閱讀,計算也不總是清晰的。 手動資料輸入到預算中乏味且易出錯,尤其是當涉及許多項目時。 丟失收據可能會使您每月的超支成為迷。 傳統紙質收據通常印刷質量差、墨水褪色,且熱感紙容易降解,這使得OCR 影像優化變得至關重要。

為了解決這個問題,預算和金融應用程式採用了OCR(光學字元辨識)技術。 通過將收據掃描成數位格式,OCR 減少錯誤、自動化資料輸入、跟蹤支出,並揭示購買模式。 現代的OCR 解決方案能處理各種收據格式,從傳統的銷售點列印到具有條碼和 QR 碼閱讀能力的數位收據。

OCR 利用機器學習來識別和提取影像中的文字。 該過程包括影像預處理、字元分割、模式識別和驗證。 然而,OCR 並不完美——模糊或污漬可能導致錯誤。 先進系統使用計算機視覺技術來提高準確性。 選擇一個可靠的 OCR 程式庫來高效處理和優化讀取是成功文件自動化的關鍵。

為什麼我應該選擇 IronOCR 進行收據處理?

IronOCR 是基於Tesseract OCR 引擎定制構建的 C# 程式庫。與標準 Tesseract 不同,IronOCR 包含了Tesseract 5 優化和專為 .NET 開發者設計的功能。 以下是其獨特之處:

  1. **跨相容性:**支持 .NET 8、7、6、5 和 Framework 4.6.2+。 可在 Windows、macOS、Azure 和 Linux 上運行。 Deploys seamlessly to Docker, AWS Lambda, and Azure Functions.

  2. **靈活性和可擴展性:**處理 JPG、PNG 和 GIF 格式。 與 System.Drawing 物件整合。 Processes multi-page TIFFs and PDF streams. 支持多執行緒以用於高容量場景。

  3. **易用性和支持:**文件詳盡,擁有強大的 API 和 24/5 支持。 提供簡單的一行操作詳細的配置選項。 包含全面的故障排除指南

  4. **多語言功能:**支持125 種國際語言。 有效識別產品名稱和價格。 處理文件中的多種語言。 支持客製化的traineddata 文件

  5. **高級影像處理:**內建濾鏡自動增強收據質量。 包含降噪方向校正DPI 優化濾鏡精靈自動確定最優設置。

如何在我的應用程式中實現收據 OCR?

開始需要什麼授權?

在使用 IronOCR 之前,您需要一個授權金鑰。 在這裡獲得免費試用。 授權選項包括 Lite、Plus 和 Professional 等級,以適應不同的團隊規模和部署。 請參閱文件以應用授權金鑰

// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";

對於網頁應用程式,在 Web.config 中設置授權金鑰以進行集中配置。 授權系統支持隨著您的成長而擴展和升級

我如何使用 IronOCR 讀取超市收據?

讓我們來探討在應用程式中使用 IronOCR 掃描智慧型手機的超市收據,提取產品名稱和價格,並根據購買情況授予忠誠度積分。 這包括影像捕獲、預處理、OCR 執行和通過結果信心分數進行資料驗證。

典型的收據影像是什麼樣子的?

Sample supermarket receipt showing Lorem ipsum placeholder text with items, prices, subtotal of $107.60, and payment details - demonstrating typical receipt layout with header, item list, totals, and barcode

常見的收據挑戰包括熱感紙質量、不同的字體、擁擠的佈局,以及因折疊或潮濕造成的損壞。 IronOCR 的預處理通過影像質量校正顏色校正技術來處理這些問題。

我需要什麼 C# 程式碼來提取收據資料?

using IronOcr;

class ReceiptScanner
{
    static void Main()
    {
        // Set the license key for IronOCR
        IronOcr.License.LicenseKey = "YOUR-KEY";
        
        // Instantiate OCR engine with optimal settings for receipts
        var ocr = new IronTesseract();
        
        // Configure for receipt-specific text
        ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.$,- ";
        ocr.Configuration.BlackListCharacters = "~`@#%^*_+={}[]|\\:;\"'<>?";
        
        using var inputPhoto = new OcrInput();
        inputPhoto.LoadImage("supermarketexample.jpg");
        
        // Apply preprocessing for better accuracy
        inputPhoto.DeNoise();
        inputPhoto.ToGrayScale();
        inputPhoto.Contrast(1.2);
        
        // Perform OCR on the loaded image
        OcrResult result = ocr.Read(inputPhoto);
        
        // Output the text extracted from the receipt
        string text = result.Text;
        Console.WriteLine(text);
        
        // Extract specific data using OcrResult features
        foreach (var line in result.Lines)
        {
            if (line.Text.Contains("TOTAL"))
            {
                Console.WriteLine($"Total Found: {line.Text}");
            }
        }
    }
}

該程式碼展示了:

  1. 導入 IronOCR 程式庫。
  2. 使用配置選項實例化 OCR 引擎(IronTesseract)。
  3. 建立新的 OcrInput 來載入收據影像。
  4. 應用預處理以提高準確性。
  5. 使用 Read 方法提取文字。
  6. 使用 OcrResult 類處理結果以獲取結構化資料。

對於不同的收據格式,IronOCR 支持讀取照片螢幕截圖,以及掃描文件。 它還可以從結構化收據中提取表格資料

我如何驗證提取資料的準確性?

為了確保一致性,檢查提取資料的信心水準。 IronOCR 提供全面的信心指標,涵蓋多個層次:

OcrResult result = ocr.Read(inputPhoto);
string text = result.Text;
Console.WriteLine(text);
Console.WriteLine($"Overall Confidence: {result.Confidence}%");

// Check confidence for individual elements
foreach (var word in result.Words)
{
    if (word.Confidence < 80)
    {
        Console.WriteLine($"Low confidence word: '{word.Text}' ({word.Confidence}%)");
    }
}

// Validate numeric values
foreach (var block in result.Blocks)
{
    if (block.Text.Contains("$"))
    {
        Console.WriteLine($"Price detected: {block.Text} (Confidence: {block.Confidence}%)");
    }
}

Confidence 屬性測量從 0(低)到 100(高)的統計準確性。 使用這些信心水準來決定如何處理資料。 對於生產系統,實施進度跟蹤來監控 OCR 操作。

我如何通過影像預處理提高 OCR 的準確性?

在處理之前,使用這些方法來準備影像以獲得更好的結果:

using var inputPhoto = new OcrInput();
inputPhoto.LoadImage("receipt.jpg");

// Basic preprocessing
inputPhoto.DeNoise();           // Removes noise from the image
inputPhoto.ToGrayScale();       // Converts image to grayscale
inputPhoto.Contrast(1.5);       // Enhance contrast for faded receipts
inputPhoto.Sharpen();           // Improve text clarity

// Advanced preprocessing for challenging receipts
inputPhoto.Rotate(2.5);         // Correct slight rotation
inputPhoto.Deskew();            // Automatically straighten receipt
inputPhoto.Scale(200);          // Upscale low-resolution images

// Handle specific receipt issues
if (receiptIsDamaged)
{
    inputPhoto.Dilate();        // Thicken thin text
    inputPhoto.Erode();         // Reduce text bleeding
}

// For colored or patterned backgrounds
inputPhoto.Binarize();          // Convert to pure black and white
inputPhoto.Invert();            // Handle white text on dark background

這些預處理步驟提高了提取的準確性。 濾鏡精靈自動找到給您收據的最佳濾鏡組合。對於具有彩色背景的收據,顏色校正是必需的。

高級場景可能需要特定區域的 OCR以便關注總計或稅務資訊。 對於具有條碼的收據,同時啟用條碼閱讀與文字提取。

使用 IronOCR 進行收據處理的關鍵好處是什麼?

收據 OCR 技術幫助企業和個人在預算、欺詐預防和自動化資料收集方面。 IronOCR 提供準確性、速度和易於與現有平台整合的優勢,使其成為收據掃描解決方案的理想選擇。

主要優勢包括:

  1. 性能優化: 多執行緒速度調整高效地處理數千張收據。

  2. **匯出靈活性:**將收據轉換為可搜索的 PDFhOCR HTML進行網路整合。

  3. **企業功能:**部署到AzureDockerLinux 伺服器以提高可擴展性。

  4. **專門識別:**讀取收據上的手寫筆記並提取表格結構

  5. 除錯工具: 高亮文字視覺化結果匯出功能有助於故障排除。

試用 IronOCR 的試用授權來探索其能力。 全面的文件程式碼範例幫助您快速實現收據 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天試用金鑰
無需信用卡或帳戶建立