跳至頁尾內容
使用 IRONOCR

OCR C# GitHub 整合:使用 IronOCR 建立文字辨識應用程式

IronOCR 透過提供具有 99.8% 準確率、內建預處理功能和對 125 多種語言支援的單一 DLL 解決方案,簡化了 C# GitHub 專案中的 OCR 集成,消除了原始 Tesseract 實現所需的複雜配置。

!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101 01000101111101010011010101000100000101010010010101000100010101000100010111110101011101001000110 1010101000100100001011111010100000101001001001111010001000101010101010000110101010100101010101011 10101010001010010010010010010000010100110001011111010000100100110001001111101000011010010111111010000110100101110--

如果你是正在 GitHub 上探索 Tesseract OCR 的 C# 開發人員,那麼你想要的可能不僅僅是程式碼。 你需要的是一個開箱即用、附帶可運行範例且背後有活躍社群支援的函式庫。 可靠的整合和完善的版本控制同樣重要。

這時IronOCR就派上用場了。 在本指南中,我將逐步向您展示如何將 IronOCR 整合到您的 GitHub 專案中,以便您可以輕鬆處理圖像和 PDF 中的文字辨識。 無論您的目標是抓取純文字、提取結構化的單字和行,還是產生可搜尋的 PDF以進行存檔,IronOCR 都能滿足您的需求。 此函式庫的綜合功能支援從條碼讀取多語言 OCR 的所有功能。

我該如何開始使用 IronOCR 和 GitHub?

IronOCR 是一款出色的全面性OCR 解決方案,可與基於 GitHub 的開發工作流程和 .NET Core 專案無縫協作。 與需要複雜配置的原始 Tesseract 實作不同,IronOCR 提供了一個精細的 API,讓您在幾分鐘內即可開始運行。 對於剛接觸光學字元辨識概念的人來說,IronOCR 的綜合文件涵蓋了從基本文字提取高級影像處理的所有內容。 該庫內建了對影像濾鏡OCR 優化技術的支援。

我應該使用哪種安裝方法?

首先透過 NuGet 套件管理器安裝 IronOCR:

Install-Package IronOcr

Visual Studio 中的 NuGet 套件管理器視窗顯示了 IronOCR 套件的搜尋結果,其中包含可供安裝的各種語言套件

!{--010011000100100101000010010100100100000101010010010110010101111101001110010101010101010101010101010101010101010 0100010111110100100101001101010100010000010100110001001100010111110100001001001100010011110010101010

對於進階安裝場景,請參閱NuGet 套件指南。 如果您要部署到特定平台,請查看WindowsLinuxmacOS甚至Docker 容器的指南。

哪裡可以找到範例程式碼?

IronOCR維護多個GitHub倉庫,其中包含範例和教學。 IronOCR 官方範例庫提供了真實世界的實現,而圖像轉文字教學庫則展示了您可以複製和修改的實際用例。 這些儲存庫展示了OCR 條碼讀取多語言支援PDF 處理功能。 由於 NuGet 上經常發佈軟體包,您將始終能夠存取最新的穩定版本。 演示部分提供了更多互動式範例。

流程圖展示了 OCR 處理流程:GitHub OCR 程式碼庫 → IronOCR 專案 → OCR 處理 → 擷取的文字輸出

如何在GitHub上建立我的第一個OCR專案?

讓我們建立一個適合在 GitHub 上分享的綜合性 OCR 應用程式。 在 Visual Studio(或您首選的 IDE)中,建立一個新的控制台應用程序,專案結構如下,並遵循OCR 開發的最佳實踐:

我應該採用哪種專案結構?

MyOcrProject/
├── src/
│   └── OcrProcessor.cs
├── images/
│   └── sample-invoice.jpg
├── .gitignore
├── README.md
└── MyOcrProject.csproj

該結構支援多種輸入格式,包括JPG、PNG、TIFF 和 BMP 。 IronOCR 可以自動處理多頁 TIFFGIF 檔案

如何實作OCR處理程式碼?

以下是一個完整的 C# 程式碼範例,展示了 IronOCR 處理器的關鍵功能,包括影像預處理文字擷取條碼偵測

using IronOcr;
using System;
using System.IO;
namespace MyOcrProject
{
    public class OcrProcessor
    {
        private readonly IronTesseract _ocr;
        public OcrProcessor()
        {
            _ocr = new IronTesseract();
            // Configure for optimal accuracy
            _ocr.Configuration.ReadBarCodes = true;
            _ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
            _ocr.Language = OcrLanguage.English;
        }
        public void ProcessDocument(string imagePath)
        {
            using var input = new OcrInput();
            // Load and preprocess the image
            input.LoadImage(imagePath);
            input.Deskew();  // Straighten rotated images
            input.DeNoise(); // Remove digital noise
            input.EnhanceResolution(225); // Optimize DPI for OCR
            // Perform OCR
            var result = _ocr.Read(input);
            // Output results
            Console.WriteLine($"Confidence: {result.Confidence}%");
            Console.WriteLine($"Text Found:\n{result.Text}");
            // Process any barcodes found
            foreach (var barcode in result.Barcodes)
            {
                Console.WriteLine($"Barcode: {barcode.Value} ({barcode.Format})");
            }
            // Save as searchable PDF
            result.SaveAsSearchablePdf("output.pdf");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            var processor = new OcrProcessor();
            processor.ProcessDocument("images/sample-invoice.jpg");
        }
    }
}
using IronOcr;
using System;
using System.IO;
namespace MyOcrProject
{
    public class OcrProcessor
    {
        private readonly IronTesseract _ocr;
        public OcrProcessor()
        {
            _ocr = new IronTesseract();
            // Configure for optimal accuracy
            _ocr.Configuration.ReadBarCodes = true;
            _ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
            _ocr.Language = OcrLanguage.English;
        }
        public void ProcessDocument(string imagePath)
        {
            using var input = new OcrInput();
            // Load and preprocess the image
            input.LoadImage(imagePath);
            input.Deskew();  // Straighten rotated images
            input.DeNoise(); // Remove digital noise
            input.EnhanceResolution(225); // Optimize DPI for OCR
            // Perform OCR
            var result = _ocr.Read(input);
            // Output results
            Console.WriteLine($"Confidence: {result.Confidence}%");
            Console.WriteLine($"Text Found:\n{result.Text}");
            // Process any barcodes found
            foreach (var barcode in result.Barcodes)
            {
                Console.WriteLine($"Barcode: {barcode.Value} ({barcode.Format})");
            }
            // Save as searchable PDF
            result.SaveAsSearchablePdf("output.pdf");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            var processor = new OcrProcessor();
            processor.ProcessDocument("images/sample-invoice.jpg");
        }
    }
}
$vbLabelText   $csharpLabel

這個綜合範例展示了 IronOCR 的多項功能。 建構函式配置 OCR 引擎,啟用條碼讀取和自動頁面分割功能。 ProcessDocument方法展示了影像預處理,包括去斜(校正旋轉)、去雜訊(去除偽影)和解析度增強。 處理後,它提取帶有置信度分數的英文文本,識別條碼,並產生可搜尋的 PDF

對於進階場景,您可以利用OcrInput 類別進行更多控制,使用非同步處理以獲得更好的效能,或為長時間運行的操作實現進度追蹤OcrResult 類別提供詳細的輸出數據,包括文字位置和OCR 結果

開發者還可以輕鬆設定 IronOCR 來讀取其他語言,例如中文、西班牙語或法語,使其成為多語言 GitHub 專案的多功能選擇。 有關安裝其他語言套件的參考資料,請參閱125 種國際語言指南。 您甚至可以使用自訂語言檔案訓練自訂字體

分割畫面顯示 OCR 示範:左側顯示白色背景上的傾斜 Lorem Ipsum 文字,右側顯示 Visual Studio 偵錯控制台,其中包含提取的文字輸出和 87.34% 的置信度得分。

我應該在 .gitignore 檔案中新增哪些內容?

在你的 .gitignore 檔案中加入以下內容:

# IronOCR runtime files
runtimes/
# Test images and outputs
*.pdf
test-images/
output/
# License keys
appsettings.*.json

了解更多關於IronOCR 運行時資料夾和正確的許可證密鑰管理的資訊。

為什麼我應該選擇 IronOCR 來處理我的 GitHub 專案?

IronOCR 為在 GitHub 上維護 OCR 專案的開發者提供了獨特的優勢。 該庫開箱即用,無需手動訓練或複雜的配置文件,即可達到 99.8% 的準確率,而不會使存儲庫變得雜亂無章。 支援125 多種語言,您的 GitHub 專案無需修改即可服務國際用戶。 相容性功能確保跨平台部署,支援 Windows、Linux、macOS 以及AzureAWS等雲端平台。

IronOCR 與其他 OCR 解決方案有何不同?

IronOCR 非常靈活,能夠識別單字、行和整個段落,讓您可以控制從每次掃描中提取的細節量。 圖書館擅長處理各種特殊文件類型,包括車牌護照MICR支票手寫文字、螢幕截圖掃描文檔,甚至文件中的表格

商業許可為公共儲存庫提供了法律上的明確性。 您被明確允許在商業應用中包含 IronOCR。 內建影像預處理濾鏡包括進階選項,例如色彩校正品質增強,以及強大的濾鏡嚮導,可自動找到最佳設定。

單 DLL 架構為何如此重要?

IronOCR 的單一 DLL 架構意味著貢獻者可以複製您的儲存庫並立即開始開發,而無需像其他 OCR 解決方案那樣處理原生依賴項或平台特定的配置。 正是這種簡潔性使得開發者選擇IronOCR 而不是原始的 Tesseract 。 該庫包含Tesseract 5 ,具有多項效能改進和多執行緒支援

OCR專案的版本控制最佳實務是什麼?

在 GitHub 上管理 OCR 專案時,對於大型測試映像,請使用Git LFS 。 對於處理PDF 流影像流,請考慮使用System.Drawing 物件以更好地進行記憶體管理。

如何在 Git 中處理大檔案?

git lfs track "*.jpg" "*.png" "*.tiff"
git add .gitattributes
git lfs track "*.jpg" "*.png" "*.tiff"
git add .gitattributes
$vbLabelText   $csharpLabel

在處理高解析度影像或多頁 TIFF 檔案時,這一點尤其重要。 對於低品質掃描,IronOCR 的預處理可以顯著改善結果。

我應該如何管理許可證密鑰和文件?

使用環境變數或使用者金鑰安全地儲存 IronOCR 許可證金鑰,切勿直接提交。 請按照IronOCR 許可證密鑰指南進行正確實施。 您也可以在 ASP.NET 應用程式的web.config 檔案中設定許可證。 請在 README 檔案中說明支援的影像格式和預期精度。 在測試資料資料夾中包含範例影像,供貢獻者驗證 OCR 功能。 對於跨平台開發,請參閱IronOCR Linux 設定指南macOS 安裝說明。 行動開發者應該查看Android 指南iOS 指南

對於進階功能,文件中介紹了電腦視覺在文字檢測、頁面旋轉檢測hOCR 匯出以及長時間運行操作的超時配置方面的應用。 考慮為可取消的操作實現中止令牌

常見的故障排除技巧有哪些?

為什麼Windows系統上的OCR功能無法正常運作?

常見的安裝問題包括 Windows 系統缺乏Visual C++ 可再發行元件套件。 IronOCR 需要 2019 版本。 有關詳細指導,請參閱Visual C++ Redistributable 故障排除指南。 對於 Linux 部署,請確保已安裝 libgdiplus 。 如果文字辨識效果不佳,請使用DPI 設定指南驗證您的影像是否至少為 200 DPI。 Stack Overflow上的 C# OCR 社群也為常見的 GitHub 專案問題提供了有用的解決方案。

如需具體問題,請參閱有關一般故障排除Azure Functions 部署AWS Lambda 問題或 .NET 7+ 的System.Drawing 替代方案的指南。 IronOCR實用工具可以幫助診斷配置問題。

我可以在哪裡獲得更多幫助?

如需詳細故障排除信息,請參閱IronOCR 故障排除指南。 IronOCR支援團隊為使用 GitHub 託管的 OCR 應用程式的授權使用者提供快速協助。 請查看產品變更日誌以取得最新更新,並查看API 參考文件以取得完整文件。

下一步是什麼?

IronOCR 透過其直覺的 API、全面的預處理和可靠的準確性,簡化了 C# GitHub 專案中的 OCR 實作。 從上面的程式碼範例入手,探索官方程式碼庫,建立能夠利用 GitHub 協作功能的強大文件處理應用程式。 無論您是建立MAUI 應用程式、處理專用文檔,還是用一行程式碼實作 OCR ,IronOCR 都能為您提供所需的工具。

下載IronOCR 的免費試用版,即可進行商業部署。 探索各種授權選項,包括擴展升級,以滿足您團隊的需求。

常見問題解答

OCR C# GitHub教學的主要目的是什麼?

本 OCR C# GitHub 教學的主要目的是指導開發者使用 IronOCR 在 GitHub 專案中實現文字辨識功能。教程包含程式碼範例和版本控制技巧。

IronOCR 如何增強我在 GitHub 上的 C# 專案?

IronOCR 可以透過提供強大的文字辨識功能來增強您在 GitHub 上的 C# 項目,讓您能夠高精度地從圖像中提取和處理文字。

使用 IronOCR 進行文字辨識有哪些優點?

IronOCR 為文字辨識提供了許多優勢,包括易用性、高精度以及與 C# 專案的無縫集成,使其成為處理基於圖像的文字資料的開發人員的理想選擇。

OCR C# GitHub 教學中是否有任何程式碼範例?

是的,GitHub 上的 OCR C# 教學包含了程式碼範例,示範如何在專案中使用 IronOCR 實作文字辨識。

教程中提供了哪些版本控制技巧?

本教學提供版本控制技巧,幫助您在整合 IronOCR 時有效管理專案中的變更,確保順利協作和專案維護。

IronOCR 可以用於即時文字辨識應用嗎?

是的,IronOCR 可以用於即時文字辨識應用,這得益於其高效的處理能力和對各種影像格式的支援。

IronOCR 支援哪些圖像格式進行文字辨識?

IronOCR 支援多種影像格式的文字識別,包括 JPEG、PNG、BMP、GIF 和 TIFF,確保與大多數影像來源相容。

IronOCR是否有試用版可供測試?

是的,IronOCR 提供試用版,開發者可以在購買前測試其功能和效能。

IronOCR 如何處理不同語言的文字辨識?

IronOCR 支援多種語言的文字識別,使開發人員能夠輕鬆地從圖像中提取各種語言的文字。

在 C# 專案中使用 IronOCR 有哪些系統需求?

IronOCR 與 .NET Framework 和 .NET Core 相容,可輕鬆整合到 C# 專案中,而無需佔用大量系統資源。

坎納奧帕特·烏東潘特
軟體工程師
在成為軟體工程師之前,Kannapat 在日本北海道大學完成了環境資源專業的博士學位。在攻讀博士學位期間,他還加入了生物生產工程系下屬的車輛機器人實驗室。 2022 年,他憑藉 C# 技能加入了 Iron Software 的工程團隊,專注於 IronPDF 的開發。 Kannapat 非常珍惜這份工作,因為他可以直接向 IronPDF 大部分程式碼的編寫者學習。除了與同事學習之外,Kannapat 也享受在 Iron Software 工作的社交氛圍。工作之餘,Kannapat 通常會玩 PS5 遊戲或重溫《最後生還者》。