使用 IRONOCR OCR C# GitHub:使用 IronOCR 實作文字辨識 Kannapat Udonpant 更新:2026年1月5日 下載 IronOCR NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 在 GitHub 上搜尋 OCR 解決方案,往往會發現零碎的文件、複雜的 Tesseract 設定,以及很久沒有更新的專案。對於需要從圖片和 PDF 中抽取可靠文字的 C# 開發人員而言,瀏覽資源庫可能會耗費許多時間,而這些時間花在編碼上可能會更好。 許多開放原始碼的光學字元識別專案需要手動進行二進位管理、下載 tessdata 檔案以及 Windows 系統故障排除。 本教學示範如何使用 IronOCR在 C# 專案中實作 OCR 功能,IronOCR 是一個精煉的函式庫,可消除原始 Tesseract 實作中常見的令人頭痛的設定問題。 無論是建立文件處理管道,或是將文字識別功能加入現有的應用程式,本指南都提供了工作代碼範例,可隨時用於 OCR C# GitHub 專案。 是什麼讓 IronOCR 成為基於 GitHub 的 C# 程式碼專案的理想選擇? IronOCR 提供透過 NuGet 發佈的管理式 .NET 函式庫,可直接整合至任何 GitHub 儲存庫。 不像開放原始碼的 Tesseract OCR wrapper 需要手動管理二進位檔和 tessdata 設定,IronOCR 會在內部處理這些相依性,開箱即用。 圖書館在 GitHub 上維護 官方範例儲存庫,開發人員可以克隆和參考。 這些教學示範了真實世界的實作,包括影像到文字的轉換、支援多國語言以及 PDF 處理。 貢獻者可以在克隆後立即測試功能。 要開始使用 Visual Studio,請透過 NuGet 套件管理員安裝 IronOCR: Install-Package IronOcr Install-Package IronOcr SHELL 。 安裝之後,這個單一套件就包含了在 Windows、Linux 和 macOS 環境下進行 OCR 作業所需的一切。 本庫支援 .NET Framework 4.6.2+、.NET Core 和 .NET 5-10,以達到最大的相容性。 如何用 C# 從影像格式中萃取文字? 以下範例使用 IronOCR 的 IronTesseract 類示範基本的文字擷取。 此 OCR 引擎可讀取各種影像格式,包括 PNG、JPG、JPEG、BMP、GIF 和 TIFF: using IronOcr; // Initialize the OCR engine var ocr = new IronTesseract(); // Load and process an image using var input = new OcrInput("document-scan.png"); // Perform OCR and retrieve results var result = ocr.Read(input); // Output the extracted text to console Console.WriteLine($"Extracted Text:\n{result.Text}"); Console.WriteLine($"Confidence: {result.Confidence}%"); using IronOcr; // Initialize the OCR engine var ocr = new IronTesseract(); // Load and process an image using var input = new OcrInput("document-scan.png"); // Perform OCR and retrieve results var result = ocr.Read(input); // Output the extracted text to console Console.WriteLine($"Extracted Text:\n{result.Text}"); Console.WriteLine($"Confidence: {result.Confidence}%"); Imports IronOcr ' Initialize the OCR engine Dim ocr As New IronTesseract() ' Load and process an image Using input As New OcrInput("document-scan.png") ' Perform OCR and retrieve results Dim result = ocr.Read(input) ' Output the extracted text to console Console.WriteLine($"Extracted Text:{vbCrLf}{result.Text}") Console.WriteLine($"Confidence: {result.Confidence}%") End Using $vbLabelText $csharpLabel IronTesseract 類別是主要的 OCR 引擎,建構在最佳化的 Tesseract 5 實作上。 建立實體後,OcrInput 物件會從磁碟、URL 或位元組陣列載入目標影像。 Read 方法會處理輸入,並傳回一個 OcrResult 包含擷取的純文字,以及表示辨識準確度的置信百分比。 較高的置信度值 (90% 以上) 通常表示原始文件乾淨且格式良好。 輸入 。 輸出 。 OcrResult物件提供結構化存取認可的內容。 除了純文字之外,開發人員還可以存取個別字詞、行、段落和字元,以及它們的位置和置信度分數。 每個 Word 都包含邊界矩形座標,對於需要精確文字位置資料的應用程式非常有用,例如文件註釋或表單欄位擷取。 。 影像預處理如何提高光學字元識別的精確度? 掃描的文件通常會有偏差、雜訊或解析度不佳。 IronOCR 包含 內建的預處理篩選器,可在 OCR 引擎處理影像之前修正這些問題: using IronOcr; var ocr = new IronTesseract(); using var input = new OcrInput("skewed-receipt.jpg"); // Apply preprocessing filters to enhance scan quality input.Deskew(); // Straighten rotated images input.DeNoise(); // Remove digital artifacts input.EnhanceResolution(225); // Optimize DPI for OCR var result = ocr.Read(input); Console.WriteLine(result.Text); using IronOcr; var ocr = new IronTesseract(); using var input = new OcrInput("skewed-receipt.jpg"); // Apply preprocessing filters to enhance scan quality input.Deskew(); // Straighten rotated images input.DeNoise(); // Remove digital artifacts input.EnhanceResolution(225); // Optimize DPI for OCR var result = ocr.Read(input); Console.WriteLine(result.Text); Imports IronOcr Dim ocr = New IronTesseract() Using input = New OcrInput("skewed-receipt.jpg") ' Apply preprocessing filters to enhance scan quality input.Deskew() ' Straighten rotated images input.DeNoise() ' Remove digital artifacts input.EnhanceResolution(225) ' Optimize DPI for OCR Dim result = ocr.Read(input) Console.WriteLine(result.Text) End Using $vbLabelText $csharpLabel Deskew 方法可自動偵測並修正影像旋轉,最高可達 15 度。 DeNoise 過濾器可去除攝影文件或舊式掃描中常見的斑點和人工物。 EnhanceResolution 可將低 DPI 影像升頻至 200-300 DPI 的範圍,是光學字元識別的最佳選擇。 這些功能可以串連在一起並在記憶體中執行,而不需要臨時檔案。 在許多情況下,多重預處理可以大幅改善有嚴重品質問題的文件的文字辨識結果。 您可以在提取文字的同時提取 BarCode 和 QR 碼嗎? IronOCR 可以在同一個文件中同時辨識文字和 掃描條碼。 這種雙重功能對於處理發票、運送標籤和庫存文件非常有價值: using IronOcr; var ocr = new IronTesseract(); ocr.Configuration.ReadBarCodes = true; // Enable barcode detection using var input = new OcrInput("shipping-label.png"); var result = ocr.Read(input); // Access extracted text Console.WriteLine($"Text: {result.Text}"); // Access any barcodes found in the image foreach (var barcode in result.Barcodes) { Console.WriteLine($"Barcode ({barcode.Format}): {barcode.Value}"); } using IronOcr; var ocr = new IronTesseract(); ocr.Configuration.ReadBarCodes = true; // Enable barcode detection using var input = new OcrInput("shipping-label.png"); var result = ocr.Read(input); // Access extracted text Console.WriteLine($"Text: {result.Text}"); // Access any barcodes found in the image foreach (var barcode in result.Barcodes) { Console.WriteLine($"Barcode ({barcode.Format}): {barcode.Value}"); } Imports IronOcr Dim ocr As New IronTesseract() ocr.Configuration.ReadBarCodes = True ' Enable barcode detection Using input As New OcrInput("shipping-label.png") Dim result = ocr.Read(input) ' Access extracted text Console.WriteLine($"Text: {result.Text}") ' Access any barcodes found in the image For Each barcode In result.Barcodes Console.WriteLine($"Barcode ({barcode.Format}): {barcode.Value}") Next End Using $vbLabelText $csharpLabel 當 ReadBarCodes 啟用並設為 true 時,條碼偵測會啟動,而不會顯著影響處理時間。結果中的 Barcodes 集合包含每個偵測到的條碼的值和格式類型,支援 QR 碼、Code 128、EAN-13 和 UPC 等標準格式。 在處理同時包含人類可讀文字和機器可讀程式碼的文件時,此雙重功能可省去單獨使用 BarCode 掃描程式庫的需要。 輸入 。 輸出 。 如何從掃描影像產生可搜尋的 PDF? 將掃描的文件轉換為searchable PDFs可以進行文字選擇、複製和全文檢索。 此工作可使用各種影像格式作為輸入: using IronOcr; var ocr = new IronTesseract(); using var input = new OcrInput("scanned-contract.tiff"); var result = ocr.Read(input); // Export as searchable PDF - create new document from scan result.SaveAsSearchablePdf("contract-searchable.pdf"); using IronOcr; var ocr = new IronTesseract(); using var input = new OcrInput("scanned-contract.tiff"); var result = ocr.Read(input); // Export as searchable PDF - create new document from scan result.SaveAsSearchablePdf("contract-searchable.pdf"); Imports IronOcr Dim ocr As New IronTesseract() Using input As New OcrInput("scanned-contract.tiff") Dim result = ocr.Read(input) ' Export as searchable PDF - create new document from scan result.SaveAsSearchablePdf("contract-searchable.pdf") End Using $vbLabelText $csharpLabel SaveAsSearchablePdf 方法嵌入了一個與已識別內容相匹配的隱形文字層,保留了原始文件的外觀,同時啟用了文字操作。 這可建立 PDF/A 相容的文件,適用於歸檔和企業文件管理系統。 您也可以將結果匯出為 JSON 格式,以便與其他系統整合。 GitHub 專案中的 OCR 有哪些最佳實作? 在 GitHub 上維護 OCR 專案時,請考慮這些建議以建立您的儲存庫: 大型測試影像使用 Git LFS,以避免儲存庫變大 將授權金鑰儲存於環境變數或 GitHub Secrets 中,切勿儲存於已提交的 C# 程式碼中 - 請參閱授權金鑰設定指南 在專用的測試資料夾中包含範例圖片,以供撰稿人驗證 OCR 功能。 在 README 檔案中記錄支援的影像格式,以設定明確的期望並回答常見問題 在 CI 管道中建立並執行測試,以確保程式庫能在每個版本中正確運作 對於 GitHub Actions 工作流程,IronOCR 可在 Windows 和 Linux 上的容器化環境中執行。 針對非 Windows 執行者時,請參閱 Linux 部署指南,以瞭解組態細節。 IronOCR 也支援 多國語言,包括英文、西班牙文、法文、中文和其他 120 種以上的語言。 透過 NuGet 下載語言套件,以啟用英文以外語言的文字辨識功能。 這為您的系統所需的幾乎所有語言提供免費的 OCR 存取。 結論 IronOCR 透過其直覺的 API、自動影像預處理以及可靠的跨平台支援,簡化了 C# GitHub 專案中的 OCR 實作。 上面的程式碼範例提供了建立文件處理應用程式的基礎,這些應用程式可與基於 GitHub 的開發工作流程順利整合。 本庫可與 .NET Framework、.NET Core 和現代 .NET 版本一起使用,為任何類型的專案提供廣泛的相容性。 開始免費試用以探索完整功能,或檢視授權選項以進行生產部署。 。 常見問題解答 什麼是 IronOCR? IronOCR 是一個功能強大的 C# 光學字元識別 (OCR) 函式庫,可簡化從影像和 PDF 中提取文字的程序。 開發人員為何要選擇 IronOCR 而非 GitHub OCR 解決方案? IronOCR 提供可靠且最新的 OCR 功能,不需要複雜的設定或手動二進位管理,與許多零散的 GitHub 專案不同。 IronOCR 可以同時處理圖片和 PDF 文件嗎? 是的,IronOCR 旨在從影像和 PDF 文件中有效率地抽取文字。 使用 IronOCR 時需要管理 tessdata 檔案嗎? 不,IronOCR 不需要手動管理 tessdata 檔案,簡化了 OCR 實作流程。 IronOCR 與 Windows 系統相容嗎? 是的,IronOCR 與 Windows 系統完全相容,提供無縫安裝和使用體驗,無需大量的故障排除。 IronOCR 如何改善開發人員的工作流程? IronOCR 簡化了 OCR 整合流程,讓開發人員可以更專注於編碼,而不是處理零碎的文件和配置。 IronOCR 是針對何種程式語言設計的? IronOCR 專為 C# 開發人員設計,提供專為 C# 語言生態系統量身打造的強大 OCR 解決方案。 Kannapat Udonpant 立即與工程團隊聊天 軟體工程師 在成為軟體工程師之前,Kannapat 完成了日本北海道大學的環境資源博士學位。在攻讀學位期間,Kannapat 也成為生物製造工程系車輛機器人實驗室的成員。2022 年,他利用自己的 C# 技能加入 Iron Software 的工程團隊,主要負責 IronPDF 的開發。Kannapat 非常重視他的工作,因為他可以直接向撰寫 IronPDF 使用的大部分程式碼的開發者學習。除了同儕學習之外,Kannapat 也很享受在 Iron Software 工作的社交生活。不寫程式碼或文件時,Kannapat 通常會用 PS5 玩遊戲或重看《最後的我們》。 相關文章 發表日期 2026年1月21日 OCR C# GitHub 整合:使用 IronOCR 建立文字辨識應用程式 OCR C# GitHub 教學:使用 IronOCR 在您的 GitHub 專案中實作文字辨識。包括程式碼範例和版本控制提示。 閱讀更多 發表日期 2026年1月21日 使用 IronOCR 建立 .NET OCR SDK 使用 IronOCR 的 .NET SDK 創建功能強大的 OCR 解決方案。簡單的 API、企業級功能,並支援跨平台的文件處理應用程式。 閱讀更多 更新2026年1月5日 如何 OCR PDF:使用 C# .NET OCR PDF 從掃描的文件中萃取文字 了解如何使用 IronOcr OCR PDF 並從掃描的文件中提取文字。 閱讀更多 IronOcr 如何使用電腦視覺 OCR 提升文字辨識的精確度C# 中的 OCR CodeProject Tutorial...
發表日期 2026年1月21日 OCR C# GitHub 整合:使用 IronOCR 建立文字辨識應用程式 OCR C# GitHub 教學:使用 IronOCR 在您的 GitHub 專案中實作文字辨識。包括程式碼範例和版本控制提示。 閱讀更多
發表日期 2026年1月21日 使用 IronOCR 建立 .NET OCR SDK 使用 IronOCR 的 .NET SDK 創建功能強大的 OCR 解決方案。簡單的 API、企業級功能,並支援跨平台的文件處理應用程式。 閱讀更多