使用 IRONOCR C# 中的 OCR 發票處理開發者教學 Kannapat Udonpant 更新日期:6月 22, 2025 Download IronOCR NuGet 下載 DLL 下載 Windows 安裝程式 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 發票資料處理是指從供應商或賣方接收、管理和驗證發票,並確保付款正確及時地完成。這包括設計確保準確性、合規性及效率的步驟,以避免紙質發票。 自動化發票處理可以顯著減少手動數據輸入錯誤並提高效率。 IronOCR 是一個強大的光學字符識別(OCR)軟體庫,可以用來從數字文件中提取發票中的數據或文字,使其成為在 C# 應用程式中自動化發票 OCR 處理的優秀工具。 如何使用像 IronOCR 這樣的 OCR 軟件處理發票數據 創建一個 Visual Studio 項目。 安裝 IronOCR C# 庫。 樣本輸入發票圖片。 使用 Tesseract 並從收據圖像中提取數據。 只讀取圖像的一個區域。 光學字符識別 (OCR) 光學字符識別 是一種能夠辨識和轉換文本文件、PDF 或影像的技術,將其轉換成可編輯和可搜尋的數據。 OCR 技術處理文本圖像並提取字符,讓它們變得可機器讀取。 先進的 OCR 發票軟件系統有助於財務管理工具和發票自動化。 有關 OCR 的關鍵點 功能:OCR 軟件掃描圖像或文本(如照片或掃描文件),將字符轉換為可編輯、可搜尋及可存儲的數字文本。 應用:OCR 在各行各業廣泛用於數字化打印文件、發票處理、數據提取、自動車牌識別(ANPR)、應付賬款流程及掃描書籍等任務。 技術:OCR 使用算法識別光亮和黑暗的模式以解釋字符。 現代 OCR 系統也使用機器學習和人工智能來提高準確性。 優勢:OCR 通過自動化數據輸入、減少錯誤,提高生產力,並使數據搜索和檢索更容易。 它也支持文件存檔並幫助企業管理無紙化工作流程。 OCR 技術已經顯著進步,使其在處理文件和發票數據提取中高度準確和有用,涵蓋許多不同的發票格式以減少手動數據輸入,消除手動發票處理,並提高數據安全性。 IronOCR IronOCR 是一個強大的 Optical Character Recognition (OCR) .NET (C#) 庫,它允許開發人員從圖像、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 並單擊創建新專案。 在選項中選擇主控台應用程序。 提供項目名稱和路徑。 選擇 .NET 版本類型。 步驟 2:安裝 IronOCR C# 庫 在 Visual Studio 的項目中,前往工具 > NuGet 包管理器 > 為解決方案管理 NuGet 程序包。 點擊瀏覽標籤,搜索 IronOCR。 選擇 IronOCR 並點擊安裝。 另一個選擇是使用控制台以及下面的命令。 dotnet add package IronOcr --version 2024.12.2 步驟 3:樣本輸入發票圖片 樣本數字發票圖像,其中包括發票號。 步驟 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 } 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 } Imports IronOcr ' Set the license key License.LicenseKey = "Your License" Dim filePath As String = "sample1.jpg" ' Path to the invoice image ' Create an instance of IronTesseract Dim ocr = New IronTesseract() ' Load the image for OCR Using ocrInput As New OcrInput() ocrInput.LoadImage(filePath) ' Optionally apply filters if needed ocrInput.Deskew() ' ocrInput.DeNoise(); ' Perform OCR to extract text Dim ocrResult = ocr.Read(ocrInput) ' Output the extracted text Console.WriteLine("Extracted Text:") Console.WriteLine(ocrResult.Text) ' Next steps would involve processing the extracted text End Using $vbLabelText $csharpLabel 代碼解釋 提供的代碼演示如何在 C# 中使用 IronOCR 庫來利用 OCR (光學字符識別) 從圖像(如發票)中提取文本。 以下是每個部分的代碼解釋: 授權密鑰設置: 代碼從設置 IronOCR 的授權密鑰開始。 該密鑰是使用該庫完整功能所需的。 如果您有有效的授權,請將 "Your License" 替換為您的實際授權密鑰。 指定輸入文件: filePath 變量持有包含發票的圖像位置(在此案例中為 "sample1.jpg")。 這是將進行文本提取處理的文件。 創建 OCR 實例: 創建一個 IronTesseract 的實例。 IronTesseract 是負責對輸入數據執行 OCR 操作的類。 加載圖像: 代碼創建一個 OcrInput 對象,該對象使用 LoadImage 方法加載由 filePath 指定的圖像。 應用圖像過濾器: 代碼可選地應用濾鏡如 Deskew() 來校正傾斜的圖像並提高 OCR 的準確性。 執行 OCR: ocr.Read() 方法從加載的圖像中提取文本,返回包含提取文本的 OcrResult。 顯示提取文本: 提取的文本打印到控制台。 這是 IronOCR 從圖像中識別出的文本,可以用於進一步處理。 輸出 步驟 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); } 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); } Imports IronOcr Imports IronSoftware.Drawing ' Set the license key License.LicenseKey = "Your Key" Dim filePath As String = "sample1.jpg" ' Path to the invoice image ' Create an instance of IronTesseract Dim ocr = New IronTesseract() ' Load the image for OCR Using ocrInput As New OcrInput() ' Define the region of interest Dim 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 Dim ocrResult = ocr.Read(ocrInput) ' Output the extracted text Console.WriteLine("Extracted Text:") Console.WriteLine(ocrResult.Text) End Using $vbLabelText $csharpLabel 代碼解釋 此代碼使用 IronOCR 從圖像的特定區域提取文本,並提供增強準確性的圖像濾鏡選項。 以下是細分內容的每一部分: 授權設置: 設定 IronOCR 的授權密鑰,這對使用該庫的 OCR 功能是必要的。 將 "Your Key" 替換為您的有效授權密鑰。 定義圖像文件路徑: 指定要處理的發票圖像的文件路徑,該文件包含文本提取的內容。 創建 OCR 實例: 創建一個 IronTesseract 的實例用於執行 OCR 操作。 定義要處理的區域: 在圖像內(從左上角開始)指定一個矩形區域以將 OCR 處理焦點集中在相關部分,提高效率。 加載圖像: 從文件加載圖像的指定內容區域。這限制了 OCR 處理到圖像的特定部分。 應用過濾器: 應用濾鏡如 Deskew() 以增強圖像對齊,並可能使用 DeNoise() 清理圖像以提高 OCR 的準確性。 提取文本: 從定義的區域讀取文本併入在 OcrResult 中。 輸出提取文本: 將 OCR 處理過的文本輸出到控制台以便進一步使用。 輸出 授權(可試用) IronOCR 需要密鑰來從發票中提取數據。 從授權頁面獲取您的開發者試用密鑰。 using IronOcr; License.LicenseKey = "Your Key"; using IronOcr; License.LicenseKey = "Your Key"; Imports IronOcr License.LicenseKey = "Your Key" $vbLabelText $csharpLabel 結論 本文提供了如何使用 IronOCR 進行發票處理的基本示例。 您可以進一步自定義和擴展此代碼以適合您的特定需求。 IronOCR 提供了一個高效且易於集成的解決方案來從圖像和 PDF 中提取文本,使其非常適合用於發票處理。 通過將 IronOCR 與 C# 字符串操作或正則表達式相結合,您可以快速處理和從發票中提取重要數據。 這是一個基本的發票處理示例,結合更多高級配置(如語言識別、多頁 PDF 處理等),您可以對 OCR 結果進行微調以提高特定用例的準確性。 IronOCR 的 API 非常靈活,可以用於各種 OCR 任務,除了發票處理外,還包括收據掃描、文檔轉換和數據輸入自動化。 常見問題解答 如何在 C# 中自動化發票數據處理? 您可以使用 IronOCR 自動化 C# 中的發票數據處理,以從數字發票文件中提取文本和數據。這降低了手動數據輸入錯誤並提高了處理發票的效率。 設置 OCR 進行發票處理涉及哪些步驟? 要設置 OCR 進行發票處理,首先創建一個 Visual Studio 項目,安裝 IronOCR 庫,並使用樣本發票圖像。然後可以利用 IronOCR 的功能來提取和處理發票數據。 如何使用 OCR 從發票的特定區域提取數據? IronOCR 允許您通過設置矩形區域來定義圖像的特定區域以集中 OCR 過程。此功能通過僅針對發票的必要部分來提高效率和準確性。 Tesseract 在 IronOCR 中的角色是什麼? Tesseract 是 IronOCR 的一部分,在從圖像中提取文本方面起著關鍵作用。它有助於將文本圖像轉換為機器可讀的數據,這對於在 C# 應用程序中自動化發票處理至關重要。 OCR 軟件能夠識別多種語言的文本嗎? 是的,IronOCR 支援多種語言,能夠識別和處理多種語言的文本,例如英語、西班牙語和法語,提高了其處理全球發票的靈活性。 使用 IronOCR 進行發票處理的好處是什麼? 使用 IronOCR 進行發票處理具有高準確度的文本提取、多語言支持、條碼識別和 PDF 處理功能等優勢,所有這些都能簡化應付賬款工作流程。 如何為特定的發票處理需求自定義 OCR 設置? IronOCR 提供了簡單的 API,允許開發人員自定義 OCR 設置。這種靈活性使得能夠針對特定的發票處理需求提供定制解決方案,例如處理不同的發票格式或語言。 OCR 在數字發票管理中的重要性是什麼? OCR 是數字發票管理中至關重要的工具,因為它自動提取發票數據,減少手動工作量,降低錯誤率,並確保財務交易的高效準確處理。 IronOCR 是否有可用於測試其能力的試用版本? 是的,IronOCR 提供了一個開發者試用密鑰,您可以從其授權頁面獲得,這使您在購買之前能夠測試完整功能。 IronOCR 如何改善文檔轉換和數據錄入自動化? IronOCR 通過提供高準確度的文本提取來改善文檔轉換和數據錄入自動化,從各種格式中提取文本,實現與 C# 應用程序的無縫集成以進行自動化數據處理。 Kannapat Udonpant 立即與工程團隊聊天 軟體工程師 在成為软件工程師之前,Kannapat 從日本北海道大學完成了環境資源博士學位。在追逐學位期间,Kannapat 還成為了生產工程系一部份——汽車机器人实验室的成員。2022 年,他利用他的 C# 技能加入 Iron Software 的工程團隊, 專注於 IronPDF。Kannapat 珍惜他的工作,因为他直接向编写大部分 IronPDF 使用的代码的开发者学习。除了同行学习,Kannapat 还喜欢在 Iron Software 工作的社交十环。当他不编写代码或文档时,Kannapat 通常在他的 PS5 上打游戏或重看《The Last of Us》。 相關文章 發表日期 9月 29, 2025 如何使用 IronOCR 建立 .NET OCR SDK 使用 IronOCR 的 .NET SDK 創建強大的 OCR 解決方案。簡單的 API,企業功能,跨平台支持的文檔處理應用。 閱讀更多 發表日期 9月 29, 2025 如何在 C# GitHub 專案中整合 OCR OCR C# GitHub 教學:使用 IronOCR 在您的 GitHub 專案中實現文本識別。包括程式碼範例和版本控制技巧。 閱讀更多 更新日期 9月 4, 2025 如何將文檔處理記憶體減少 98%:IronOCR 的工程突破 IronOCR 2025.9 通過流式架構將 TIFF 處理記憶體減少 98%,消除崩潰並提高企業工作流程的速度。 閱讀更多 優化性能以提供更快、更高效的 OCR 處理C# 中的 OCR 超市收據開發者...
發表日期 9月 29, 2025 如何使用 IronOCR 建立 .NET OCR SDK 使用 IronOCR 的 .NET SDK 創建強大的 OCR 解決方案。簡單的 API,企業功能,跨平台支持的文檔處理應用。 閱讀更多
發表日期 9月 29, 2025 如何在 C# GitHub 專案中整合 OCR OCR C# GitHub 教學:使用 IronOCR 在您的 GitHub 專案中實現文本識別。包括程式碼範例和版本控制技巧。 閱讀更多
更新日期 9月 4, 2025 如何將文檔處理記憶體減少 98%:IronOCR 的工程突破 IronOCR 2025.9 通過流式架構將 TIFF 處理記憶體減少 98%,消除崩潰並提高企業工作流程的速度。 閱讀更多