IronOCRとNanonets OCRの比較
光学文字認識 (OCR) は、画像ファイルを機械にエンコードされたテキストに変換する能力を提供します。 これは非常に便利で、スキャンされたドキュメントが画像ファイルとして保存され、これらの画像ファイル内のデータは通常のテキストエディタやワープロアプリケーションを使用して検索、編集、またはテキスト形式で保存することができないためです。 OCR処理は、これらの画像をユーザーによるさらなる処理のために機械可読のテキストに変換するのに役立ちます。
この現代において、インターネットで共有される文書は通常デジタル形式です、ほとんどがPDFまたは画像の形で。 画像をテキストに変換するためのオンラインリソースは多数あります。 しかし、多くの企業はこの機能をソフトウェアアプリケーションに組み込む必要があります。 これを念頭に置いて、ソフトウェアアプリケーションに組み込むためのOCR処理技術を提供する多くのライブラリがあります。
この記事では、C#用の最も人気のあるOCRライブラリの2つについて話し合います。 以下のような方法です:
- 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 プロジェクトの作成
- IronOCRのインストール
- Nanonets OCR APIのインストール
- 画像をテキストに変換
- バーコードおよびQRをテキストに
- PDFをテキストに変換
- ライセンス
- 結論
1. Visual Studio プロジェクトの作成
このチュートリアルでは、Visual Studio 2022の最新バージョンを使用します。まだダウンロードしていない場合は、Visual Studioのウェブサイトからダウンロードしてインストールできます。
これから、両方のライブラリを使用して開始するためにコンソールプロジェクトを作成する必要があります。 プロジェクトを作成する手順に従ってください:
- Visual Studio 2022を開きます。
-
新しいプロジェクトを作成をクリックします。

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

- プロジェクトを名前と場所で設定します。 例えば、それを"OCRProject"と呼びます。
-
次へをクリックします。

-
追加情報の下で.NET 6.0 Frameworkを選択します。これは最も安定したバージョンです。

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

または:
- ソリューションエクスプローラーを右クリックします。
-
NuGetパッケージの管理をクリックします。

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

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

ZIPファイルがダウンロードされます。 プロジェクトファイルを展開するか、Windowsインストーラーを実行します。 プロジェクトに追加するには、以下の手順に従ってください。
- Visual Studioのソリューションエクスプローラーからプロジェクトの依存関係を右クリックします。
- プロジェクト参照の追加オプションを選択します。
- ダウンロードしたDLLファイルの場所を参照します。
- 最後にOKをクリックしてプロジェクト参照を追加します。
2.4. Visual Studioでコマンドプロンプトを使用する
- Visual Studioのツールタブに移動します。
- NuGetパッケージマネージャーオプションを拡張します。
- パッケージマネージャーコンソールを選択し、以下のコマンドを入力します:
Install-Package IronOcr
これにより、プロジェクトにIronOCRが自動的にダウンロードおよびインストールされます。
さて、プロジェクトでIronOCRを使用する準備が整いました。
2.5. 必要なIronOCRネームスペースの追加
必要なネームスペースは1つだけで、IronOCRの機能にアクセスする必要があるソースコードファイルの上部に追加する必要があります。
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リクエストを送受信し、応答を処理するために使用されます。 このライブラリは、REST APIであるNanonets APIコードを実行するために必要です。
RestSharpをインストールするには、ソリューションのNuGetパッケージマネージャを開き、RestSharpを検索してインストールします。 あるいは、パッケージマネージャコンソールを開いて次のコマンドを入力してください:
Install-Package RestSharp
これで、すべて設定され使用準備が整いました。
4. 画像からテキストへの変換
画像からデータを読み取ることは非常に面倒な作業です。 画像の解像度と品質は、コンテンツを抽出する際に重要な役割を果たします。 IronOCRとNanonetsの両方が、画像からテキストを抽出する光学文字認識機能を提供します。
IronOCRは、進化したTesseractを使用して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コードからテキストへの変換
5.1. IronOCRの使用
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コードを検出する機能を提供します。 しかし、この機能はEnterpriseプランでのみ利用可能であり、使用するためにはセールスに連絡する必要があります。 さらに、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ファイルのパスを自分のファイルのパスに置き換えます。

出力はIronOCRと似ていますが、Nanonets OCRの出力には余分なスペースと新しい行が含まれています。
7. ライセンス
IronOCRは開発目的で無料ですが、商用利用にはライセンスが必要です。 その潜在能力をテストするための無料トライアルも提供しています。 Liteパッケージは$799からで、30日間の返金保証付きです。 IronOCRは1年間の製品サポートと無料アップデートを提供し、その後は年間399ドルです。 すべてのライセンスは永続的であり、1回の購入のみで隠れたコストはありません。 また、SaaSおよびOEM製品のロイヤルティフリーの再頒布を選択することもできます。これはわずか1999ドルの一括購入で提供されます。 ライセンスパッケージと価格プランの詳細については、次のリンクを参照してください。

Nanonets OCR APIは3つの異なるパッケージを提供します。 無料でスターターパッケージにサインアップできます。 最初の500ページは無料で、それ以降は1ページあたり0.3ドルです。 使用した分だけ支払います。 価格の詳細な情報については、このリンクを訪問してください。

8. 結論

IronOCRは、ほとんどのプラットフォームで利用可能な高度なTesseract APIをC#開発者に提供します。 Windows、Linux、Mac、Azure、AWS、Lambdaで展開可能で、.NET Frameworkプロジェクトだけでなく.NET Standardと.NET Coreをサポートします。 IronOCRはまた、OCRスキャンでバーコードを読み取り、OCRをHTMLや検索可能なPDFとしてエクスポートすることも可能にします。 C# Tesseract OCRの詳細については、こちらをクリックしてください。
Nanonets OCR APIは、さまざまなOCRツールを提供します。 請求書、領収書、ビル、フォーム、IDカードなどのさまざまな文書タイプに対応した、すぐに使用できるOCRソリューションを提供し、データキャプチャを自動化します。 テンプレート設定は不要、隠れた料金はなく、Nanonets OCR APIを使用することで90%の時間節約と10倍の生産性を実現します。
IronOCRのライセンスは開発者ベースであり、製品を使用する開発者の数に基づいて常にライセンスを購入する必要があります。 Nanonetsの価格プランは、画像またはPDFページ数に基づいて情報を抽出し、データを分析するものです。 ProおよびEnterpriseプランはモデルごとの月額であり、モデルとページ数が増えるとIronOCRライセンスに比べて価格が上昇します。 さらに、IronOCRのライセンスは一度きりの購入で、生涯使用可能であり、OEMおよびSaaSの配布をサポートします。
全体的な比較では、両方のAPIがAIとMLベースのOCR機能を提供しています。 IronOCRはオフラインで使用でき、非構造化文書でもより信頼性の高い結果を提供するため、Nanonetsよりわずかに優れています。 IronOCRは、より正確な結果のためにカスタムトレーニングデータを使用する機能を提供し、迅速に統合できます。 Nanonets OCRはキーフィールドに基づいてモデルをトレーニングする機能を提供し、適切にトレーニングされない場合には検出が難しいことがあります。 さらに、IronOCRは多言語サポートを提供し、125以上の国際言語に対応しています。
今すぐ、Ironスイート全体を2つの価格で5つのIron製品を手に入れられます。詳細はこのリンクを訪問してください。
IronOCRはまた、無料トライアルを提供しており、返金保証があります。 このリンクからIronOCRをダウンロードできます。
[{i:(Nanonets OCR APIはその所有者の登録商標です。 このサイトはNanonets OCR APIとは関連しておらず、承認もされておらず、スポンサーシップも受けていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。)}]
よくある質問
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タスクを実行するために常時インターネット接続を必要としないため、接続性が制限されている環境での信頼性の高いパフォーマンスが求められるアプリケーションに理想的です。


