使用 IRONOCR 如何使用 C# 的 OCR 從收據中擷取資料 Kannapat Udonpant 更新:2026年1月19日 下載 IronOCR NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 IronOCR提供了一個強大的 C# 庫,使用先進的 OCR 技術從收據圖像中提取文本,支援 125 種語言和內建圖像預處理功能,可實現自動費用追蹤和數據分析。 收據和自動化 在如今快節奏的生活中, 收據至關重要。 無論你是購買食品雜貨還是外出用餐,收據都能幫助你追蹤支出並進行預算。 同時,商店使用收據掃描器分析銷售數據,透過數據提取技術幫助他們預測需求和管理庫存。 然而,收據可能難以辨認,計算結果也不總是清晰明了。 手動輸入預算資料既繁瑣又容易出錯,尤其是在專案很多的情況下。 遺失收據可能會讓你的每月超支變成一個謎。 傳統紙質收據經常存在列印品質不佳、油墨褪色和熱敏紙老化等問題,因此OCR 影像優化對於準確提取至關重要。 為了解決這個問題,預算和財務應用程式採用了OCR (光學字元辨識)技術。 透過將收據掃描成數位格式,OCR 可以最大限度地減少錯誤,自動輸入數據,追蹤支出,並揭示購買模式。 現代OCR 解決方案可處理各種收據格式,從傳統的銷售點列印輸出到具有條碼和二維碼讀取功能的數位收據。 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 系統上運作。 可無縫部署至Docker 、 AWS Lambda和Azure Functions 。 2.靈活性和可擴展性:支援 JPG、PNG 和 GIF 格式。 與 System.Drawing 物件整合。 處理多頁 TIFF和PDF 串流。 支援 多線程,適用於高吞吐量場景。 3.易用性和支援:文件齊全,API 功能強大,並提供 24/5 支援。 提供簡單的單行操作和詳細的配置選項。 包含全面的故障排除指南。 4.多語言功能:支援125 種國際語言。 能夠有效識別產品名稱和價格。 支援每個文件使用多種語言。 支援自訂訓練資料檔。 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"; // Replace the license key variable with the trial key you obtained IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"; $vbLabelText $csharpLabel 對於 Web 應用程序,請在 Web.config 中設定許可證金鑰以進行集中配置。 隨著您的業務發展,授權系統支援擴展和升級。 如何使用IronOCR讀取超市收據? 讓我們探索如何在應用程式中使用IronOCR ,該應用程式可以使用智慧型手機掃描超市收據,提取產品名稱和價格,並根據購買情況獎勵忠誠度積分。 這包括影像擷取、預處理、OCR執行以及使用結果置信度評分進行資料驗證。 典型的收據圖片是什麼樣的? 常見的收據問題包括熱感紙品質、字體不統一、版面擁擠以及折疊或受潮造成的損壞。 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}"); } } } } 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}"); } } } } $vbLabelText $csharpLabel 這段程式碼示範了: 導入IronOCR庫。 使用設定選項實例化 OCR 引擎 (IronTesseract)。 建立一個新的OcrInput來載入收據圖片。 應用預處理以提高準確度。 使用 Read 方法擷取文字。 使用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}%)"); } } 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}%)"); } } $vbLabelText $csharpLabel 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 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 $vbLabelText $csharpLabel 這些預處理步驟可以提高提取精度。 篩選精靈會自動為您的收據找到最佳篩選組合。對於彩色背景的收據,顏色校正至關重要。 高級場景可能需要針對特定區域的 OCR來重點識別總數或稅務資訊。 對於帶有條碼的收據,啟用條碼讀取和文字擷取功能。 使用IronOCR進行收據處理的主要優點是什麼? 收據 OCR 技術可協助企業和個人進行預算編制、防詐騙和自動資料收集。 IronOCR具有準確度高、速度快、易於與現有平台整合等優點,是收據掃描解決方案的理想選擇。 主要優勢包括: 1.效能最佳化:透過多執行緒和速度調優,高效處理數千張收據。 2.匯出彈性:將收據轉換為可搜尋的 PDF或hOCR HTML ,以便整合到 Web 中。 3.企業功能:部署到Azure 、 Docker和Linux 伺服器以實現可擴充性。 4.專業識別:閱讀收據上的手寫筆記並提取表格結構。 5.調試工具:突出顯示文字視覺化和結果導出功能有助於故障排除。 試用 IronOCR 的試用許可證,探索其各項功能。 全面的文件和程式碼範例可協助您快速實現收據 OCR。 常見問題解答 OCR 技術如何用於自動化超市收據的處理? 光學字符識別技術可以通過將掃描的收據轉換為數字數據來自動化超市收據的處理。使用 IronOCR,收據可以被自動讀取並提取文本,減少手動數據錄入的需求並最小化人工錯誤。 IronOCR 在處理超市收據時有哪些優勢? IronOCR 在處理超市收據時提供了一些優勢,包括跨平台兼容性、多種圖像格式支持、易於集成的強大 API 以及能夠處理多達 125 種語言,使其非常適合國際收據處理。 如何將 IronOCR 集成到 C# 應用程序中以讀取超市收據? 要將 IronOCR 集成到 C# 應用程序中,您需要獲得授權密鑰,導入 IronOcr 庫,並使用 IronTesseract 引擎從超市收據圖像中讀取和提取文本。 在收據掃描中哪些預處理技術可提高光學字符識別的準確性? IronOCR 提供了預處理技術,如 DeNoise 和 ToGrayScale,以提高光學字符識別的準確性。這些技術有助於去除圖像噪點並將圖像轉換為灰度,以增強從收據中提取文本的效果。 為何信心測試在光學字符識別中很重要,如何應用? 在 IronOCR 中,信心測試很重要,因為它測量了提取數據的準確性,範圍從 0(低)到 1(高)。它幫助用戶評估光學字符識別結果的可靠性並指導數據處理決策。 IronOCR 能否處理多語言超市收據? 是的,IronOCR 支持多達 125 種語言的光學字符識別處理,能有效處理多語言的超市收據。 是否有供開發人員試用的 IronOCR 版本? 是的,IronOCR 提供免費試用版,允許開發人員在購買前探索其功能和性能。 IronOCR 支持哪些平台的收據掃描? IronOCR 可兼容 .NET 平台,包括 .NET 8、7、6、5 和 Framework 4.6.2 及以上版本,並支持在 Windows、macOS、Azure 和 Linux 環境下運行。 IronOCR 在應用中集成收據掃描功能的特點是什麼? IronOCR 適合在應用中集成收據掃描功能因其高精度、易用性、跨平台支援及其無縫處理各種輸入格式和語言的能力。 Kannapat Udonpant 立即與工程團隊聊天 軟體工程師 在成為軟件工程師之前,Kannapat 從日本北海道大學完成了環境資源博士學位。在追逐學位期间,Kannapat 還成為了生產工程系一部份——汽車机器人實验室的成員。2022 年,他利用他的 C# 技能加入 Iron Software 的工程團隊, 專注於 IronPDF。Kannapat 珍惜他的工作,因為他直接向编写大部分 IronPDF 使用的代碼的開發者学习。除了同行学习,Kannapat 还喜欢在 Iron Software 工作的社交十环。当他不编写代碼或文檔時,Kannapat 通常在他的 PS5 上打游戏或重看《The Last of Us》。 相關文章 發表日期 2026年3月8日 使用 C# 建立一個能真正提取有用資料的收據 OCR API 使用 IronOCR 在 C# 中建置收據 OCR API。透過附帶程式碼範例的逐步教學,學習如何從收據影像中精準且在地端提取結構化資料。 閱讀更多 更新2026年3月1日 OCR C# GitHub:使用 IronOCR 進行文字辨識 OCR C# GitHub 教學:使用 IronOCR 在您的 GitHub 專案中實現文本識別。包括程式碼範例和版本控制技巧。 閱讀更多 更新2026年3月1日 .NET OCR SDK:適用於 C# 的文字辨識函式庫 使用 IronOCR 的 .NET SDK 創建強大的 OCR 解決方案。簡單的 API,企業功能,跨平台支援的文檔處理應用。 閱讀更多 C# 中的 OCR 發票處理開發者教學護照 OCR SDK 開發者教學
發表日期 2026年3月8日 使用 C# 建立一個能真正提取有用資料的收據 OCR API 使用 IronOCR 在 C# 中建置收據 OCR API。透過附帶程式碼範例的逐步教學,學習如何從收據影像中精準且在地端提取結構化資料。 閱讀更多
更新2026年3月1日 OCR C# GitHub:使用 IronOCR 進行文字辨識 OCR C# GitHub 教學:使用 IronOCR 在您的 GitHub 專案中實現文本識別。包括程式碼範例和版本控制技巧。 閱讀更多
更新2026年3月1日 .NET OCR SDK:適用於 C# 的文字辨識函式庫 使用 IronOCR 的 .NET SDK 創建強大的 OCR 解決方案。簡單的 API,企業功能,跨平台支援的文檔處理應用。 閱讀更多