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

OCR C# GitHub: IronOCRによるテキスト認識

IronOCRは、99.8%の精度、組み込みの前処理、125以上の言語のサポートを備えた単一のDLLソリューションを提供することで、C# GitHubプロジェクトへのOCR統合を簡素化し、生のTesseract実装に必要な複雑な設定を排除します。

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

もしあなたがGitHubでOCRオプションを検討しているC#開発者なら、おそらくコード以上のものが必要になるでしょう。 すぐに使えるライブラリ、実行可能なサンプルが付属し、活発なコミュニティが支えているライブラリを求めているのですね。 信頼性の高い統合と確実なバージョン管理は、正確性と同じくらい重要です。 このガイドでは、 IronOCRをGitHubプロジェクトに組み込む方法を詳しく説明し、画像やPDF内のテキスト認識を自信を持って処理できるようにします。

プレーンテキストの抽出、構造化された単語や行の抽出、アーカイブ用の検索可能なPDFの生成など、目的が何であれ、 IronOCRはそれらすべてに対応します。 このライブラリは、バーコード読み取りから125以上の言語に対応した多言語OCRまで、あらゆる機能をサポートしています。

IronOCRとGitHubを使い始めるにはどうすればいいですか?

IronOCRは、GitHubベースの開発ワークフローに自然に統合できる.NETのOCRソリューションです。 複雑な構成を必要とする生の Tesseract 実装とは異なり、IronOCR は数分で実行できる洗練された API を提供します。

光学文字認識を初めて使う方のために、IronOCRのドキュメントは基本的なテキスト抽出から高度な画像処理まで、あらゆる内容を網羅しています。 このライブラリには、通常であれば大幅な手動調整が必要となる画像フィルタやOCR最適化技術のサポートが組み込まれています。

開発者がGitHubプロジェクトでIronOCRを選ぶ理由の一つは、予測可能性の高さにある。 貢献者があなたのリポジトリをクローンしてプロジェクトを実行した際、OCRエンジンは貢献者のマシン上で全く同じように動作する必要があります。IronOCRの自己完結型アーキテクチャにより、プラットフォーム固有のネイティブバイナリをリポジトリに固定することなく、これが可能になります。

どのインストール方法を使用すべきですか?

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

Install-Package IronOcr

 Visual Studio のNuGetパッケージ マネージャー ウィンドウには、インストール可能なさまざまな言語パックを含むIronOCRパッケージの検索結果が表示されています。

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

PM >  Install-Package IronOcr

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

高度なインストール手順については、 NuGetパッケージ ガイドを参照してください。 特定のプラットフォームにデプロイする場合は、 WindowsLinux 、macOS、またはDockerコンテナに関するガイドを参照してください。

サンプルコードはどこで入手できますか?

IronOCRは、サンプルやチュートリアルを掲載した公式GitHubリポジトリを管理しています。 IronOCR Examplesリポジトリには実際の実装例が掲載されており、 Image to Textチュートリアルリポジトリには、複製して変更できる実用的なユースケースが示されています。

これらのリポジトリは、バーコード読み取り機能を備えたOCR、多言語対応、およびPDF処理機能を紹介しています。 IronOCRは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など、さまざまな入力フォーマットをサポートしています。複数ページのTIFFファイルやGIFファイルの処理については、 IronOCRが自動的に対応します。

images/フォルダはサンプルファイルを整理し、ルートディレクトリを散らかすことなく、貢献者がテストイメージを簡単に追加できるようにします。 src/フォルダを構成ファイルとは別に保つことで、プロジェクトを一目で読みやすくなります。 プロジェクトの内容、設定するライセンスキー変数、サンプルの実行方法を説明する README.md を追加してください。

OCR処理コードはどのように実装するのですか?

以下の例は、画像前処理、テキスト抽出、バーコード検出など、IronOCRの主要機能を実証する完全なOCRプロセッサを示しています。

using IronOcr;

var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
ocr.Language = OcrLanguage.English;

using var input = new OcrInput();
input.LoadImage("images/sample-invoice.jpg");
input.Deskew();
input.DeNoise();
input.EnhanceResolution(225);

var result = ocr.Read(input);

Console.WriteLine($"Confidence: {result.Confidence}%");
Console.WriteLine($"Text Found:\n{result.Text}");

foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"Barcode: {barcode.Value} ({barcode.Format})");
}

result.SaveAsSearchablePdf("output.pdf");
using IronOcr;

var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
ocr.Language = OcrLanguage.English;

using var input = new OcrInput();
input.LoadImage("images/sample-invoice.jpg");
input.Deskew();
input.DeNoise();
input.EnhanceResolution(225);

var result = ocr.Read(input);

Console.WriteLine($"Confidence: {result.Confidence}%");
Console.WriteLine($"Text Found:\n{result.Text}");

foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"Barcode: {barcode.Value} ({barcode.Format})");
}

result.SaveAsSearchablePdf("output.pdf");
$vbLabelText   $csharpLabel

この例は、 IronOCRのいくつかの機能を示しています。 コンストラクタは、バーコード読み取りと自動ページ分割を有効にした状態でOCRエンジンを設定します。 前処理パイプラインでは、傾き補正(回転の補正)、ノイズ除去(アーティファクトの除去)、および解像度向上処理が行われます。

処理後、エンジンは信頼度スコア付きの英語テキストを抽出し、バーコードを識別し、検索可能なPDFを生成します。 コードは.NET 10のトップレベルステートメントを使用して記述されており、サンプルを短く読みやすくしています。

より高度なシナリオでは、スループットを向上させるために非同期処理を使用したり、長時間実行される操作の進捗状況を追跡する機能を実装したりできます。 OcrResult クラスは、テキストの位置、単語の座標、段落構造など、詳細な出力を提供します。これにより、単なるテキスト文字列以上の情報が得られます。

開発者はIronOCRを設定して、中国語、スペイン語、フランス語などの他の言語を読み取ることもできるため、多言語対応のGitHubプロジェクトにとって有力な選択肢となる。 追加の言語パックのインストール方法については、" 125の国際言語ガイド"を参照してください。

OCRデモを表示する分割画面:左側には白い背景に歪んだLorem Ipsumテキストが表示され、右側には抽出されたテキスト出力と信頼度スコア87.34%のVisual Studioデバッグコンソールが表示されます

.gitignoreファイルには何を含めるべきですか?

.gitignore ファイルには、実行時成果物、テスト出力、および秘密の設定がコミットされないようにするエントリを含めてください。

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

IronOCRはビルド時にプラットフォーム固有のバイナリをダウンロードするため、runtimes/フォルダをソース管理から除外することが特に重要です。これらをコミットすると、リポジトリのサイズが大きくなり、プラットフォーム間の競合が発生します。 適切な実装のために、ライセンスキー管理について詳しく学びましょう。

GitHubプロジェクトにIronOCRを選ぶべき理由とは?

IronOCR は、GitHub で OCR プロジェクトを管理する開発者に明確な利点を提供します。 このライブラリは、手動によるトレーニングやリポジトリを乱雑にする複雑な構成ファイルを必要とせずに、すぐに 99.8% の精度を実現します。 125以上の言語に対応しているため、 GitHubプロジェクトは変更を加えることなく、世界中のユーザーにサービスを提供できます。

互換性機能により、Windows、Linux、macOS、およびAzureAWSなどのクラウドプラットフォーム間でのクロスプラットフォーム展開が保証されます。 このクロスプラットフォーム対応は、貢献者が異なるオペレーティングシステム上で作業する可能性のあるオープンソースプロジェクトやチームプロジェクトにとって非常に重要です。

IronOCRは他のOCRソリューションと何が違うのか?

IronOCRは、個々の単語、行、段落全体を認識できる柔軟性を備えているため、各スキャンからどれだけの詳細情報を抽出するかを正確に制御できます。 このライブラリは、ナンバープレート、パスポート、手書き文字、スクリーンショット、スキャンされた文書など、特殊な種類の文書の取り扱いに優れています。

商用ライセンスは、パブリックリポジトリに法的明確性を提供します。 IronOCRを商用アプリケーションに組み込むことは明示的に許可されています。 内蔵の画像前処理フィルターには、色補正、画質向上などの高度なオプションに加え、難しい画像に対して最適な設定を自動的に見つけるフィルターウィザードも含まれています。

シングルDLLアーキテクチャが重要な理由とは?

IronOCR の単一 DLL アーキテクチャにより、貢献者は、他の OCR ソリューションで問題となるネイティブ依存関係やプラットフォーム固有の構成に悩まされることなく、リポジトリを複製してすぐに開発を開始できます。 このシンプルさこそが、開発者がTesseractの生データではなくIronOCRを選ぶ理由です。

セットアップ手順を比較すると、Tesseractをそのまま実装する場合、通常はネイティブバイナリを個別にインストールし、PATH変数を設定し、tessdata言語ファイルを手動で管理する必要があります。 IronOCRはそれらすべてを内部的に処理するため、プロジェクトのREADMEファイルは環境設定の手順ではなく、アプリケーションのロジックに集中できます。

このライブラリには、数々のパフォーマンス改善とマルチスレッドサポートを備えたTesseract 5が含まれており、カスタムスレッドコードを記述することなく、複数のドキュメントを並列処理できます。

OCRプロジェクトにおけるバージョン管理のベストプラクティスとは?

GitHub上でOCRプロジェクトを管理するには、一般的なソフトウェアプロジェクトでは直面しないいくつかの課題があります。 テストイメージは多くの場合、大きなバイナリファイルであり、ライセンスキーはコミットに決して含まれてはならず、前処理の設定は環境によって大きく異なる可能性がある。

これらの問題に早期に対処しておけば、チームと協力したり、貢献者からのプルリクエストを受け入れたりする際に、予期せぬ事態が少なくなる。 以下の手順に従うことで、OCRプロジェクトを長期にわたってクリーンで保守しやすい状態に保つことができます。

Gitで大きなファイルを扱うにはどうすればいいですか?

大規模なテストイメージにはGit LFSを使用して、リポジトリのサイズを管理しやすい状態に保ちましょう。

git lfs track "*.jpg" "*.png" "*.tiff"
git add .gitattributes
git commit -m "Track large image files with Git LFS"
git lfs track "*.jpg" "*.png" "*.tiff"
git add .gitattributes
git commit -m "Track large image files with Git LFS"
SHELL

これは、高解像度画像や複数ページのTIFFファイルを扱う場合に特に重要です。 低品質のスキャン画像の場合、IronOCRの前処理機能を使用することで、テスト画像をコミットする前に手動で編集する必要なく、結果を大幅に改善できます。

テスト文書をリポジトリに保存する際は、機密情報が含まれているかどうかを考慮してください。 たとえプライベートリポジトリであっても、実際の請求書や身分証明書類をコミットするよりも、プログラムによって合成テストイメージを生成する方が良い。

ライセンスキーとドキュメントはどのように管理すべきですか?

IronOCRのライセンスキーは、環境変数または.NETユーザーシークレットを使用して保存してください。 ライセンスキーを直接、いかなるブランチにもコミットしてはならない。たとえプライベートブランチであってもだ。 適切な導入方法については、ライセンスキーガイドを参照してください。 ASP.NETアプリケーションの場合、web.configファイルでライセンスを設定することもできます。

READMEファイルに、サポートされている画像フォーマットと期待される精度レベルを記載してください。 サンプル画像をtest-data/フォルダに含めて、貢献者がクローン作成後すぐにOCR機能を確認できるようにしてください。 新規貢献者が初回実行時に問題が発生しないよう、環境変数を使用してライセンスキーを設定する方法を説明する短いセクションを追加してください。

クロスプラットフォーム開発については、 IronOCRのLinuxセットアップガイドまたはmacOSインストール手順を参照してください。 モバイル開発者は、 IronOCRのドキュメントに掲載されているAndroidおよびiOS向けのガイドを確認してください。

よくあるトラブルシューティングのヒントは何ですか?

WindowsでOCRが動作しないのはなぜですか?

よくあるセットアップの問題としては、Windows で Visual C++ 再頒布可能パッケージが不足していることが挙げられます。 IronOCRは2019年版が必要です。 詳細な手順については、 Visual C++ 再頒布可能パッケージのトラブルシューティング ガイドを参照してください。 Linux 展開の場合は、libgdiplus がインストールされていることを確認してください。

テキスト認識の精度が低い場合は、 DPI設定ガイドを使用して、画像が少なくとも200 DPIであることを確認してください。 Stack Overflowの C# OCR コミュニティでは、一般的な GitHub プロジェクトの問題に対する役立つ解決策も提供しています。

具体的な設定上の問題については、 IronOCRユーティリティツールを使用して問題を診断し、一般的なトラブルシューティングガイドを参照して段階的な診断を行ってください。

追加のサポートはどこで受けられますか?

詳細なトラブルシューティングについては、 IronOCRのトラブルシューティングガイドを参照してください。 IronOCRのサポートチームは、 GitHubでホストされているOCRアプリケーションを使用しているライセンスユーザーに対し、迅速なサポートを提供します。 最新のアップデートについては、製品の変更履歴をご確認ください。

次のステップは何ですか?

IronOCRは、直感的なAPI、組み込みの前処理機能、そして信頼性の高い精度により、C# GitHubプロジェクトにおけるOCRの実装を簡素化します。 上記のコード例を参考に、公式リポジトリを調べ、GitHubのコラボレーション機能を最大限に活用した文書処理アプリケーションを構築してみましょう。

MAUIアプリケーションの開発、特殊な文書の処理、あるいはOCRを1行のコードで実装するなど、どのような用途であっても、 IronOCRは必要なツールを提供します。 このライブラリはクロスプラットフォームに対応しており、 NuGetによるインストールも簡単なので、開発環境に関係なく、すべての貢献者がプロジェクトを簡単にセットアップできます。

IronOCRの無料トライアル版をダウンロードして、今すぐGitHubプロジェクトで評価してみましょう。 チームのニーズに合わせて、拡張機能やアップグレードを含むライセンスオプションを検討してください。

よくある質問

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』を再視聴したりしていることが多いです。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね