跳過到頁腳內容
使用 IRONOCR

如何在 C# GitHub 專案中整合 OCR

立即開始使用 IronOCR。
green arrow pointer

如果您是 C# 開發人員,在 GitHub 上探索 Tesseract OCR,很可能您不僅僅是想要代碼。 您希望擁有一個實際開箱即用的庫,附帶可運行的示例,並且具有活躍的社區支持。 可靠的集成和堅實的版本控制同樣重要。

這就是 IronOCR 的用武之地。 在本指南中,我將帶您了解如何將 IronOCR 插入到您的 GitHub 項目中,以便您輕鬆處理圖像和 PDF 中的文本識別。 無論您的目標是獲取純文本,提取結構化單詞和行,甚至生成可搜索的 PDF 以供存檔,IronOCR 都能滿足您的需求。

開始使用 IronOCR 和 GitHub

IronOCR 作為完整的 OCR 解決方案脫穎而出,可以無縫配合基於 GitHub 的開發工作流程和 .NET Core 項目。 與需要複雜配置的原始 Tesseract 實現不同,IronOCR 提供了一種精緻的 API,可以在幾分鐘內讓您運行。 For those new to optical character recognition concepts, IronOCR's comprehensive documentation covers everything from basic text extraction to advanced image processing.

首先通過 NuGet 包管理器安裝 IronOCR:

Install-Package IronOcr

如何在 C# GitHub 項目中集成 OCR 具有 IronOCR:圖 1 - IronOCR NuGet 安裝頁面

NuGet 用 NuGet 安裝

PM >  Install-Package IronOcr

NuGet 查看 https://www.nuget.org/packages/IronOcr 以快速安裝。超過 1000 萬次下載,它正在用 C# 改變 PDF 開發。 您還可以下載 DLLWindows 安裝程序

IronOCR 維護了多個 GitHub 存儲庫,附帶示例和教程。 The official IronOCR Examples repository provides real-world implementations, while the Image to Text tutorial repository demonstrates practical use cases you can clone and modify. These repositories showcase OCR with barcode reading, multi-language support, and PDF processing. 由於在 NuGet 上發佈的頻繁包,您將始終可以訪問最新的穩定版本。

如何在 C# GitHub 項目中集成 OCR 具有 IronOCR:圖 2 - 從 GitHub 儲存庫到文本提取的 OCR 處理管道的基本概述

在 GitHub 上創建您的第一個 OCR 項目

讓我們構建一個適合 GitHub 分享的全面 OCR 應用程序。 在 Visual Studio(或您首選的 IDE)中,創建具有此項目結構的新控制台應用程序:

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

這是展示 IronOCR 關鍵功能的 OCR 處理器的完整 C# 代碼示例:

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");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

這個綜合示例展示了幾個 IronOCR 能力。 構造函數配置了啟用條碼讀取和自動頁面分割的 OCR 引擎。 ProcessDocument 方法通過去偏(調整旋轉)、去噪(去除人為痕跡)和分辨率增強來演示圖像預處理。 After processing, it extracts English text with confidence scores, identifies barcodes, and generates a searchable PDF. 開發人員還可以輕鬆配置 IronOCR 以讀取其他語言,如中文、西班牙文或法文,使其成為適用於多語言 GitHub 項目的多功能選擇。 有關安裝附加語言包的參考,請參考這裡

如何在 C# GitHub 項目中集成 OCR 具有 IronOCR:圖 3 - 傾斜的輸入圖像與提取的輸出

對於您的 .gitignore 文件,請包括:

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

為什麼選擇 IronOCR 用於您的 GitHub 項目

IronOCR 為在 GitHub 上維護 OCR 項目的開發人員提供了明顯的優勢。 該庫開箱即用即達到 99.8% 的準確率,無需手動訓練或復雜的配置文件來混淆儲存庫。 支持125 多種語言,您的 GitHub 項目可以在不做修改的情況下為國際用戶服務。

IronOCR 足夠靈活,可以識別單個單詞、行和完整段落,讓您掌控每次掃描所提取的細節。

商業許可證為公共儲存庫提供法律明晰。 因為您被明確允許將 IronOCR 包含在商業應用程序中。 內置的圖像預處理過濾器

IronOCR 的單 DLL 架構意味著貢獻者可以克隆您的儲存庫並立即開始開發,而不必糾結於其他 OCR 解決方案中困擾的本機依賴項或平台特定配置。

OCR 項目的版本控制最佳實踐

在 GitHub 上管理 OCR 項目時,對於大型測試圖像請使用Git LFS

git lfs track "*.jpg" "*.png" "*.tiff"
git add .gitattributes
git lfs track "*.jpg" "*.png" "*.tiff"
git add .gitattributes
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

使用環境變量或用戶機密安全地存儲 IronOCR 許可證密鑰,切勿直接提交它們。 請遵循IronOCR 許可證密鑰指南以便進行正確實現。 在您的 README 中記錄支持的圖像格式和預期的準確性。 在 test-data 文件夾中包含示例圖像,便於貢獻者驗證 OCR 功能。 For cross-platform development, refer to the IronOCR Linux setup guide or macOS installation instructions.

快速故障排除提示

常見的設置問題包括在 Windows 上缺少Visual C++ 可再發佈項,IronOCR 需要 2019 版本。 在 Linux 部署中,確保安裝了 libgdiplus。 如果文本識別效果不佳,請確保您的圖像至少有 200 DPI。 C# OCR 社區在Stack Overflow 上也提供了對 GitHub 項目常見問題的有用解決方案。

有關詳細故障排除,請參閱IronOCR 故障排除指南。 IronOCR 支持團隊為 GitHub 托管的 OCR 應用程序的許可用戶提供快速支持。

結論

IronOCR 通過直觀的 API、全面的預處理和可靠的準確性簡化了 C# GitHub 項目中的 OCR 實現。 從上面的代碼示例開始,探索官方儲存庫,並構建利用 GitHub 協作功能的強大文檔處理應用程序。

下載IronOCR 的免費試用版以進行商業部署。

常見問題解答

OCR C# GitHub 教程的主要目的是什麽?

OCR C# GitHub 教程的主要目的是指导开发人员在 GitHub 项目中使用 IronOCR 实现文本识别。它包括代码示例和版本控制技巧。

IronOCR 如何增强我在 GitHub 上的 C# 项目?

IronOCR 可以通过提供强大的文本识别功能来增强您在 GitHub 上的 C# 项目,使您能够高精度提取和操作图像中的文本。

使用 IronOCR 进行文本识别有什么好处?

IronOCR 提供多种文本识别的好处,包括易用性、高精度、与 C# 项目的无缝集成,是开发人员处理基于图像的文本数据的理想选择。

OCR C# GitHub 教程中有没有提供代码示例?

是的,OCR C# GitHub 教程包括代码示例,演示如何在项目中使用 IronOCR 实现文本识别。

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

该教程提供版本控制提示,以帮助在集成 IronOCR 时有效地管理项目中的更改,确保流畅的协作和项目维护。

我可以将 IronOCR 用于实时文本识别应用程序吗?

是的,由于其高效的处理能力和对各种图像格式的支持,IronOCR 可用于实时文本识别应用程序。

IronOCR 支持哪些图像格式的文本识别?

IronOCR 支持包括 JPEG、PNG、BMP、GIF 和 TIFF 在内的多种图像格式进行文本识别,确保与大多数图像来源兼容。

是否有 IronOCR 的试用版可供测试?

是的,IronOCR 提供试用版,允许开发人员在项目中测试其功能和性能,然后再做出购买决定。

IronOCR 如何处理文本识别中的不同语言?

IronOCR 支持多种语言的文本识别,使开发人员能够轻松从各种语言的图像中提取文本。

在 C# 项目中使用 IronOCR 的系统要求是什么?

IronOCR 兼容 .NET Framework 和 .NET Core,可以轻松集成到 C# 项目中而不需要大量系统资源。

Kannaopat Udonpant
軟體工程師
在成為软件工程師之前,Kannapat 從日本北海道大學完成了環境資源博士學位。在追逐學位期间,Kannapat 還成為了生產工程系一部份——汽車机器人实验室的成員。2022 年,他利用他的 C# 技能加入 Iron Software 的工程團隊, 專注於 IronPDF。Kannapat 珍惜他的工作,因为他直接向编写大部分 IronPDF 使用的代码的开发者学习。除了同行学习,Kannapat 还喜欢在 Iron Software 工作的社交十环。当他不编写代码或文档时,Kannapat 通常在他的 PS5 上打游戏或重看《The Last of Us》。