フッターコンテンツにスキップ
IRONOCRの使い方

IronOCRを使用してC# GitHubプロジェクトにOCRを統合する方法

今IronOCRを始めましょう。
green arrow pointer

GitHub で Tesseract OCR を検討している C# 開発者であれば、おそらくコード以上のものを求めているでしょう。 実際にすぐに使用でき、実行できる例が付属し、アクティブなコミュニティが背後にあるライブラリが必要です。 信頼性の高い統合と堅牢なバージョン管理も同様に重要です。

ここでIronOCRが役立ちます。 このガイドでは、IronOCR を GitHub プロジェクトにプラグインして、画像や PDF 内のテキスト認識を簡単に処理できるようにする方法について説明します。 プレーンテキストの取得、構造化された単語や行の抽出、さらにはアーカイブ用の検索可能な PDF の生成など、どのような目的であっても、IronOCR が対応します。

IronOCRとGitHubを使い始める

IronOCR は、GitHub ベースの開発ワークフローや .NET Core プロジェクトとシームレスに連携する包括的な OCR ソリューションとして際立っています。 複雑な構成を必要とする生の Tesseract 実装とは異なり、IronOCR は数分で実行できる洗練された API を提供します。 光学文字認識の概念を初めて知る人のために、IronOCR の包括的なドキュメントには、基本的なテキスト抽出から高度な画像処理まですべてが網羅されています。

まず、NuGet パッケージ マネージャーを使用して IronOCR をインストールします。

Install-Package IronOcr

IronOCRを使ってC# GitHubプロジェクトにOCRを統合する方法: 図1 - IronOCR NuGetインストールページ

NuGet 購入の準備ができていませんか?

PM >  Install-Package IronOcr

IronOCRNuGet でチェックしてください。1000万回以上のダウンロードで、C#によるPDF開発を変革しています。 DLL または Windowsインストーラー をダウンロードすることもできます。

IronOCR は、例とチュートリアルを含む複数の GitHub リポジトリを管理しています。 公式のIronOCR サンプル リポジトリでは実際の実装が提供されており、 Image to Text チュートリアル リポジトリでは複製して変更できる実用的な使用例が示されています。 これらのリポジトリには、バーコード読み取り多言語サポートPDF 処理を備えた OCR が紹介されています。 NuGet で頻繁にパッケージが公開されるため、常に最新の安定したビルドにアクセスできます。

IronOCRを使ってC# GitHubプロジェクトにOCRを統合する方法: 図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 メソッドは、傾き補正(回転の修正)、ノイズ除去 (アーティファクトの除去)、解像度の向上による画像の前処理を示します。 処理後、信頼スコア付きの英語のテキストを抽出し、バーコードを識別し、検索可能な PDFを生成します。 開発者は、中国語、スペイン語、フランス語などの他の言語を読み取るように IronOCR を簡単に設定することもできるため、多言語 GitHub プロジェクトにとって多目的な選択肢となります。 追加の言語パックのインストールに関するリファレンスについては、ここを参照してください。

IronOCRを使ってC# GitHubプロジェクトにOCRを統合する方法: 図3 - 歪んだ入力画像と抽出された出力

.gitignore ファイルには以下を含めます。

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

GitHubプロジェクトにIronOCRを選ぶ理由

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 に記載します。 貢献者が OCR 機能を検証できるように、サンプル画像をテスト データ フォルダーに含めます。 クロスプラットフォーム開発については、 IronOCR Linux セットアップ ガイドまたはmacOS インストール手順を参照してください。

簡単なトラブルシューティングのヒント

一般的なセットアップの問題としては、Windows でVisual C++ 再頒布可能パッケージが見つからないことや、IronOCR では 2019 バージョンが必要であることなどが挙げられます。 Linux 展開の場合は、libgdiplus がインストールされていることを確認してください。 テキスト認識率が低いと思われる場合は、画像が少なくとも 200 DPI であることを確認してください。 Stack Overflowの C# OCR コミュニティでは、一般的な GitHub プロジェクトの問題に対する役立つ解決策も提供しています。

詳細なトラブルシューティングについては、 IronOCR トラブルシューティング ガイドを参照してください。 IronOCRサポート チームは、GitHub でホストされる OCR アプリケーションで作業するライセンス ユーザーに迅速な支援を提供します。

結論

IronOCR は、直感的な API、包括的な前処理、信頼性の高い精度により、C# GitHub プロジェクトでの OCR 実装を簡素化します。 上記のコード例から始めて、公式リポジトリを調べ、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は北海道大学で環境資源の博士号を修了しました。博士号を追求する間に、彼はバイオプロダクションエンジニアリング学科の一部である車両ロボティクスラボラトリーのメンバーになりました。2022年には、C#のスキルを活用してIron Softwareのエンジニアリングチームに参加し、IronPDFに注力しています。Kannapatは、IronPDFの多くのコードを執筆している開発者から直接学んでいるため、この仕事を大切にしています。同僚から学びながら、Iron Softwareでの働く社会的側面も楽しんでいます。コードやドキュメントを書いていない時は、KannapatはPS5でゲームをしたり、『The Last of Us』を再視聴したりしていることが多いです。