他のコンポーネントと比較

IronOCRとNanonets OCRの比較

更新済み 5月 8, 2023
共有:

光学文字認識 (OCR) (OCR (光学式文字認識)) 画像ファイルを機械読み取り可能なテキストに変換する機能を提供します。 これは非常に便利です。なぜなら、スキャンされたドキュメントは画像ファイルとして保存され、これらの画像ファイル内のデータは通常のテキストエディタやワードプロセッシングアプリケーションを使用して検索、編集、またはテキスト形式で保存することができないからです。 OCR処理は、これらの画像を機械可読のテキストに変換し、ユーザーによるさらなる処理を可能にします。

この現代では、インターネット上で共有される文書は通常デジタルフォーマットで、ほとんどがPDFや画像の形式です。 画像をテキストに変換するオンラインリソースは数多く存在します。 しかし、ほとんどの企業は自社のソフトウェアアプリケーションにこの機能を必要とします。 これを念頭に置くと、多くのライブラリがソフトウェアアプリケーションに組み込むためのOCR処理技術を提供しています。

この記事では、C#向けの最も人気のあるOCRライブラリのうち二つについて議論します。 これらは:

  • IronOCR (アイアンOCR)
  • Nanonets OCR API(エヌエーノーネッツ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の追加の重要な機能は以下に記載されています。

機能

  • 国際言語: 127以上の言語およびカスタム言語のサポート。
  • テキストとバーコードの読み取り: 複数の言語から一度にテキストや数字を読み取ります。
  • 専門文書: 領収書、小切手、請求書などの専門的な書類からテキストを読み取ります。
  • 多くの形式から読み取ります: 画像から読み取り (PNG、JPG、GIF、TIFF、BMP)「System.Drawing オブジェクト」、ストリーム、PDF ドキュメントなど。
  • 前処理機能:フィルタウィザード、画像補正、方向補正、カラー補正などの前処理機能が含まれます。
  • シンプルなデータ出力: .NETテキスト文字列、バーコード、QRコード、および画像形式で出力します。

    では、Nanonets OCR APIを見てみましょう。

Nanonets OCR API(エヌエーノーネッツOCR API)

Nanonets OCR API(エヌエーノーネッツOCR API) は、自動化されたワークフローのために、ビジネスニーズに合わせたリアルタイムのデータ抽出を提供するREST APIです。 OCR APIはAIを搭載しており、非構造化文書からデータを数秒で安全にキャプチャ、分類、抽出することができます。 Nanonetsを使用すると、手作業でのデータ入力を自動化し、必要な手作業を削減できます。

Nanonetsは、標準のテンプレートに従わない文書であっても、機械学習を使用して理解します。 任意の非構造化文書をアップロードし、異なるフィールドに基づいて必要な情報だけを取得できます。 従来のOCRとは異なり、Nanonets OCRモデルはより良い結果を得るために訓練することができます。 あなたのビジネスが成長するにつれて、Nanonetsのインテリジェントドキュメント処理OCRモデルも、新しいドキュメントごとに学び、進化し、迅速かつ正確な結果を提供します。

さらに、Nanonetsは、APIリクエストを必要とせず、Pythonアプリケーションへの簡単な統合およびデータキャプチャを可能にするPythonパッケージを提供します。 他の機能には以下が含まれます:

GDPRコンプライアンス

  • 自動データキャプチャ
  • 抽出されたデータの検証
  • モデルのトレーニングおよび再トレーニング機能
  • 高速なAPI応答時間
  • オンプレミス展開は複数の言語で利用可能
  • 継続的AI学習モデル
  • テンプレートの設定は不要です
  • 複数のエクスポートオプションが利用可能です

    記事の残りは次のとおりです:

  1. Visual Studio プロジェクトの作成

  2. IronOCRのインストール

  3. Nanonets OCR APIのインストール

  4. 画像からテキストへ

  5. バーコードおよびQRコードからテキストへ

  6. PDFをテキストに変換

  7. ライセンス

  8. 結論

1. Visual Studio プロジェクトの作成

このチュートリアルでは、最新バージョンのVisual Studio 2022を使用します。まだダウンロードおよびインストールしていない場合は、こちらから行うことができます。 Visual Studioウェブサイト.

次に、両方のライブラリを使用するためのコンソールプロジェクトを作成する必要があります。 プロジェクトを作成する手順に従ってください:

  • Visual Studio 2022 を開いてください。
  • 新しいプロジェクトを作成をクリックします。

    IronOCRとNanonets OCRの比較: 図1

  • 与えられたオプションからC#コンソール アプリケーションを選択してください。

    IronOCRとNanonets OCRの比較: 図2

  • 新しいプロジェクトに名前と場所を設定してください。 例えば、「OCRProject」と呼びます。
  • 次へ進む。

    IronOCRとNanonets OCRの比較: 図3

  • 追加情報の欄で、.NET 6.0フレームワークを選択してください。これは最も安定したバージョンです。

    IronOCRとNanonets OCRの比較: 図4

  • 次に、「作成」をクリックすると、プロジェクトが指定した場所に作成されます。

    次に、比較のためにプロジェクトにライブラリをインストールします。

2. IronOCRのインストール

IronOCRライブラリをインストールする方法はいくつかあります。 それでは、一つずつ見ていきましょう。

2.1. Visual Studio NuGet パッケージ マネージャーの使用

NuGetは、プロジェクト内の依存関係をダウンロードしてインストールするためのパッケージマネージャーです。 パッケージにはコンパイル済みのコードと (DLLs (動的リンクライブラリ)) およびマニフェストファイル。以下の方法を使用してアクセスします:

  • ツールタブをクリックしてください。
  • NuGetパッケージマネージャーのオプションを拡張する。

  • 「ソリューションの NuGet パッケージを管理」をクリックします。

    IronOCRとNanonets OCRの比較:図5

    あるいは:

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

    IronOCRとNanonets OCRの比較: 図6

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

    IronOCRとNanonets OCRの比較:図7

2.2. NuGetウェブサイトからダウンロード

IronOCR は NuGet 公式ウェブサイトから直接ダウンロードすることもできます。以下の手順に従ってください:

  1. リンクをクリックしてください: ""。

  2. ページの右側にある「download package」オプションをクリックしてください。

  3. ダウンロードしたパッケージを開くと、インストールが開始されます。

  4. 最後にソリューションをリロードして完了です。

2.3. IronOCRのウェブページを使用してダウンロードする

Iron Softwareのウェブサイトにアクセスし、IronOCR for .NETのウェブページに移動してください。 下までスクロールして、「Download DLL」または「Download Windows installer」をクリックしてください。

IronOCRとNanonets OCRの比較: 図8

ZIPファイルがダウンロードされます。 プロジェクトファイルを抽出するか、Windowsインストーラーを実行してください。 以下の手順に従って、プロジェクトに追加してください。

  1. ソリューションエクスプローラーからVisual Studioのプロジェクトの依存関係を右クリックします。

  2. 次に、オプションの「Add Project Reference」を選択します。

  3. ダウンロードしたDLLファイルの場所を参照します。

  4. 最後に、「OK」をクリックしてプロジェクト参照を追加します。

2.4. Visual Studioでコマンドプロンプトを使用する方法

  1. Visual Studioの[ツール]タブに移動します。

  2. NuGetパッケージマネージャーのオプションを拡張する。

  3. パッケージ マネージャー コンソールを選択し、次のコマンドを入力してください:
Install-Package IronOcr

これにより、プロジェクトにIronOCRが自動的にダウンロードおよびインストールされます。

さて、プロジェクトでIronOCRを使用する準備が整いました。

2.5. 必要なIronOCR名前空間を追加する

必要な名前空間は1つだけで、それをIronOCRの機能にアクセスするためにソースコードファイルの先頭に追加する必要があります。

using IronOcr;
using IronOcr;
Imports IronOcr
VB   C#

それでは、Nanonets OCR APIをインストールしましょう。

Nanonets OCRのインストール

以下は修正された段落です:

Nanonetsを使用して、データを複数の方法でキャプチャすることができます。 それは、即時なデータ抽出に使用できるオンラインOCR機能を提供し、処理時間を短縮します。 REST APIとして、それは複数のプログラミング言語に統合することができます。 ここでは、それをC#プログラミング言語に統合する方法を示します。

以下の事項が必要です:

Nanonets OCR APIを使用してC#でデータキャプチャを自動化するためには、

  1. Nanonetsにサインアップ - GmailアカウントまたはNanonetsで登録したメールアドレスを使用して、無料トライアルにサインアップできます。

  2. OCRモデルを作成 - これは後でAPIコールを行う際に使用するモデルIDを生成します。

  3. 無料のAPIキーを取得する - アカウント情報タブに移動し、APIキーをクリックします。 ここでは、新しいキーを追加するか、既存のキーを使用することができます。

3.1. RestSharp 名前空間の追加

RestSharpは、.NET向けのシンプルなRestおよびHTTPクライアントライブラリです。 APIリクエストの送受信および応答の処理に使用されます。 このライブラリは、Nanonets API コードを実行するために必要です。これはREST APIでもあります。

RestSharpをインストールするには、ソリューションのNuGetパッケージマネージャーを開き、RestSharpを検索してインストールします。 また、パッケージ マネージャー コンソールを開き、次のコマンドを入力することもできます:

PM> Install-Package RestSharp

さて、すべての設定が完了し、使用準備が整いました。

4. 画像からテキストへ

画像からデータを読み取ることは非常に面倒な作業となることがあります。 コンテンツを抽出する際には、画像の解像度と品質が重要な役割を果たします。 IronOCRとNanonetsの両方が、画像からテキストを抽出するための光学文字認識機能を提供します。

4.1. IronOCRを使用する

IronOCRは、開発者が非常に簡単に 画像ファイルの内容を読み取る 強力なIronTessaractクラスで。 以下のコードを使用して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
VB   C#

入力画像

IronOCRとNanonets OCRの比較: 図9

出力

IronOCRとNanonets OCRの比較: 図10

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.ToString());
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.ToString());
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.ToString())
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)
VB   C#

IronOCRとNanonets OCRの比較: 図11

出力は完璧ではありません。 画像には構造化データが含まれており、その一部のみが正しく取得されています。 別の単純なテキスト画像の場合、出力は問題ありませんでした。モデルをトレーニングして、より正確な結果を得ることができることに注意してください。

バーコードおよび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
VB   C#

入力画像

出力

入力画像のすべてのバーコードが正常に読み取られ、その隠されたテキストが表示されます。

5.2. Nanonets OCRの使用

Nanonets OCR APIはQRコードの検出機能を提供します。 ただし、この機能はエンタープライズプランでのみ利用可能であり、使用するには営業に連絡する必要があります。 さらに、Nanonetsを使用すれば文書やレシートの特定部分を検出することができます。また、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
VB   C#

抽出されたテキストは、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.ToString());
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
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false");
var request = new RestRequest(Method.Post.ToString());
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
Dim client = New RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false")
Dim request = New RestRequest(Method.Post.ToString())
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)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Console
VB   C#

上記のコードでは、モデルIDをあなたのOCRモデルIDに置き換えてください。 また、APIキーを自分のAPIキーに置き換えてください。 その後、PDFファイルのパスを自分のファイルのパスに置き換えてください。

出力はIronOCRに似ていますが、Nanonets OCRの出力には余分なスペースと改行が含まれています。

7. ライセンス

IronOCRは開発目的で無料で使用できますが、商業利用にはライセンスが必要です。 そのすべての可能性をテストするために無料試用版も提供しています。 ライトパッケージは、30日間の返金保証付きで $599 からご利用いただけます。 IronOCRは、1年間の製品サポートとアップデートを無料で提供し、その後は年間 $399 となります。 すべてのライセンスは永続的です。つまり、一度の購入のみで、追加料金は発生しません。 SaaSおよびOEM製品のためにロイヤリティフリー再配布カバレッジを、わずか$1999の一度きりの購入で選択することもできます。 ライセンスパッケージと価格プランの詳細については、以下のリンクをご覧ください。 リンク.

Nanonets OCR APIは、3つの異なるパッケージを提供しています。 無料でスターターパッケージにサインアップできます。 最初の500ページは無料で、その後は1ページあたり$0.3が課金されます。 必要な分だけ料金をお支払いください。 以下のリンクで価格に関する詳細な情報をご覧いただけます リンク.

8. 結論

IronOCRは、C#開発者に主要なプラットフォームで利用可能な高度なTesseract APIを提供します。 それは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ページの数に基づいています。 プロおよびエンタープライズプランはモデルごとの月額料金として設定されており、IronOCRライセンスと比較してモデルおよびページ数が増加すると価格も上昇します。 さらに、IronOCRのライセンスは一回限りの購入で、生涯にわたって使用することができます。また、OEMおよびSaaSの配布をサポートしています。

全体的に比較すると、どちらのAPIもAIおよびMLベースのOCR機能を提供しています。 IronOCRはオフラインで使用でき、構造化されていないドキュメントに対してもより信頼性の高い結果を提供するため、Nanonetsよりわずかに優位に立っています。 IronOCRは、より正確な結果のために、カスタムトレーニング済みデータを迅速に統合して使用する機能を提供します。 Nanonets OCRは主要なフィールドに基づいてモデルを訓練する機能を提供しますが、適切に訓練されていない場合は検出が困難です。 さらに、IronOCRは多言語サポートを提供し、127以上の国際言語をサポートしています。

5つのIron製品が2つの価格で手に入る、完全なIron Suiteの一環として提供されています。こちらをご覧ください リンク 詳しくはこちらをご覧ください。

IronOCRもまた、 無料試用 返金保証付き。 以下のリンクからIronOCRをダウンロードできます: リンク.

< 以前
IrisとIronOCRによるOCRソフトウェアの比較
次へ >
IronOCRとAspose.OCRの比較

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 2,290,361 View Licenses >