跳至页脚内容
使用 IRONOCR

如何在 C# GitHub 项目中集成 OCR 使用 IronOCR

立即开始使用 IronOCR。
green arrow pointer

如果您是 C# 开发人员,在 GitHub 上探索 Tesseract OCR,您可能不仅仅是在寻找代码。 您需要的是一个开箱即用的库,附带可运行的示例,并拥有活跃的社区支持。 可靠的集成和稳固的版本控制同样重要。

这就是 IronOCR 的用武之地。 在本指南中,我将引导您如何将 IronOCR 插入您的 GitHub 项目中,这样您可以轻松处理图像和 PDF 中的文本识别。 无论您的目标是获取纯文本,提取结构化单词和行,还是甚至生成可搜索的 PDF 以便归档,IronOCR 都能满足您的需求。

开始使用 IronOCR 和 GitHub

IronOCR 脱颖而出,作为一个全面的 OCR 解决方案,能够无缝搭配 GitHub 基于的开发工作流和 .NET Core 项目使用。 与需要复杂配置的原生 Tesseract 实现不同,IronOCR 提供了一个精炼的 API,只需几分钟即可运行。 对于光学字符识别概念的新手,IronOCR 的全面文档涵盖了从基本文本提取高级图像处理的所有内容。

首先通过 NuGet 软件包管理器安装 IronOCR:

Install-Package IronOcr

如何在 C# GitHub 项目中集成 OCR 和 IronOCR:图 1 - IronOCR NuGet 安装页面

NuGet 使用 NuGet 安装

PM >  Install-Package IronOcr

IronOCR 上查看 NuGet 快速安装。超过 1000 万次下载,它正以 C# 改变 PDF 开发。 您也可以下载 DLLWindows 安装程序

IronOCR 在 GitHub 上维护了多个示例和教程库。 官方的IronOCR 示例库提供了实际应用实现,而图像到文本教程库展示了您可以克隆和修改的实用用例。 这些仓库展示了带条码读取的 OCR多语言支持PDF 处理。 得益于在 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

这是一个完整的 C# 代码示例,展示了 IronOCR 的 OCR 处理器关键功能:

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 方法展示了通过去斜(校正旋转)、去噪(去除伪影)和提高分辨率进行图像预处理。 处理后,它以置信度分数提取英文文本,识别条码,并生成可搜索 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 功能。 对于跨平台开发,请参考IronOCR Linux 设置指南macOS 安装说明

快速故障排除提示

常见设置问题包括 Windows 上缺少Visual C++ 可再发行包,IronOCR 需要 2019 版本。 对于 Linux 部署,请确保安装 libgdiplus。 如果文本识别效果不佳,请验证您的图像至少为 200 DPI。 C# OCR 社区在Stack Overflow上也为常见的 GitHub 项目问题提供了有用的解决方案。

有关详细故障排除,请查阅IronOCR 故障排除指南IronOCR 支持团队为在 GitHub 上托管 OCR 应用程序的授权用户提供快速支持。

结论

IronOCR 简化了 C# GitHub 项目中的 OCR 实现,通过其直观的 API、全面的预处理和可靠的准确性。 从上面的代码示例开始,探索官方仓库,并构建利用 GitHub 协作功能的强大文档处理应用程序。

下载IronOCR 的免费试用版以进行商业部署。

常见问题解答

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

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

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 上玩游戏或重温《最后生还者》。