IRONSOFTWAREHOME
他のコンポーネントと比較する

IronOCRとDynamsoft OCRの比較

Kannaopat Udonpant
Kannapat Udonpant
Updated: 2026年5月8日

Microsoft Office Document Imaging (MODI) は、かつて MS Office 2003 および 2007 にバンドルされていた定番の OCR コンポーネントであり、開発者は COM ベースのオブジェクト モデルを介してスキャン画像から直接テキストを抽出することができました。 長年にわたり、MODI.Document クラスは、Visual Studio ソリューション内で TIFF および BMP 画像ファイルを機械可読テキストに変換する、無数の文書デジタル化プロジェクトを支えてきました。

しかし、MODIには重大な落とし穴があります。MicrosoftはOffice 2010以降のバージョンからMODIを削除したため、開発者はOCR機能を維持するためだけに、古いOfficeのインストールやスタンドアロンインストーラーに頼らざるを得なくなりました。クロスプラットフォーム展開、クラウド環境、または最新のWindowsバージョンをターゲットとする最新 for .NETプロジェクトにとって、MODIは深刻な障害となります。

この記事では、MODI OCR C# と、専用に構築された.NET光学文字認識ライブラリであるIronOCRを、コードの実装、機能、プラットフォームのサポート、ライセンスの観点から比較検討します。 既存コードの保守であれ、新規プロジェクトの立ち上げであれ、ここに記載された情報は適切な選択をするための参考になるでしょう。

以下のコード例を参考に、 IronOCRを30日間無料でお試しください

比較結果が一目でわかるようにするにはどうすればよいでしょうか?

カテゴリMODI OCRIronOCR
コアアーキテクチャCOM相互運用機能。Microsoft Office Document Imaging DLL参照が必要です。純粋な.NETライブラリ。 Tesseract 5 エンジンは C# 向けに最適化されています
プラットフォームサポートWindowsのみ対応。 コンピューターにOffice 2003/2007がインストールされている必要があります。Windows、Linux、macOS、Azure、Docker、iOS、Android
画像フォーマットTIFF、MDI、BMPTIFF、PNG、JPEG、BMP、GIF、PDF、複数ページ画像
言語サポートmiLANG パラメータ経由で最大 22 言語NuGet言語パック経由で125以上の言語に対応
OCRの精度清潔感のある標準フォントの文書を高く評価自動画像補正フィルター使用時、99.8%以上
出力オプションレイアウトオブジェクトからのプレーンテキストプレーンテキスト、検索可能なPDF、構造化データ(ページ、行、単語、バーコード)
インストールOffice インストーラー + ソリューション エクスプローラーの COM 参照NuGetパッケージ: Install-Package IronOcr
アクティブ開発Office 2007以降は提供終了定期的なアップデートにより積極的に維持管理されています。
ライセンス有効なMicrosoft Officeライセンスが必要です永続ライセンスは$999から; 30日間無料トライアル
サポートコミュニティフォーラムのみメール、ライブチャット、電話による直接的なエンジニアリングサポート

How Does Microsoft Office Document Imaging Perform OCR in C#?

MODIは、COMベースのオブジェクトモデルを通して光学文字認識(OCR)を実行します。 このプロセスは、MODI.Documentオブジェクトを作成し、画像ファイルのパスを読み込み、OCRメソッドを呼び出して画像を解析し、文字を識別することから始まります。 OCR処理が完了すると、各ページの画像オブジェクトとレイアウトオブジェクトを通じて、テキスト情報とレイアウト情報にアクセスできるようになります。

Visual StudioプロジェクトでMODIを使用するには、Microsoft Office Document Imaging Type Libraryへの参照を追加する必要があります。 ソリューションエクスプローラーで、[参照]フォルダーを右クリックし、[COM]タブを選択して、適切なMODIバージョン(Office 2003の場合は11.0、Office 2007の場合は12.0)を選択します。

// MODI OCR: Extracting text from a scanned TIFF document
private string ExtractTextFromImage(string path)
{
    string extractedText = "";
    MODI.Document doc = new MODI.Document();
    try
    {
        // Create the document object from the image file path
        doc.Create(path);
        // Run optical character recognition with English language
        doc.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true);
        // Access the first page image and retrieve recognized text
        MODI.Image modiImage = (MODI.Image)doc.Images[0];
        extractedText = modiImage.Layout.Text;
    }
    catch (Exception ex)
    {
        // Handle OCR exceptions for unsupported or corrupted image files
        string message = ex.Message;
        Console.WriteLine(message);
    }
    finally
    {
        doc.Close(false);
        System.Runtime.InteropServices.Marshal.ReleaseComObject(doc);
    }
    return extractedText;
}

この関数は、標準的なMODIワークフローを示しています。Createメソッドはファイルを読み込み、OCRメソッドは指定された言語を使用して認識を実行し、Layout.Textは抽出された文字列を提供します。 return extractedText ステートメントは、出力を呼び出し元に渡します。

MODIは鮮明で高解像度の文書画像に対してはまずまずの精度を提供するものの、顕著な限界もある。 TIFF、MDI、BMP形式のみをサポートしています。 本アプリケーションを実行するすべてのコンピューター(運用サーバーを含む)に、Microsoft Officeがインストールされている必要があります。 低品質画像のスキャン、歪み補正、デジタルノイズ低減のための組み込みサポートはありません。さらに、MODIはCOM相互運用性に依存しているため、 .NET Core、 .NET 5以降、またはクロスプラットフォーム環境では使用できません。そのため、DockerコンテナやAzure App Servicesなどの最新のデプロイメントターゲットには適していません。

最新 for .NETライブラリはOCR機能をどのように処理するのか?

IronOCRは、COM相互運用方式を、単一のNuGetパッケージでインストールできる純粋な.NET APIに置き換えます。 IronTesseractクラスは高度に最適化されたTesseract 5エンジンをラップし、OcrInputクラスは画像の読み込み、前処理、およびマルチフォーマットのサポートを処理します。これらはすべて、Microsoft Officeやターゲットコンピュータへの外部依存関係を必要とせずに実現されます。

using IronOcr;
// Create the IronTesseract OCR engine object
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load images in any common format — PNG, JPEG, TIFF, BMP, GIF, or PDF
input.LoadImage("scanned-document.tiff");
// Apply filters to correct low-quality scans automatically
input.Deskew();   // Straighten skewed page images
input.DeNoise();  // Remove digital noise from scanning artifacts
// Read text from the processed document
var result = ocr.Read(input);
// Output plain text
Console.WriteLine(result.Text);
// Save as a searchable PDF for document management system integration
result.SaveAsSearchablePdf("output-searchable.pdf");

IronOCRの出力

MODI OCR C# と IronOCR: 正しい光学式文字認識ライブラリの選択 C#: 画像1 - IronOCRの例出力

上記のコードは、 IronOCRがTIFFスキャン画像を完全なOCRパイプラインを通してわずか数行で処理する様子を示しています。 OcrInputオブジェクトは、ほぼすべての画像ファイルまたはPDFドキュメントを受け入れます。また、Deskew()とDeNoise()は、MODIで低品質な結果が生じる原因となる一般的なスキャン時のアーティファクトを補正します。 Read メソッドは、プレーンテキストだけでなく、ページ、段落、行、単語ごとに整理された構造化データを含む OcrResult オブジェクトを返します。各データには、信頼度スコアと座標情報が含まれています。

請求書、フォーム、または複数ページのTIFFファイルを処理するプロジェクト向けに、 IronOCRには、テキスト領域を自動的に検出するコンピュータビジョン機能、バーコードとQRコードの同時読み取り機能、およびNuGetパッケージとしてインストール可能な125以上の言語のサポートも含まれています。

画像からテキストを抽出する際の主な違いは何ですか?

これら2つの選択肢の本当の差は、"完璧な"サンプルファイルの使用をやめて、実際の文書を扱い始めた瞬間に明らかになる。 ここで言っているのは、コーヒーの染みが付いていたり、ページが傾いていたり、スマートフォンで撮った低解像度の写真だったりする、あの見栄えの悪いスキャン画像のことです。

MODIは、特にクリーンで高コントラストなオフィス文書という、異なる時代のために開発された。 高性能スキャナーで鮮明なTIFFファイルを取得すれば、問題なく動作します。しかし、画像が少しでも回転していたり​​、デジタルノイズが含まれていると、MODIの精度は著しく低下します。 これらの問題を解決するための組み込みフィルターがないため、OCR処理を開始する前に、GDI+やSystem.Drawingなどの別のライブラリを使用して画像を自分で前処理する必要があります。 メモリ管理も少々面倒です。 Marshal.ReleaseComObject を手動で呼び出さないと、本番環境でメモリリークが発生する可能性が高くなります。

IronOCRは、箱から出してすぐにこの面倒な作業をすべて自動で行ってくれます。 画像をクリーンアップするためのカスタムコードを書く代わりに、input.Deskew() または input.DeNoise() を呼び出すだけで済みます。 これらのフィルターは画像を準備することで、たとえ"見栄えの悪い"文書であっても、エンジンが99.8%の精度を達成できるようにします。

プロのヒント: MODIから移行する場合は、単にコードを置き換えるだけでなく、レイアウトデータを活用してください。 MODIはほとんどの場合、巨大な"テキストの塊"として表示するのに対し、 IronOCRはテキストを段落や行に分解し、信頼度スコアを表示します。 自動請求書処理システムを構築していて、人間の目による確認が必要な可能性のある文書にフラグを立てる必要がある場合、これは非常に役立ちます。

また、 IronOCRは複数ページのTIFFファイルやPDFファイルを単一のオブジェクトとして扱う点にも注目すべきです。 以前のMODI.Imagesコレクションのように、画像を手動でループ処理する必要はありません。 単純に、より速く、よりクリーンで、そして正直言って、はるかに壊れにくいんです。

開発者はどのようにして従来の手法から移行できるのか?

既存のプロジェクトでMODIを置き換えるのは簡単です。 コアとなる移行作業は、COM参照をNuGetパッケージに置き換え、OCRメソッド呼び出しを更新することです。 MODIパターンを現代版に変換すると次のようになります。

using IronOcr;
// Replace: MODI.Document doc = new MODI.Document();
var ocr = new IronTesseract();
// Replace: doc.Create(filePath); with OcrInput
using var input = new OcrInput();
input.LoadImage("document.tiff");  // Accepts the same TIFF files MODI used
// Replace: doc.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true);
ocr.Language = OcrLanguage.English;
// Replace: modiImage.Layout.Text
var result = ocr.Read(input);
string text = result.Text;
Console.WriteLine(text);

マッピングはほぼ1対1です。MODI.Document.CreateはOcrInput.LoadImageになり、言語パラメータ付きのOCRメソッドはocr.Languageとocr.Readの組み合わせになり、Layout.Textはresult.Textになります。 COM参照なし、Officeへの依存なし、メモリを手動で管理するためのMarshal.ReleaseComObjectもなし。

直接的な置き換えにとどまらず、移行によってMODIには存在しない機能も利用できるようになります。例えば、LinuxとmacOSへのクロスプラットフォーム展開、クラウドおよびコンテナ展開、検索可能なPDF出力、そしてカスタムフォントのトレーニング機能を備えた完全なTesseract 5エンジンなどです。

現代のOCRニーズに最適なソリューションはどれか?

MODIは、Microsoft OfficeがすべてのWindowsコンピュータに標準搭載されていた時代に、その役割を果たした。 既にOffice 2003または2007に依存しているレガシーシステムを保守しているチームにとっては、まだ機能するかもしれないが、それは既にサポートが終了したソフトウェアへの脆弱な依存であり、将来への道筋は示されていない。

IronOCRは、新規プロジェクトはもちろん、近代化を必要とする既存システムに対しても、包括的で継続的にメンテナンスされるソリューションを提供します。 Officeへの依存を完全に排除し、主要なプラットフォームすべてで動作し、従来の方法では処理できなかった低品質の画像も処理でき、プレーンテキストをはるかに超える構造化されたOCR出力を提供します。 詳細なドキュメント直接エンジニアサポート、および$999からの永続ライセンスを備え、スケールできる商用グレードの文書処理のために構築されています。

最初のステップ:
arrow pointer

OCRを本番環境に導入する準備はできていますか? IronOCRのライセンスオプションを検討して、チームに最適なものを見つけてください。

ご注意: Microsoft MODIとTesseractはそれぞれの所有者の登録商標です。 本サイトはGoogleやMicrosoftと提携しておらず、推薦またはスポンサーされていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。