なぜIronOCRがTesseract 4 NuGetパッケージよりも優れているのか

How to Tesseract OCR in C# Alternatives with IronOCR

This article was translated from English: Does it need improvement?
Translated
View the article in English

C# アプリケーションに光学文字認識を実装したいとお考えですか? Google Tesseract は無料の OCR ソリューションを提供していますが、多くの開発者は、その複雑な設定、実際のドキュメントに対する精度の限界、そして難しい C++ 相互運用性要件に苦労しています。 この包括的なガイドでは、インストールの手間を省きながら優れた結果をもたらすネイティブ C# ライブラリである IronOCR の強化された Tesseract 実装を使用して、99.8 ~ 100% の OCR 精度を達成する方法を説明します。

スキャンした文書からテキストを抽出したり、請求書を処理したり、文書自動化システムを構築したりする場合でも、数週間ではなく数分で本番環境対応の OCR を実装する方法を学習します。

クイックスタート:IronTesseract を使った 1 行の OCR

IronOCR の最もシンプルな API を使用して、数秒でテキストを取得します。 この例は、1 行のコードで IronTesseract を呼び出し、画像を与え、認識されたテキストを返す方法を示しています。面倒なし、結果だけ。

  1. IronOCR をNuGetパッケージマネージャでインストール

    PM > Install-Package IronOcr
  2. このコード スニペットをコピーして実行します。

    string text = new IronTesseract().Read(new OcrInput("image.png")).Text;
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronOCR を使い始めましょう無料トライアル

    arrow pointer

IronOCR の C# 向け Tesseract 実装の包括的な機能概要。プラットフォームの互換性、サポートされている形式、高度な処理機能を示します。

最小限のコードでC#から画像のテキストを抽出する方法?

次の例は、わずか数行のコードを使用して .NET アプリケーションに OCR 機能を実装する方法を示しています。 通常の Tesseract とは異なり、このアプローチでは画像の前処理が自動的に行われ、不完全なスキャンでも正確な結果が得られます。

NuGet パッケージマネージャを使用して IronOCR NuGet パッケージを Visual Studio ソリューションにインストールします。

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-2.cs
using IronOcr;
using System;

var ocr = new IronTesseract();
using var input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames(@"img\example.tiff", pageindices);
input.DeNoise();  //fixes digital noise
input.Deskew();   //fixes rotation and perspective

// there are dozens more filters, but most users wont need them
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Private input = New OcrInput()
Private pageindices = New Integer() { 1, 2 }
input.LoadImageFrames("img\example.tiff", pageindices)
input.DeNoise() 'fixes digital noise
input.Deskew() 'fixes rotation and perspective

' there are dozens more filters, but most users wont need them
Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

このコードは、IronOCR の簡素化された API の威力を示すものです。 IronTesseract クラスは Tesseract 5 の管理されたラッパーを提供し、複雑な C++ 相互運用を排除します。OcrInput クラスは複数の画像形式とページの読み込みをサポートし、オプションの前処理メソッド(DeNoise() および Deskew())は実際のドキュメントでの精度を劇的に向上させることができます。

基本的なテキスト抽出を超えて、OcrResult オブジェクトは行レベルの信頼度スコア、文字位置、文書構造などの豊富な構造化データを提供し、検索可能なPDF作成正確なテキスト位置追跡のような高度な機能を実現します。

Tesseract と IronOCR のインストールにおける主な違いは何ですか?

.NET で Tesseract エンジンを使用して OCR を実行する

C# での従来の Tesseract 統合では C++ ライブラリの管理が必要となり、いくつかの課題が生じます。

開発者は、プラットフォーム固有のバイナリを処理し、Visual C++ ランタイムのインストールを確認し、32/64 ビットの互換性の問題を管理する必要があります。 セットアップでは、多くの場合、Tesseract および Leptonica ライブラリを手動でコンパイルする必要があります。特に、Windows コンパイル用に設計されていない最新の Tesseract 5 バージョンではこれが必要になります。

クロスプラットフォーム展開は、権限と依存関係が大きく異なる Azure、Docker、または Linux 環境では特に問題になります。

.NET 用 IronOCR Tesseract

IronOCR は、NuGet 経由で配布される単一の管理対象 .NET ライブラリを通じてインストールの複雑さを排除します。

Install-Package IronOcr

ネイティブ DLL、C++ ランタイム、プラットフォーム固有の構成はありません。 すべてが、依存関係の自動解決を伴う純粋なマネージ コードとして実行されます。

このライブラリは、以下のものと完全な互換性を提供します。

  • .NET Framework 4.6.2 以上
  • .NET Standard 2.0 以上 (.NET 5、6、7、8、9、10 を含む)
  • .NET Core 2.0以上

このアプローチにより、Windows、macOS、Linux、Azure、AWS Lambda、Docker コンテナー、さらには Xamarin モバイル アプリケーション全体で一貫した動作が保証されます。

.NET 開発における最新の OCR エンジン バージョンの比較

Google Tesseract with C

Tesseract 5 は強力ですが、Windows 開発者にとって大きな課題があります。

最新のビルドでは MinGW を使用したクロスコンパイルが必要ですが、動作する Windows バイナリが生成されることはほとんどありません。 GitHub 上の無料の C# ラッパーは、最新の Tesseract リリースより何年も遅れていることが多く、重要な改善やバグ修正が欠けています。 開発者は、これらのコンパイル障壁のために、古い Tesseract 3.x または 4.x バージョンを使用することが多いです。

.NET 用 IronOCR Tesseract

IronOCR には、.NET 専用に最適化されたカスタムビルドの Tesseract 5 エンジンが搭載されています。

この実装には、ネイティブ マルチスレッド サポート、自動画像前処理、大規模ドキュメントのメモリ効率の高い処理などのパフォーマンス強化が含まれています。 定期的な更新により、下位互換性を維持しながら最新の .NET リリースとの互換性が確保されます。

このライブラリは専用の NuGet パッケージを通じて広範な言語サポートも提供しており、外部辞書ファイルを管理することなく 127 を超える言語の OCR 機能を簡単に追加できます。

Google Cloud OCRの比較

Google Cloud Vision OCRは高い精度を提供しますが、インターネット接続が必要であり、リクエストごとにコストが発生し、機密文書のデータ プライバシーに関する懸念が生じます。 IronOCR はオンプレミス処理と同等の精度を提供するため、データセキュリティやオフライン機能を必要とするアプリケーションに最適です。

さまざまなアプローチでどの程度の OCR 精度を達成できますか?

.NET プロジェクトにおける Google Tesseract

Raw Tesseract は、高解像度で完璧に整列したテキストの読み取りに優れていますが、現実世界のドキュメントの読み取りには苦労します。

スキャンしたページ、写真、または低解像度の画像は、事前に徹底的に処理しないと、文字化けした出力になることがよくあります。 許容できる精度を達成するには、通常、ImageMagick または同様のツールを使用したカスタム画像処理パイプラインが必要となり、ドキュメントの種類ごとに開発時間が数週間追加されます。

一般的な精度の問題は次のとおりです。

  • 傾いた文書の文字が読み間違えられる
  • 低DPIスキャンでは完全に失敗する
  • フォントやレイアウトが混在するとパフォーマンスが低下する
  • 背景ノイズや透かしを処理できない

.NET プロジェクトにおける IronOCR Tesseract

IronOCR の強化された実装により、手動による前処理なしで、一般的なビジネス ドキュメントで99.8 ~ 100% の精度を実現します。

using IronOcr;
using System;

// Create an instance of the IronTesseract class for OCR processing
var ocr = new IronTesseract();

// Create an OcrInput object to load and preprocess images
using var input = new OcrInput();

// Specify which pages to extract from multi-page documents
var pageIndices = new int[] { 1, 2 };

// Load specific frames from a TIFF file
// IronOCR automatically detects and handles various image formats
input.LoadImageFrames(@"img\example.tiff", pageIndices);

// Apply automatic image enhancement filters
// These filters dramatically improve accuracy on imperfect scans
input.DeNoise();    // Removes digital artifacts and speckles
input.Deskew();     // Corrects rotation up to 15 degrees

// Perform OCR with enhanced accuracy algorithms
OcrResult result = ocr.Read(input);

// Access the extracted text with confidence metrics
Console.WriteLine(result.Text);

// Additional accuracy features available:
// - result.Confidence: Overall accuracy percentage
// - result.Pages[0].Words: Word-level confidence scores
// - result.Blocks: Structured document layout analysis
using IronOcr;
using System;

// Create an instance of the IronTesseract class for OCR processing
var ocr = new IronTesseract();

// Create an OcrInput object to load and preprocess images
using var input = new OcrInput();

// Specify which pages to extract from multi-page documents
var pageIndices = new int[] { 1, 2 };

// Load specific frames from a TIFF file
// IronOCR automatically detects and handles various image formats
input.LoadImageFrames(@"img\example.tiff", pageIndices);

// Apply automatic image enhancement filters
// These filters dramatically improve accuracy on imperfect scans
input.DeNoise();    // Removes digital artifacts and speckles
input.Deskew();     // Corrects rotation up to 15 degrees

// Perform OCR with enhanced accuracy algorithms
OcrResult result = ocr.Read(input);

// Access the extracted text with confidence metrics
Console.WriteLine(result.Text);

// Additional accuracy features available:
// - result.Confidence: Overall accuracy percentage
// - result.Pages[0].Words: Word-level confidence scores
// - result.Blocks: Structured document layout analysis
Imports IronOcr
Imports System

' Create an instance of the IronTesseract class for OCR processing
Private ocr = New IronTesseract()

' Create an OcrInput object to load and preprocess images
Private input = New OcrInput()

' Specify which pages to extract from multi-page documents
Private pageIndices = New Integer() { 1, 2 }

' Load specific frames from a TIFF file
' IronOCR automatically detects and handles various image formats
input.LoadImageFrames("img\example.tiff", pageIndices)

' Apply automatic image enhancement filters
' These filters dramatically improve accuracy on imperfect scans
input.DeNoise() ' Removes digital artifacts and speckles
input.Deskew() ' Corrects rotation up to 15 degrees

' Perform OCR with enhanced accuracy algorithms
Dim result As OcrResult = ocr.Read(input)

' Access the extracted text with confidence metrics
Console.WriteLine(result.Text)

' Additional accuracy features available:
' - result.Confidence: Overall accuracy percentage
' - result.Pages[0].Words: Word-level confidence scores
' - result.Blocks: Structured document layout analysis
$vbLabelText   $csharpLabel

自動前処理フィルターは、手動での介入が必要となる一般的なドキュメント品質の問題を処理します。 DeNoise() メソッドはスキャンからのデジタルアーティファクトを除去し、Deskew() はドキュメントの回転を修正します。いずれも高い精度を維持する際に重要です。

上級ユーザーは、文字のホワイトリスト、地域固有の処理、業界固有の用語用の特殊な言語モデルなどのカスタム構成を使用して、精度をさらに最適化できます。

OCR 処理でサポートされている画像形式とソースは何ですか?

.NET での Google Tesseract

ネイティブ Tesseract は、C# で操作するのが難しいアンマネージ C++ ポインターである Leptonica PIX 形式のみを受け入れます。

.NET イメージを PIX 形式に変換するには、メモリ リークを防ぐために慎重なメモリ管理が必要です。 PDF および複数ページの TIFF をサポートするには、独自の互換性の問題を伴う追加のライブラリが必要です。 多くの実装では基本的な形式の変換が困難で、実用的な使いやすさが制限されます。

IronOCR画像互換性

IronOCR は、自動変換による包括的な形式のサポートを提供します。

  • PDF文書(パスワード保護されたものを含む)
  • マルチフレームTIFFファイル
  • 標準フォーマット: JPEG、PNG、GIF、BMP
  • 高度なフォーマット: JPEG2000、WBMP
  • .NET タイプ: System.Drawing.Image, System.Drawing.Bitmap
  • データソース: ストリーム、バイト配列、ファイルパス -直接スキャナー統合

包括的なフォーマットサポートの例

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-5.cs
using IronOcr;

var text = new IronTesseract().Read("img.png").Text;
Imports IronOcr

Private text = (New IronTesseract()).Read("img.png").Text
$vbLabelText   $csharpLabel

ドキュメントを読み込むためのこの統一されたアプローチにより、形式固有のコードが不要になります。 スキャンした TIFF、デジタル PDF、スマートフォンの写真などを処理する場合でも、同じ API ですべてのシナリオを処理できます。 OcrInput クラス はメモリを賢く管理し、ソース形式に関係なく一貫した結果を提供します。

特殊なシナリオでは、IronOCR は同じドキュメントからのバーコードと QR コードの読み取りもサポートしており、1 回のパスで包括的なドキュメント データの抽出が可能になります。

実際のアプリケーションでの OCR パフォーマンスの比較

無料のGoogle Tesseractパフォーマンス

Vanilla Tesseract は、トレーニング データに一致する、前処理済みの高解像度画像で許容できる速度を実現できます。

しかし、現実世界でのパフォーマンスは期待外れになることが多いです。 Tesseract が画像品質に問題を抱えている場合、スキャンした文書の 1 ページの処理に 10 ~ 30 秒かかることがあります。 シングルスレッド アーキテクチャはバッチ処理のボトルネックとなり、大きな画像ではメモリ使用量が急増する可能性があります。

IronOCR Tesseractライブラリのパフォーマンス

IronOCR は、本番環境のワークロードに対してインテリジェントなパフォーマンス最適化を実装します。

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-6.cs
using IronOcr;

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.Arabic;

using var input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("img/arabic.gif", pageindices);

// Add image filters if needed
// In this case, even thought input is very low quality
// IronTesseract can read what conventional Tesseract cannot.

var result = ocr.Read(input);

// Console can't print Arabic on Windows easily.
// Let's save to disk instead.
result.SaveAsTextFile("arabic.txt");
Imports IronOcr

Private ocr = New IronTesseract()
ocr.Language = OcrLanguage.Arabic

Dim input = New OcrInput()
Dim pageindices = New Integer() { 1, 2 }
input.LoadImageFrames("img/arabic.gif", pageindices)

' Add image filters if needed
' In this case, even thought input is very low quality
' IronTesseract can read what conventional Tesseract cannot.

Dim result = ocr.Read(input)

' Console can't print Arabic on Windows easily.
' Let's save to disk instead.
result.SaveAsTextFile("arabic.txt")
$vbLabelText   $csharpLabel

これらの最適化は、IronOCR の製品版対応設計を実証しています。 BlackListCharacters 設定だけでも特別な文字が必要ない場合は20-30%の速度向上をもたらします。 高速言語パックは、完璧な精度が重要ではない大量処理に優れたバランスを提供します。

エンタープライズ アプリケーションの場合、IronOCR のマルチスレッド サポートにより、複数のドキュメントを同時に処理することができ、シングル スレッドの Tesseract と比較して、最新のマルチコア システムで 4 ~ 8 倍のスループットの向上を実現します。

Tesseract と IronOCR の API 設計の違いは何ですか?

.NET での Google Tesseract OCR

生の Tesseract を C# アプリケーションに統合するには、次の 2 つの難しいオプションがあります。

-相互運用ラッパー: 時代遅れで、ドキュメントが不十分で、メモリリークが発生しやすい -コマンドライン実行: 導入が難しく、セキュリティポリシーによってブロックされ、エラー処理が不十分

どちらのアプローチも、クラウド環境、Web アプリケーション、またはクロスプラットフォーム展開では確実に機能しません。 適切な .NET 統合がないと、ビジネス上の問題を解決するよりも、ツールと格闘する時間の方が長くなります。

IronOCR .NET用Tesseract OCRライブラリ

IronOCR は、.NET 開発者向けに特別に設計された、完全に管理された直感的な API を提供します。

最もシンプルな実装

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-7.cs
using IronOcr;

// For the Chinese Language Pack:
// PM> Install IronOcr.Languages.ChineseSimplified

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.ChineseSimplified;
ocr.AddSecondaryLanguage(OcrLanguage.English);

// We can add any number of languages
using var input = new OcrInput();
input.LoadPdf("multi-language.pdf");
var result = ocr.Read(input);
result.SaveAsTextFile("results.txt");
Imports IronOcr

' For the Chinese Language Pack:
' PM> Install IronOcr.Languages.ChineseSimplified

Private ocr = New IronTesseract()
ocr.Language = OcrLanguage.ChineseSimplified
ocr.AddSecondaryLanguage(OcrLanguage.English)

' We can add any number of languages
Dim input = New OcrInput()
input.LoadPdf("multi-language.pdf")
Dim result = ocr.Read(input)
result.SaveAsTextFile("results.txt")
$vbLabelText   $csharpLabel

この合理化された API により、従来の Tesseract 統合の複雑さが解消されます。 各メソッドには包括的なXMLドキュメントが付属しており、IDE内で直接機能を簡単に確認できます。充実したAPIドキュメントには、各機能の詳細な例が掲載されています。

経験豊富なエンジニアによる専門的なサポートにより、実装の詳細で行き詰まることはありません。 ライブラリは定期的に更新され、最新の .NET リリースとの互換性を維持しながら、開発者のフィードバックに基づいて新しい機能が追加されます。

どのプラットフォームと展開シナリオがサポートされていますか?

Google Tesseract + .NET 向け相互運用性

クロスプラットフォームの Tesseract デプロイメントには、プラットフォーム固有のビルドと構成が必要です。

各ターゲット環境には、異なるバイナリ、ランタイム依存関係、および権限が必要です。 Docker コンテナでは、ベースイメージを慎重に選択する必要があります。 Visual C++ ランタイムが不足しているために、Azure のデプロイメントが失敗することがよくあります。 Linux の互換性は、特定のディストリビューションとパッケージの可用性によって異なります。

IronOCR Tesseract .NET OCRライブラリ

IronOCR は、真の一度の書き込みでどこにでも展開できる機能を提供します。

アプリケーションの種類:

  • デスクトップ アプリケーション (WPF、WinForms、コンソール)
  • Web アプリケーション (ASP.NET Core、Blazor)
  • クラウドサービス(Azure Functions、AWS Lambda)
  • モバイルアプリ(Xamarin経由)
  • マイクロサービス(Docker、Kubernetes)

プラットフォームサポート:

  • Windows (7、8、10、11、Server エディション)
  • macOS (IntelとApple Silicon)
  • Linux (Ubuntu、Debian、CentOS、Alpine)
  • Dockerコンテナ(公式ベースイメージ)
  • クラウド プラットフォーム (Azure、AWS、Google Cloud)

.NET 互換性:

  • .NET Framework 4.6.2 以上
  • .NET Standard 2.0 およびそれ以上 ( .NET 5, 6, 7, 8, 9, 10 を含む)
  • .NET Core 2.0 以上
  • Monoフレームワーク
  • Xamarin.Mac

ライブラリはプラットフォームの違いを内部的に処理し、すべての環境で一貫した結果を提供します。 デプロイメント ガイドでは、コンテナ化、サーバーレス関数、高可用性構成などの特定のシナリオについて説明します。

多言語 OCR 機能の比較

Google Tesseract 言語サポート

生の Tesseract で言語を管理するには、tessdata ファイル (すべての言語で約 4 GB) をダウンロードして維持する必要があります。

フォルダ構造は正確で、環境変数は適切に設定され、実行時にパスにアクセス可能でなければなりません。言語切り替えにはファイルシステムへのアクセスが必要となるため、制限された環境での展開は複雑になります。 Tesseract バイナリと言語ファイル間のバージョンの不一致により、不可解なエラーが発生します。

IronOCR 言語管理

IronOCR は NuGet パッケージ管理を通じて言語サポートに革命をもたらします。

アラビア語OCRの例

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-8.cs
using IronOcr;

// Configure IronTesseract for Arabic text recognition
var ocr = new IronTesseract
{
    // Set primary language to Arabic
    // Automatically handles right-to-left text
    Language = OcrLanguage.Arabic
};

// Load Arabic documents for processing
using var input = new OcrInput();
var pageIndices = new int[] { 1, 2 };
input.LoadImageFrames("img/arabic.gif", pageIndices);

// IronOCR includes specialized preprocessing for Arabic scripts
// Handles cursive text and diacritical marks automatically

// Perform OCR with language-specific optimizations
var result = ocr.Read(input);

// Save results with proper Unicode encoding
// Preserves Arabic text formatting and direction
result.SaveAsTextFile("arabic.txt");

// Advanced Arabic features:
// - Mixed Arabic/English document support
// - Automatic number conversion (Eastern/Western Arabic)
// - Font-specific optimization for common Arabic typefaces
Imports IronOcr

' Configure IronTesseract for Arabic text recognition
Dim ocr As New IronTesseract With {
    ' Set primary language to Arabic
    ' Automatically handles right-to-left text
    .Language = OcrLanguage.Arabic
}

' Load Arabic documents for processing
Using input As New OcrInput()
    Dim pageIndices As Integer() = {1, 2}
    input.LoadImageFrames("img/arabic.gif", pageIndices)

    ' IronOCR includes specialized preprocessing for Arabic scripts
    ' Handles cursive text and diacritical marks automatically

    ' Perform OCR with language-specific optimizations
    Dim result = ocr.Read(input)

    ' Save results with proper Unicode encoding
    ' Preserves Arabic text formatting and direction
    result.SaveAsTextFile("arabic.txt")

    ' Advanced Arabic features:
    ' - Mixed Arabic/English document support
    ' - Automatic number conversion (Eastern/Western Arabic)
    ' - Font-specific optimization for common Arabic typefaces
End Using
$vbLabelText   $csharpLabel

多言語ドキュメント処理

:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-9.cs
using IronOcr;

// Install language packs via NuGet:
// PM> Install-Package IronOcr.Languages.ChineseSimplified

// Configure multi-language OCR
var ocr = new IronTesseract();

// Set primary language for majority content
ocr.Language = OcrLanguage.ChineseSimplified;

// Add secondary language for mixed content
// Perfect for documents with Chinese text and English metadata
ocr.AddSecondaryLanguage(OcrLanguage.English);

// Process multi-language PDFs efficiently
using var input = new OcrInput();
input.LoadPdf("multi-language.pdf");

// IronOCR automatically detects and switches between languages
// Maintains high accuracy across language boundaries
var result = ocr.Read(input);

// Export preserves all languages correctly
result.SaveAsTextFile("results.txt");

// Supported scenarios:
// - Technical documents with English terms in foreign text
// - Multilingual forms and applications  
// - International business documents
// - Mixed-script content (Latin, CJK, Arabic, etc.)
Imports IronOcr

' Install language packs via NuGet:
' PM> Install-Package IronOcr.Languages.ChineseSimplified

' Configure multi-language OCR
Dim ocr As New IronTesseract()

' Set primary language for majority content
ocr.Language = OcrLanguage.ChineseSimplified

' Add secondary language for mixed content
' Perfect for documents with Chinese text and English metadata
ocr.AddSecondaryLanguage(OcrLanguage.English)

' Process multi-language PDFs efficiently
Using input As New OcrInput()
    input.LoadPdf("multi-language.pdf")

    ' IronOCR automatically detects and switches between languages
    ' Maintains high accuracy across language boundaries
    Dim result = ocr.Read(input)

    ' Export preserves all languages correctly
    result.SaveAsTextFile("results.txt")
End Using

' Supported scenarios:
' - Technical documents with English terms in foreign text
' - Multilingual forms and applications  
' - International business documents
' - Mixed-script content (Latin, CJK, Arabic, etc.)
$vbLabelText   $csharpLabel

言語パック システムは127 を超える言語をサポートしており、各言語は特定のスクリプトと表記体系に最適化されています。 NuGet を介したインストールにより、バージョンの互換性が確保され、さまざまな環境間での展開が簡素化されます。

IronOCR は基本的な OCR 以外にどのような追加機能を提供しますか?

IronOCR は、基本的なテキスト抽出をはるかに超えて、エンタープライズ対応の機能を備えています。

-自動画像解析:画像特性に基づいてインテリジェントに処理を構成する

  • 検索可能なPDFの作成:スキャンした文書を、完全に検索可能なPDFに変換します。 trueSaveAsSearchablePdf() の第二引数として渡し、出力にアクティブなOCRフィルターを適用します (v2025.5.11追加) -高度なPDF OCR :文書構造を維持しながらテキストを抽出 -バーコードとQRコードの読み取り:同じパスでバーコードを検出してデコードします
  • HTMLエクスポート:OCR結果から構造化されたHTMLを生成します
  • TIFFからPDFへの変換:複数ページのTIFFを検索可能なPDFに変換します
  • 手書き英語OCR:v2025.11.31で追加された、英語の手書き認識機能。手書きのフォームやメモを処理する際、Tesseractの標準機能とは一線を画す強力な差別化要因です。
  • 方向検出: DetectPageOrientation() は4つの OrientationDetectionMode 値(Fast, Balanced, Detailed, ExtremeDetailed)をサポートし、精度/速度のトレードオフを制御します (v2025.8.6追加)
  • マルチスレッド対応:複数のドキュメントを同時に処理
  • 詳細な結果分析:信頼スコア付き文字レベルデータへのアクセス

Scale()EnhanceResolution()SaveAsSearchablePdf() と互換性がなく、v2025.12.3での既知の問題によるものです。その他のフィルターは検索可能なPDF出力と共に正しく動作します。

OcrResult クラスは認識されたコンテンツへの粒度の高いアクセスを提供し、エレガントな後処理および検証ワークフローを可能にします。

C#開発のために選ぶべきOCRソリューションは?

C# OCRのためのGoogle Tesseract

次の場合にはバニラ Tesseract を選択します。

  • 学術プロジェクトや研究プロジェクトに取り組んでいる
  • 無制限の開発時間で完璧にスキャンされた文書を処理
  • 概念実証アプリケーションの構築
  • 考慮すべきはコストのみ

重大な統合の課題と継続的なメンテナンス要件に備えてください。

IronOCR .NET Framework & Core 用 Tesseract OCR ライブラリ

IronOCR は次の場合に最適です。

  • 信頼性が求められる生産アプリケーション
  • 現実世界のドキュメント品質のプロジェクト
  • クロスプラットフォーム展開
  • 時間的に厳しい開発スケジュール
  • 専門家のサポートを必要とするアプリケーション

このライブラリは、開発時間の短縮と難しいドキュメントの優れた精度により、投資を回収します。

C#プロジェクトでプロフェッショナルOCRを始めるには?

Visual Studio プロジェクトで高精度 OCR の実装を開始します。

Install-Package IronOcr

または、 IronOCR .NET DLL を直接ダウンロードして手動でインストールします。

弊社の包括的な入門ガイドから始めて、コード例を調べ、必要に応じて専門家のサポートを活用してください。

プロフェッショナル OCR がもたらす違いを体験してください。今すぐ無料トライアルを開始し、ドキュメント処理ワークフローで 99.8% 以上の精度を達成している 10,000 社以上の企業に加わってください。

OCR のニーズに Iron Software 製品を信頼している NASA、LEGO、3M などの大手企業のロゴ Iron Software OCRテクノロジーは、世界中のフォーチュン500企業や政府機関から、ミッションクリティカルな文書処理に信頼されています。

よくある質問

C#アプリケーションでTesseract OCRを実装するにはどうすればよいですか?

C#アプリケーションでTesseract OCRを実装するには、IronOCRの IronTesseract クラスを使用できます。NuGetで Install-Package IronOcr コマンドを使用してインストールし、名前空間 using IronOcr; を追加します。var ocr = new IronTesseract(); でOCRエンジンをインスタンス化し、var result = ocr.Read("image.png"); を使用して画像からテキストを抽出します。

IronOCRが従来のTesseractよりも優れている点は何ですか?

IronOCRは従来のTesseractに比べて、多くの利点があります。これには、ネイティブの依存関係なしでの簡素化された展開、自動画像前処理による精度の向上、.NETとの統合などが含まれます。IronOCRは、PDFや多言語サポートなどの機能を提供し、NuGetを通して簡単にインストールでき、通常のTesseractで必要とされる複雑なC++インタロップを避けることができます。

C#プロジェクトでOCRの精度を向上させるにはどうすればよいですか?

C#プロジェクトでのOCRの精度を向上させるには、IronOCRの自動画像強化機能を使用します。input.DeNoise()input.Deskew()などのメソッドは、画像を前処理するのに役立ち、ノイズを減らし、歪みを修正します。さらに、適切な言語設定を選択し、OcrResult.Confidenceを使用して精度検証のための信頼度メトリックを利用してください。

C#を使用してPDFドキュメントにOCRを適用することはできますか?

はい、IronOCRの OcrInput クラスを使用して、PDFドキュメントにOCRを適用することができます。input.LoadPdf("file.pdf", "password") を使用してPDFをロードし、var result = ocr.Read(input); で処理します。これにより、C#アプリケーション内で直接、検索可能なPDFを作成およびテキスト抽出が可能です。

単一のOCRドキュメントで複数の言語を処理するにはどうすればよいですか?

IronOCRを使用すると、単一のドキュメント内で複数の言語を処理することができます。ocr.Language = OcrLanguage.English; で主要な言語を設定し、ocr.AddSecondaryLanguage(OcrLanguage.Spanish); で二次言語を追加します。この柔軟性は、混在する言語や技術用語を含む文書に役立ちます。

IronOCRはどのプラットフォームでサポートされていますか?

IronOCRは、.NET Framework 4.6.2+、.NET Core 2.0+、.NET 5-10、.NET Standard 2.0+ など、幅広いプラットフォームをサポートしています。Windows、macOS、Linuxで動作し、また、Dockerコンテナ、Azure Functions、AWS Lambda、Xamarinモバイルアプリでも動作するため、異なる環境間で一貫したパフォーマンスを提供します。

C#でOCR処理のパフォーマンスを最適化するにはどうすればよいですか?

C#でOCR処理のパフォーマンスを最適化するには、IronOCRの機能を利用して、例えばocr.Configuration.ReadBarCodes = false;で不要なバーコードスキャンを無効にし、ocr.Language = OcrLanguage.EnglishFast;といった高速な言語モデルを選択します。さらにマルチスレッドの機能を活用して、より高速なバッチ処理が可能です。

IronOCRで対応している画像フォーマットは何ですか?

IronOCRは、PDF、TIFF、JPEG、PNGなどのさまざまな画像フォーマットに対応しています。OcrInput クラスを使用してinput.LoadImage("photo.jpg")input.LoadPdf("file.pdf") といった方法で画像をロードします。この広い互換性により、さまざまな画像ソースやフォーマットとの統合が簡単になります。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

彼の主要なIronPDFとIron Suite .NETライブラリは、世界中で3000万以上のNuGetインストールを達成し、彼の基礎となるコードは世界中で使用されている開発者ツールに力を与え続けています。25年の商業経験と41年のコーディングの専門知識を持つJacobは、次世代の技術リーダーを指導しながら、エンタープライズグレードのC#、Java、Python PDFテクノロジーにおけるイノベーションの推進に注力しています。

レビュー済み
Jeff Fritz
Jeffrey T. Fritz
プリンシパルプログラムマネージャー - .NETコミュニティチーム
Jeffはまた、.NETとVisual Studioチームのプリンシパルプログラムマネージャーです。彼は.NET Conf仮想会議シリーズのエグゼクティブプロデューサーであり、週に二回放送される開発者向けライブストリーム『Fritz and Friends』のホストを務め、テクノロジーについて話すことや視聴者と一緒にコードを書くことをしています。Jeffはワークショップ、プレゼンテーション、およびMicrosoft Build、Microsoft Ignite、.NET Conf、Microsoft MVPサミットを含む最大のMicrosoft開発者イベントのコンテンツを企画しています。
準備はできましたか?
Nuget ダウンロード 6,136,090 | バージョン: 2026.7 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronOcr
サンプルを実行 あなたの画像が検索可能なテキストになるのをご覧ください。