IronOCRとNanonets OCRの比較
光学文字認識(OCR)は、画像ファイルを機械によってエンコードされたテキストに変換する能力を提供します。 スキャンされたドキュメントは画像ファイルとして保存されるため、この機能は非常に便利です。これらの画像ファイル内のデータは通常のテキストエディタやワードプロセッシングアプリケーションを使用して検索、編集、またはテキスト形式で保存することができません。 OCR処理は、これらの画像をユーザーによるさらなる処理のために機械で読み取り可能なテキストに変換するのを助けます。
この現代において、インターネットを介して共有されるドキュメントは通常、PDFまたは画像の形でデジタル形式です。 オンラインで画像をテキストに変換するためのリソースは数多くあります。 しかし、ほとんどの企業は、この機能をソフトウェアアプリケーション内で必要とします。 これを念頭に置いて、ソフトウェアアプリケーションに組み込むためのOCR処理技術を提供するライブラリが数多く存在します。
この記事では、C#用の最も人気のある2つのOCRライブラリを取り上げます。 それらは以下の通りです:
- IronOCR
- Nanonets OCR API
IronOCR - C# ライブラリ
IronOCR for .NET は、ユーザーが画像やPDFをスキャン、検索、読み取ることを可能にするC#ライブラリです。 このライブラリは、画像またはPDFファイルを入力として受け取り、最新のTesseract 5によってカスタムビルドされた.NET OCRエンジンを使ってテキスト、構造化データ、または検索可能なPDFドキュメントを出力します。 Tesseractは125以上の言語で利用可能であり、IronOCRは.NET Core、Standardのクロスプラットフォームサポートを2.0から7まで提供します。
IronOCRは、C#開発者がIronTesseractクラスを使用して画像を自動的にテキストに変換できる使いやすいAPIです。 このライブラリは速度、精度、使いやすさを優先します。
IronOCRのもう一つの強力な機能は、全ての画像ファイルからバーコードとQRコードをスキャンし、そのテキストを読み取る能力です。 IronOCRの他の重要な機能は以下に示されています。
特徴
- 国際言語: 125以上の言語とカスタム言語のサポート。
- テキストおよびバーコード読み取り: 複数の言語から一度にテキストと数字を読み取る。
- 特殊ドキュメント: レシート、チェック、請求書などの専門ドキュメントからテキストを読み取る。
- 多くの形式から読み取り: 画像(PNG, JPG, GIF, TIFF, BMP),
System.Drawing Objects, ストリーム, PDF ドキュメントなどから読み取ります。 - 前処理機能: フィルターウィザード、画像の補正、方向の補正、色の補正などの前処理機能を含みます。
- シンプルなデータ出力: .NET テキスト文字列、バーコード、QR、画像形式で出力します。
次に、Nanonets OCR APIを見てみましょう。
Nanonets OCR API
Nanonets OCR APIは、リアルタイムのデータ抽出を提供するREST APIで、ビジネスニーズに合わせた自動化されたワークフローです。 OCR APIはAIを利用しており、非構造化ドキュメントからデータを安全にキャプチャし、カテゴリ化し、数秒で抽出できます。 Nanonetsを使用すれば、手動のデータ入力を自動化し、必要な手動作業を削減できます。
Nanonetsは機械学習を使用してドキュメントを理解し、標準テンプレートに従わないものでも対応します。 さまざまなフィールドに基づいて、任意の非構造化ドキュメントをアップロードし、希望の情報のみをキャプチャできます。 従来のOCRとは異なり、Nanonets OCRモデルはより良い結果のためにトレーニングが可能です。 ビジネスの成長と共に、NanonetsのインテリジェントドキュメントプロセッシングOCRモデルも成長し、新しいドキュメントごとに学び、迅速かつ正確な結果を提供します。
また、NanonetsはPythonアプリケーションに簡単に統合し、APIリクエストを必要とせずにデータをキャプチャするPythonパッケージも提供しています。 その他の機能には以下が含まれます:
- GDPR準拠
- 自動データキャプチャ
- 抽出されたデータの検証
- モデルのトレーニングおよび再トレーニング機能
- 迅速なAPI応答時間
- 多言語対応のオンプレミス展開
- 継続的に学習するAIモデル
- テンプレート設定不要
- 複数のエクスポートオプション
Visual Studioプロジェクトの作成
- Visual Studio プロジェクトの作成
- AWS OCR Textractのインストール
- Nanonets OCR APIのインストール
- 画像からテキストへ
- バーコードとQRのテキスト化
- PDFからテキストへ
- 結論
1. Visual Studioプロジェクトの作成
1. Visual Studio プロジェクトの作成
このチュートリアルでは、Visual Studio 2022の最新バージョンを使用します。まだダウンロードおよびインストールしていない場合は、Visual Studioのウェブサイトから行うことができます。
次に、両方のライブラリを開始するためにコンソールプロジェクトを作成する必要があります。 次の手順でプロジェクトを作成します:
- Visual Studio 2022を開きます。
"新しいプロジェクトを作成"をクリックします。

提供されたオプションからC#コンソールアプリケーションを選択します。

- プロジェクトの名前と場所を設定します。 例えば、"OCRProject"と呼んでください。
"次へ"をクリックします。

追加情報の下で、最も安定したバージョンである.NET 6.0フレームワークを選択します。

- "作成"をクリックすると、指定された場所にプロジェクトが作成されます。
次に、比較のためにプロジェクトにライブラリをインストールします。
手順は次の通りです。
IronOCRライブラリをインストールするには複数の方法があります。 それぞれを順に見ていきましょう。
2.1. Visual Studio NuGet パッケージ マネージャーを使う
NuGetはプロジェクトに依存関係をダウンロードおよびインストールするためのパッケージマネージャーです。 そのパッケージには、コンパイルされたコード(DLLs)とマニフェストファイルが含まれています。次の方法でアクセスします:
- ツールタブをクリックします。
- NuGetパッケージマネージャーオプションを展開します。
"ソリューション用のNuGetパッケージを管理"をクリックします。

別の方法として:
- ソリューションエクスプローラーを右クリックします。
"NuGetパッケージを管理"をクリックします。

これで、NuGetパッケージマネージャーウィンドウが開きます。 IronOCRを検索し、インストールをクリック。

2.2. NuGetウェブサイトからのダウンロード
IronOCRはNuGetの公式ウェブサイトから直接ダウンロードすることもできます。次の手順に従ってください:
- NuGetのウェブサイトを訪問します。
- ページの右側にある"パッケージのダウンロード"オプションをクリックします。
- ダウンロードしたパッケージを開き、インストールを開始します。
- 最後に、ソリューションを再読み込みすると完了です。
2.3. IronOCRウェブページからのダウンロード
Iron Softwareのウェブサイトを訪問し、IronOCR for .NETのウェブページに移動します。 ページ下部にスクロールして、"DLLをダウンロード"または"Windowsインストーラーをダウンロード"をクリックします。

zipファイルがダウンロードされます。 プロジェクトファイルを解凍するかWindowsインストーラーを実行します。 それをプロジェクトに追加するための手順は以下の通りです:
- ソリューションエクスプローラーでプロジェクトの依存関係を右クリックします。
- "プロジェクト参照の追加"を選択します。
- ダウンロードされたDLLファイルの場所を参照します。
- 最後に"OK"をクリックしてプロジェクト参照を追加します。
2.4. Visual Studioのコマンドプロンプトを使用する
- Visual Studioのツールタブに移動します。
- NuGetパッケージマネージャーオプションを展開します。
- パッケージマネージャーコンソールを選択し、以下のコマンドを入力します:
Install-Package IronOcr
これにより、プロジェクトにIronOCRが自動的にダウンロードされてインストールされます。
これでプロジェクトでIronOCRを使用する準備が整いました。
2.5. 必要なIronOCR名前空間の追加
アクセスするために必要なIronOCRの関数があるソースコードファイルの上部に追加する必要がある名前空間は1つだけです。
using IronOcr;using IronOcr;Imports IronOcr次に、Nanonets OCR APIをインストールしましょう。
3. Nanonets OCRのインストール
Nanonetsは、データをキャプチャするために複数の方法で使用できます。 瞬時にデータを抽出し、ターンアラウンドタイムを短縮するためにオンラインOCR機能を提供します。 REST APIとして、複数のプログラミング言語に統合できます。 ここでは、C#プログラミング言語への統合方法を示します。
C#でNanonets OCR APIを使用してデータキャプチャを自動化するには、次が必要です:
- Nanonetsにサインアップする - あなたはGmailアカウントかNanonetsに登録されたメールアドレスを使って無料トライアルにサインアップできます。
- OCRモデルを作成する - これは後でAPIコールを行う際に使用されるモデルIDを生成します。
- 無料APIキーを取得する - アカウント情報タブに進みAPIキーをクリックします。 ここでは、新しいキーを追加するか、既存のキーを使用できます。
3.1. RestSharp名前空間を追加する
RestSharpは、.NET用のシンプルなRestおよびHTTPクライアントライブラリです。 APIリクエストを送受信し、レスポンスを処理する際に使用されます。 Nanonets APIコードを実行するためには、このライブラリが必要です。
RestSharpをインストールするには、ソリューション用のNuGetパッケージマネージャーを開き、RestSharpを検索してインストールします。 または、パッケージマネージャーコンソールを開いて次のコマンドを入力します:
Install-Package RestSharp
これで、すべてがセットアップされ、使用する準備ができています。
4. 画像からテキストへ
画像からデータを読み取ることは、かなり面倒な作業です。 画像の解像度や品質は、内容を抽出する際に重要な役割を果たします。 IronOCRとNanonetsの両方は、画像からテキストを抽出するための光学文字認識機能を提供します。
IronOCRは、先進のテッサーラクトを使用してPDFドキュメント形式からテキストを認識および読み取ることを可能にします。
IronOCRは、その強力なIronTesseractクラスを使用して画像ファイルの内容を読み取ることを開発者にとって非常に簡単にしています。 PNG画像ファイルからテキストを読み取るために、次のコードを使用します:
var Ocr = new IronTesseract();
using (var Input = new OcrInput()){
Input.AddImage("test-files/employmentapp.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}var Ocr = new IronTesseract();
using (var Input = new OcrInput()){
Input.AddImage("test-files/employmentapp.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddImage("test-files/employmentapp.png")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using修正済み社員データ

出力

IronOCRの出力は、指定された元の画像と一致します。 コードはクリーンで技術的な詳細なしに理解しやすいです。
4.2. Nanonets OCRを使用する
Nanonetsは画像からテキストを抽出する機能も提供しています。 これを行うためには、認証キーを使用してAPIコールを行い、その後画像をNanonetsサーバーにアップロードします。 迅速なOCRツールは、アプリケーションへのレスポンスとして抽出されたテキストを返します。 コードの例は以下の通りです:
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/FullText");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddFile("file", "FILE_PATH");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);var client = new RestClient("https://app.nanonets.com/api/v2/OCR/FullText");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddFile("file", "FILE_PATH");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);Dim client = New RestClient("https://app.nanonets.com/api/v2/OCR/FullText")
client.Timeout = -1
Dim request = New RestRequest(Method.POST)
request.AddHeader("Authorization", "Basic " & Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")))
request.AddFile("file", "FILE_PATH")
Dim response As RestResponse = client.Execute(request)
Console.WriteLine(response.Content)
出力は完全ではありません。 画像には構造化データが含まれており、そのうちの一部のみが正しく取得されています。 別のシンプルなテキスト画像の場合、出力は正常でした。モデルはより正確な結果のためにトレーニングすることができます。
5. バーコードとQRコードをテキストへ
コードは前のものとほとんど同じです。
IronOCRは、画像を読み取るための便利な機能を提供しており、バーコードとQRコードを検出し読み取ることができます。 この機能を有効にするには、画像を処理する前にReadBarcodes構成プロパティをtrueに設定します。 OCR処理が完了したら、OCR結果を反復して、検出された各バーコードの値を抽出します。 IronOCRでバーコードを読み取る例のコードスニペットは以下の通りです:
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput()) {
input.AddImage("test-files/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes){
Console.WriteLine(Barcode.Value);
}
}var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput()) {
input.AddImage("test-files/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes){
Console.WriteLine(Barcode.Value);
}
}Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
Using input = New OcrInput()
input.AddImage("test-files/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
Next Barcode
End Using入力画像

出力

入力画像の3つのバーコードすべてが正常に読み取られ、その隠されたテキストが表示されました。
5.2. Nanonets OCRを使用する
Nanonets OCR APIはQRコードを検出する機能を提供します。 ただし、この機能はエンタープライズプランにのみ利用可能であり、使用するには営業担当者に連絡する必要があります。 さらに、Nanonetsはドキュメントまたはレシートの特定の部分を検出することができ、他にも買掛金、請求書処理、会計自動化などの機能も提供しています。
6. PDFからテキストへ
6.1. IronOCRの使用
PDFファイルを読み取ることは、IronOCRを使用して画像ファイルを読むのと同じくらい簡単です。 唯一の必要な変更は、画像を読み取るためのコードでAddImageの代わりにAddPdfメソッドを使用することです。 コードは以下の通りです:
var Ocr = new IronTesseract();
using (var Input = new OcrInput()) {
Input.AddPdf("test-files/example.pdf");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}var Ocr = new IronTesseract();
using (var Input = new OcrInput()) {
Input.AddPdf("test-files/example.pdf");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddPdf("test-files/example.pdf")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using抽出されたテキストはPDFファイルと同じ形式であります。

6.2. Nanonets OCRを使用する
PDFファイルからデータを読み取ることも、Nanonets OCR APIで可能です。 コードはほとんど画像テキスト検出のコードと同じで、差はリクエストで使用されるURLだけです。コードを見てみましょう:
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddHeader("Accept", "Multipart/form-data");
request.AddFile("file", "test-files/example.pdf");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);var client = new RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddHeader("Accept", "Multipart/form-data");
request.AddFile("file", "test-files/example.pdf");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);Dim client = New RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false")
Dim request = New RestRequest(Method.POST)
request.AddHeader("Authorization", "Basic " & Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")))
request.AddHeader("Accept", "Multipart/form-data")
request.AddFile("file", "test-files/example.pdf")
Dim response As RestResponse = client.Execute(request)
Console.WriteLine(response.Content)上記のコードでは、model_idをご自分のOCRモデルIDと置き換えてください。 また、APIキーを自身のAPIキーに置き換えてください。 その後、PDFファイルパスを自身のファイルのパスに置き換えてください。

Nanonets OCRの出力はIronOCRと似ていますが、余分なスペースと改行が含まれる出力です。
IronOCRは、開発者ライセンスを無料で提供するライブラリです。
IronOCRは、開発目的で無料ですが、商業利用にはライセンスが必要です。 また、全ての潜在能力をあなたのニーズに合わせて試せる無料トライアルも提供しています。 ライトパッケージは30日間の返金保証付きで$799から始まります。 IronOCRは1年間の製品サポートと無料のアップデートを提供し、その後は年間$399です。 あらゆるライセンスは永久ライセンスであり、一度の購入で隠された費用はありません。 さらに、SaaSおよびOEM製品のロイヤリティフリーの再配布補償を$1999の一回限りの購入で選択することもできます。 ライセンスパッケージと価格プランの詳細については、次のリンクを訪問してください。

Nanonets OCR APIは3つの異なるパッケージを提供しています。 スターターパッケージへの無料登録が可能です。 最初の500ページは無料で、その後はページごとに$0.3が課金されます。 使用した分だけ支払います。 価格の詳細については、このリンクを訪問してください。

IronOCRは、私たちが知っている中で最も高度なTesseract APIをC#開発者に提供します。どのプラットフォームでも利用可能です。

IronOCRはC#開発者に対して、ほとんどのプラットフォームで利用可能な高度なTesseract APIを提供します。 Windows、Linux、Mac、Azure、AWS、およびLambdaにデプロイでき、.NET Frameworkプロジェクトだけでなく、.NET Standardと.NET Coreもサポートします。 IronOCRもOCRスキャンでバーコードを読み取ることを可能にし、HTMLや検索可能なPDFとしてのOCR出力も可能です。 C# Tesseract OCRの詳細については、こちらをクリックしてください。
Nanonets OCR APIは様々なOCRツールを提供しています。 複数のドキュメントタイプ(請求書、レシート、請求書、フォーム、IDカード)に対する即使用可能なOCRソリューションを提供し、データキャプチャを自動化します。 テンプレート設定は不要で、隠れた費用はなく、Nanonets OCR APIを使用することで90%の時間を節約し、生産性を10倍に向上させます。
IronOCRのライセンスは開発者ベースであるため、製品を使用する開発者の数に基づいて常にライセンスを購入する必要があります。 Nanonetsの価格プランは、情報を抽出し、データを分析するための画像またはPDFページの数に基づいています。 プロおよびエンタープライズプランはモデルごとの毎月のベースで、モデルとページの数が増えると、IronOCRライセンスと比較して価格が上がります。 さらに、IronOCRのライセンスは一度限りの購入で生涯使用可能であり、OEMおよびSaaSの配布をサポートします。
全体的な比較では、どちらのAPIもAIとMLベースのOCR機能を提供しています。 IronOCRは少しの利点を持っており、オフラインでも使用可能で、非構造化ドキュメントに対してもより信頼性のある結果を提供します。 IronOCRはカスタムトレーニングされたデータと迅速な統合を使用してより正確な結果を可能にします。 さらに、Nanonets OCRは重要なフィールドに基づいてモデルをトレーニングする機能を提供しますが、適切にトレーニングされていない場合、検出が困難です。 IronOCRは多言語サポートを提供し、125以上の国際言語をサポートします。
今、あなたは完全なIron Suiteの一部として二つの価格で五つのIron製品を手に入れることができます。さらに探索するには、このリンクを訪問してください。
IronOCRは返金保証付きの無料トライアルも提供しています。 このリンクからIronOCRをダウンロードできます。
よくある質問
C#アプリケーションに最適なNanonets OCR APIの代替案は何ですか?
IronOCRは、C#アプリケーション向けのNanonets OCR APIの非常に推奨される代替品です。125以上の言語、バーコードとQRコードのスキャンをサポートし、オフラインで使用できる強力な.NETライブラリを提供します。
C#アプリケーションにOCR機能を統合するにはどうすればよいですか?
OCR機能をC#アプリケーションに統合するためには、IronOCRを使用します。これにより、カスタム構築されたTesseract 5エンジンで画像やPDFを機械可読なテキストに変換することができます。
IronOCRを使用する利点は何ですか?
IronOCRは、Nanonets OCR APIに対してオフライン能力、一回購入のライセンスモデル、広範な言語サポート、非構造化ドキュメントの高精度など、いくつかの利点を提供します。
IronOCRはどのように多言語OCR処理を行いますか?
IronOCRは125以上の言語をサポートすることで多言語OCR処理に対応し、同一ドキュメント内での多言語テキスト認識を正確に行うことができます。
IronOCRは画像中のバーコードやQRコードを読み取ることができますか?
はい、IronOCRは画像ファイルからバーコードやQRコードを検出して読み取ることができます。テキストとコードの認識を必要とするアプリケーションにとって多用途なツールです。
IronOCRのライセンスオプションにはどのようなものがありますか?
IronOCRは開発目的での無料体験版を提供しています。商用利用には、再発費用がない永久使用が可能な一回購入ライセンスが必要です。
IronOCRの価格モデルはNanonetsと比較してどうですか?
IronOCRは一回購入モデルを採用しているため、ユーザーは継続的な費用を避けることができます。一方、Nanonetsは使用量に基づいて料金を請求し、無料のスタートパッケージの後にページごとの料金が発生します。
C#プロジェクトでIronOCRを使用するために必要なインストール手順は何ですか?
C#プロジェクトでIronOCRを使用するには、開発環境にIronOCR NuGetパッケージをインストールする必要があります。その後、すぐにOCR機能を実装し始めることができます。
OCRはビジネスのワークフローをどのように改善しますか?
OCRは画像やPDFを検索および編集可能なテキストに変換することでデータ入力プロセスを自動化し、さまざまなビジネスオペレーション全体の効率を高めます。
IronOCRはオフライン使用に適しているのはなぜですか?
IronOCRは、OCRタスクを実行するために常時インターネット接続を必要としないため、接続性が制限されている環境での信頼性の高いパフォーマンスが求められるアプリケーションに理想的です。






