IronOCRとAbbyy Finereaderの比較
この記事では、PDFドキュメントや画像にOCRを使用するための一般的なライブラリとアプリケーションの2つを比較します。 以下のような方法です:
- ABBYY FineReader PDF ソフトウェア
- IronOCR
C#でABBYY Finereader SDKを使用する方法
- C#でOCRを行うためにABBYY Finereader SDKをインストールする
- 画像やPDF文書をMicrosoft Word、検索可能なPDF、CSV、テキストに変換します
- PDFファイルから編集可能なPDFを作成する
- PDF/A-1からPDF/A-3およびPDF/UAをサポート
- 最新の AI ベースの OCR テクノロジーを使用して、あらゆる種類のドキュメントをデジタル化、取得、編集、保護、共有、共同作業できます。
1. はじめに
1.1 ABBYY FineReader PDF — 序論と特徴
ABBYY FineReader PDFは、ABBYYによって作成された光学文字認識(OCR)アプリケーションです。 これにより、画像ドキュメント(写真、スキャン、PDFファイル)、およびスクリーンキャプチャをMicrosoft Word、Microsoft Excel、Microsoft PowerPoint、RTF、HTML、PDF/A、検索可能なPDF、CSV、テキスト(プレーンテキスト)などの編集可能なファイル形式に変換することができます。
ABBYY FineReaderはWindows、Linux、macOSの両方で利用可能なデスクトップアプリケーションです。 PDFファイルに対する編集可能な形式の作成も可能です。 Adobe Acrobatと同様にPDFを読むこともできます。 ABBYY FineReaderはスキャン済みドキュメントをデジタルワークフローに統合します。
簡単かつ効率的に書類を管理し、完了させることで、時間と労力を節約します。 デジタルで作成されたか、紙から変換されたかに関係なく、同じ方法論的な方法でどのようなドキュメントでも作業できます。 最初に変換しなくとも、PDFのテキスト、テーブル、および全体のレイアウトを変更することができます。
ABBYY FineReader PDFは、紙のドキュメントから、またはほぼすべてのアプリケーションからPDFプリンターに印刷することにより、25を超える異なるファイル形式のPDFを作成することができます。 PDF/A-1からPDF/A-3は長期保存のためにサポートされており、PDF/UAは画面リーダーなどの支援技術を使用する際にコンテンツへのアクセスが保証されます。 また、デジタル職場での効率を最大化するために、プロフェッショナルを支援します。
情報を効果的に収集し、ドキュメントを標準化するためにABBYY FineReaderを使用して独自のインタラクティブPDFフォームを作成および更新します。 さまざまな種類のインタラクティブフィールドを組み合わせてフォームを作成し、アクションを設定し、既存のPDFフォームを編集するか、従来のPDFにフォーム要素を追加します。
ABBYY FineReaderは、紙の文書、スキャン、およびスキャンされたPDFを瞬時に検索可能なPDFに変換し、デジタルアーカイブから書類を取得し、その中に含まれる情報にアクセスすることを可能にします。 FineReader PDFは、PDF/A形式のすべてのコンプライアンスレベルおよびバリアントをサポートしています。これは、PDF/A-1からPDF/A-3までの長期保存のための業界標準です。
ABBYYの最新のAIベースのOCR技術であるFineReader PDFは、同じワークフローであらゆる種類の文書をデジタル化、検索、編集、保護、共有、および共同作業することを容易にします。 FineReaderには、オリジナルのドキュメント、および変換されたPDFと画像ファイルを比較するのに役立つドキュメント比較も含まれています。
1.2 IronOCR — 序論と特徴
IronOCRは、.NETアプリケーションおよびWebサイトで写真やPDFからテキストコンテンツを読み取るためにIronOCR for .NETを使用するエンジニアにソフトウェアを提供します。 写真をテキストとバーコードのためにスキャンし、世界中で多くの言語をサポートします。 その後、出力をプレーンテキストまたは構造化データのいずれかとして提供します。 Iron SoftwareのOCRライブラリは、MVC、ウェブ、コンソール、デスクトップアプリケーション for .NETで使用できます。 商業展開のためには、開発チームからの直接の支援とともにライセンスが提供されます。
- 最新のTesseract 5エンジンを使用し、IronOCRは任意の写真またはPDF形式からテキスト、バーコード、QRコードを読み取ります。 このライブラリは、デスクトップ、コンソール、ウェブアプリケーションにすばやくOCRを追加します。
- IronOCRは125の国際言語をサポートします。 カスタム言語や単語リストもサポートします。
- IronOCRは20以上のバーコード形式とQRコードを読み取ることができます。
- IronOCRはマルチページのGIFおよびTIFFイメージ形式をサポートします。
- IronOCRは質の低いスキャン画像の補正を提供します。
- IronOCRはマルチスレッドをサポートしており、1つ以上のプロセスを同時に実行します。
- IronOCRはページ、段落、行、単語、文字などの構造化データ出力を提供することができます。
- IronOCRはWindows、Linux、macOSなどのさまざまなオペレーティングシステムをサポートしています。
2. Visual Studioでプロジェクトを作成する
Visual Studioソフトウェアを開き、"ファイルメニュー"に進みます。 "新規プロジェクト"を選択し、"コンソールアプリケーション"を選択します。


Visual Studioプロジェクトは選択されたアプリケーションの構造を生成します。 コンソール、Windows、およびwebアプリケーションを選択した場合、コードを入力してアプリケーションをビルド/実行できるProgram.csファイルが開きます。

次に、コードをテストするためにライブラリを追加できます。
3. インストール
3.1 ABBYY FineReader PDFのインストール
ここからABBYY FineReaderをダウンロードできます。

上記の画像は、要件に応じてダウンロードできる2つのバージョン、個人用とビジネス用があることを示しています。 "無料試用版をダウンロード"オプションを選択します。 下の画像のようにフォームにリダイレクトされます:

フォームに記入してEXEファイルの場所を取得する必要があります。 ダウンロードオプションをクリックしてファイルをダウンロードします。
ファイルのダウンロードが完了すると、EXEファイルをダブルクリックしてインストールを開始できます。 完了すると、ポップアップメッセージが表示され、使用する準備が整います。
3.2 IronOCRのインストール
IronOCRライブラリは4つの方法でダウンロードおよびインストールできます。
以下のような方法です:
IronBarcodeライブラリをダウンロードしてインストールするには、4つの方法があります。
- Visual Studioを使用する
- Visual Studioコマンドラインを使用する
- IronPDFのウェブサイトからの直接ダウンロード
3.2.1 Visual Studioを使用する場合
Visual Studioソフトウェアは、ソリューションにパッケージを直接インストールするためのNuGetパッケージマネージャーオプションを提供します。 以下のスクリーンショットは、NuGetパッケージマネージャーを開く方法を示しています。

NuGetウェブサイトからパッケージの一覧を表示する検索ボックスを提供します。パッケージマネージャーでは、下記のスクリーンショットのようにIronOCRというキーワードで検索する必要があります:

上記の画像から、関連する検索アイテムのリストが得られます。 解決策にパッケージをインストールするために必要なオプションを選択する必要があります。
3.2.2 Visual Studioコマンドラインを使用する場合
Visual Studioで、ツール -> NuGetパッケージマネージャー -> パッケージマネージャーコンソールに移動
パッケージマネージャーコンソールタブに次の行を入力します:
このコマンドは、現在のプロジェクトにパッケージをダウンロードし、インストールし、使用する準備が整います。
3.2.3 NuGetウェブサイトからの直接ダウンロード
3番目の方法としては、Webサイトから直接NuGetパッケージをダウンロードすることです。
- リンクへアクセス。
- NuGetリンクに移動します
- ダウンロードしたパッケージをダブルクリックします。 自動的にインストールされます。
- 次に、ソリューションを再読み込みし、プロジェクトで使用を開始します。
3.2.4 IronOCRウェブサイトからの直接ダウンロード
ここでウェブサイトから最新のパッケージを直接ダウンロードするにはリンクをクリックします。 ダウンロード後、下記の手順に従ってプロジェクトにパッケージを追加します。
- ソリューションウィンドウからプロジェクトを右クリックします。
- その後、"参照の追加"オプションを選択し、ダウンロードした参照の場所を参照します。
- 次に、参照を追加するにはOKをクリックします。
4. OCR Image
IronOCRとABBYY FineReaderには、画像をテキストに変換するOCR技術が備わっています。
4.1 ABBYY FineReader PDFを使用する場合
次に、下の画像のように複数のオプションで開くABBYY FineReader PDFアプリを開きます。

次に、OCRエディタのオプションから"開く"オプションを選択します。 次に、画像ファイルを選択するオプションが提示されます:

ファイルを選択すると、画像を編集可能なテキストに自動的にスキャンし、下記のスクリーンショットのように結果をウィンドウに表示します:

上記の画像は、ソース画像が編集可能なテキストに変換された様子を示しています。 しかし、結果は完全には正確ではありません。 いくつかの数字がABBYY FineReader PDFアプリによって認識されていません。左側にソースイメージ、右側にOCR変換されたテキストがある比較ウィンドウでこれが明確に示されています。
4.2 IronOCRを使用する場合
// Create an instance of IronTesseract for OCR operations
var Ocr = new IronTesseract();
// Configure OCR language and Tesseract version
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
// Create a new OcrInput object to manage input images
using (var Input = new OcrInput())
{
// Add an image to the input for processing
Input.AddImage(@"3.png");
// Perform OCR to read text from the image
var Result = Ocr.Read(Input);
// Output the extracted text to the console
Console.WriteLine(Result.Text);
Console.ReadKey();
}' Create an instance of IronTesseract for OCR operations
Dim Ocr = New IronTesseract()
' Configure OCR language and Tesseract version
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
' Create a new OcrInput object to manage input images
Using Input = New OcrInput()
' Add an image to the input for processing
Input.AddImage("3.png")
' Perform OCR to read text from the image
Dim Result = Ocr.Read(Input)
' Output the extracted text to the console
Console.WriteLine(Result.Text)
Console.ReadKey()
End Using上記で示したTesseract 5 APIは、画像ファイルをテキストに変換することを可能にします。 上記のコードスニペットでIronTesseractインスタンスを作成しています。 OcrInputオブジェクトを使用して1つ以上の画像ファイルを追加できます。 OcrInputオブジェクトメソッドAddImageを利用する際、コード内で利用可能な画像のパスを指定する必要があります。 任意の数の画像を追加できます。 以前に構築したReadを使用して、画像ファイルを解析し、OCRの結果として抽出することができます。 画像からテキストを抽出し、それを文字列に変換することができます。
テッセラクトを使用してマルチフレーム画像を追加することもできます。 この操作にはAddMultiFrameTiffという別の方法があります。 テッセラクトライブラリは画像の各フレームを読み取り、各フレームを異なるページとして扱います。 最初のフレームを読み取り後、次のフレームに進み、画像の全てのフレームがスキャンされるまで続行します。 この方法がサポートするのはTIFF画像形式のみです。

上記の画像はIronOCRの結果の出力であり、正確で、データが正しく編集可能なテキストに変換されたことを示しています。
5. OCR PDF File
IronOCRとABBYY FineReader PDFは、PDFファイルを編集可能なテキストに変換するのに役立ちます。 ABBYY FineReader PDFはユーザーにページを保存、画像の編集、ページの認識などのオプションのリストを提供します。また、txt、ドキュメント、HTML形式などの保存オプションも提供します。IronOCRも、変換されたOCRファイルをHTML、txt、pdfなどに保存することを可能にします。
5.1 ABBYY FineReader PDFを使用する場合
ABBYY FineReader PDFソフトウェアを開きます。 これは下の画像のように複数のオプションを提供するページを開きます。

次に、OCRエディタのオプションから"開く"オプションを選択します。 これは画像/PDFを選択するオプションを提示します。 PDFまたは画像のいずれかを選択することができ、または両方のファイルを選択することができます。

ファイルを選択後、OKボタンをクリックします。 それは自動的に画像を編集可能なテキストにスキャンし、下記のスクリーンショットのようにウィンドウに結果を表示します。

上記の画像はソースPDFが編集可能なテキストに変換された様子を示しています。 しかし、結果は完全には正確ではありません。 ABBYY FineReader PDFアプリケーションによっていくつかの数字が認識されません。 左側にソースPDFがあり、右側にOCRに変換されたテキストがある比較ウィンドウでこれが明確に示されています。
5.2 IronOCRを使用する場合
OCRInputを使用してPDFファイルを管理することもできます。 Iron Tesseractクラスはドキュメントの各ページを読み取ります。 その後、ページからテキストが抽出されます。 AddPdfという関数を使って、(保護されている場合はパスワードで)PDFをドキュメントリストに追加できるので、保護されたドキュメントを開くこともできます。 以下のコードは、パスワード保護されたPDFドキュメントを開く方法を示しています:
// Create an instance of IronTesseract for OCR operations
var Ocr = new IronTesseract();
// Create OcrInput to manage input PDFs
using (var Input = new OcrInput())
{
// Add a password-protected PDF to the input
Input.AddPdf("example.pdf", "password");
// Perform OCR to read text from the PDF
var Result = Ocr.Read(Input);
// Output the extracted text to the console
Console.WriteLine(Result.Text);
}' Create an instance of IronTesseract for OCR operations
Dim Ocr = New IronTesseract()
' Create OcrInput to manage input PDFs
Using Input = New OcrInput()
' Add a password-protected PDF to the input
Input.AddPdf("example.pdf", "password")
' Perform OCR to read text from the PDF
Dim Result = Ocr.Read(Input)
' Output the extracted text to the console
Console.WriteLine(Result.Text)
End UsingIron Tesseractによって提供されるその他の方法:
AddPdfPageAddPdfPages
PDFドキュメント内の単一ページからコンテンツを読み取り、抽出するにはAddPdfPageを使用します。 テキストを抽出したいページ番号のみを指定する必要があります。 AddPdfPagesを使用すると、指定した複数ページからテキストを抽出できます。 IEnumerable<int>では、ページ数を指定するだけです。 また、ファイルの場所と拡張子を含める必要があります。以下のコード例で示されています:
// Define numbers representing pages to extract from the PDF
IEnumerable<int> numbers = new List<int> { 2, 8, 10 };
// Create an instance of IronTesseract for OCR operations
var Ocr = new IronTesseract();
// Create OcrInput to manage input PDFs
using (var Input = new OcrInput())
{
// Add a specific page from PDF for OCR
// Input.AddPdfPage("example.pdf", 10);
// Add multiple specific pages from PDF for OCR
// Input.AddPdfPages("example.pdf", numbers);
// Perform OCR to read text from the specified pages
var Result = Ocr.Read(Input);
// Output the extracted text to the console
Console.WriteLine(Result.Text);
// Save the extracted text to a file
Result.SaveAsTextFile("ocrtext.txt");
}' Define numbers representing pages to extract from the PDF
Dim numbers As IEnumerable(Of Integer) = New List(Of Integer) From {2, 8, 10}
' Create an instance of IronTesseract for OCR operations
Dim Ocr = New IronTesseract()
' Create OcrInput to manage input PDFs
Using Input = New OcrInput()
' Add a specific page from PDF for OCR
' Input.AddPdfPage("example.pdf", 10);
' Add multiple specific pages from PDF for OCR
' Input.AddPdfPages("example.pdf", numbers);
' Perform OCR to read text from the specified pages
Dim Result = Ocr.Read(Input)
' Output the extracted text to the console
Console.WriteLine(Result.Text)
' Save the extracted text to a file
Result.SaveAsTextFile("ocrtext.txt")
End UsingSaveAsTextFile関数を利用して、結果をテキストファイルとして保存し、出力ディレクトリパスにファイルをダウンロードできます。 また、SaveAsHocrFileを使用してファイルをHTMLファイルとして保存することもできます。
6. その他の機能
6.1 ABBYY FineReader PDFを使用する場合
FineReaderには、テキストエリアを描画する、画像エリアを描画する、テーブルエリアを描画する、認識エリアを描画する など、追加のオプションがあります。これらはユーザーがOCRのパフォーマンスを向上させるのに役立ちます。 さらに、OCRを実行するだけでなく、アプリケーションはPDFの結合、PDFの分割、PDFの編集などの操作を完了することも可能にします。
6.2 IronOCRの使用
IronOCRは、スキャンしたドキュメントからバーコードやQRコードを読み取る独自の機能を持っています。 以下のコードは、指定された画像またはドキュメントからバーコードを読み取る方法を示しています。
// Create an instance of IronTesseract for OCR operations
var Ocr = new IronTesseract();
// Configure OCR language and barcode reading
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
// Create OcrInput to manage input images
using (var Input = new OcrInput())
{
// Add an image containing barcodes
Input.AddImage("barcode.gif");
// Perform OCR to read text and barcodes from the image
var Result = Ocr.Read(Input);
// Iterate through detected barcodes and output their values
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}' Create an instance of IronTesseract for OCR operations
Dim Ocr = New IronTesseract()
' Configure OCR language and barcode reading
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.ReadBarCodes = True
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
' Create OcrInput to manage input images
Using Input = New OcrInput()
' Add an image containing barcodes
Input.AddImage("barcode.gif")
' Perform OCR to read text and barcodes from the image
Dim Result = Ocr.Read(Input)
' Iterate through detected barcodes and output their values
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
Next Barcode
End Using上記のコードは、指定された画像またはPDFドキュメントからバーコードを読み取るのに役立ちます。 ページ/画像から1つ以上のバーコードを読み取ることができます。 バーコードを読み取るために、IronOCRにはOcr.Configuration.ReadBarCodesという独自の設定があり、バーコードの読み取りを支援します。 入力を読んだ後、データはOCRResultというオブジェクトに保存されます。
入力を読み取った後、データはOCRResultというオブジェクトに保存されます。 これはBarcodesというプロパティを持ち、利用可能な全バコードデータをリストにまとめます。foreachループを使用して、バーコードの詳細を一つずつ取得できます。 さらに、スレッド設定もサポートされているため、複数のOCRプロセスを同時に実行することができます。IronOCRは、指定された領域の特定の領域を認識することもできます。
上記は、特定の領域でOCRを実行するためのサンプルコードです。
// Create an instance of IronTesseract for OCR operations
var Ocr = new IronTesseract();
// Create OcrInput to manage input images
using (var Input = new OcrInput())
{
// Define a specific rectangular area on the image for OCR
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Add an image specifying the area to be processed
Input.Add("document.png", ContentArea);
// Perform OCR to read text from the specified area
var Result = Ocr.Read(Input);
// Output the extracted text to the console
Console.WriteLine(Result.Text);
}' Create an instance of IronTesseract for OCR operations
Dim Ocr = New IronTesseract()
' Create OcrInput to manage input images
Using Input = New OcrInput()
' Define a specific rectangular area on the image for OCR
Dim ContentArea = New System.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
' Add an image specifying the area to be processed
Input.Add("document.png", ContentArea)
' Perform OCR to read text from the specified area
Dim Result = Ocr.Read(Input)
' Output the extracted text to the console
Console.WriteLine(Result.Text)
End Using画像やPDFで長方形の領域を指定するだけで、IronOCRのTesseractエンジンによりテキストの認識が可能になります。 .NET FrameworkコンテキストでIronOCRを使用する際には、Tesseractはシンプルで使いやすいです。
7. 結論
様々な方法で写真やPDFドキュメントをサポートしています。 さまざまな方法で写真やPDFドキュメントをサポートしています。 また、Tesseract OCRライブラリのパフォーマンスを向上させるためのいくつかの設定を提供します。 さまざまな言語がサポートされており、1つの操作内で多数の言語にも対応しています。 さらにTesseract OCRについて詳しく知りたい場合は、彼らのウェブサイトを訪れてください。
また、OCRプロセスのパフォーマンスを向上させるための様々な設定を提供しています。 さらに、複数の言語を選択するオプションを提供しています。 また、複数の言語を選択するオプションも提供しています。 ABBYY FineReader PDFには、ページ変換の使用に関するいくつかの制限があります。 異なるオペレーティングシステムには異なる価格があります。 ABBYY FineReader PDFの価格詳細については、こちらをクリックしてください。
私たちのテストでは、IronOCRはABBYY FineReader PDFと比較して強力なパフォーマンスを示しました。 IronOCRもバーコードデータを認識し、画像からバーコードの値を読み取ることができる追加の機能を提供しています。 IronOCRパッケージは、ライフタイムライセンスを提供し、継続的なコストはありません。 IronOCRパッケージは生涯ライセンスを提供しており、継続的なコストはありません。 IronOCRパッケージは、1つの価格で複数のプラットフォームをサポートします。IronOCRの価格詳細については、こちらをクリックしてください。
