ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
光学文字認識(OCR (光学式文字認識))は、写真、手書きの文書、印刷されたテキスト、およびスキャンされた文書を機械可読なテキストに変換する技術です。 印刷されたテキストをデジタル化する一般的な方法です。これにより、電子的に編集、検索、よりコンパクトに保存、オンライン表示、認知コンピューティング、機械翻訳などの機械処理に使用することができます。(抽出された)スプレッドシートへのテキスト変換。 印刷された紙のデータ記録からのデータ入力の形態として広く使用されています。適用可能な書類には、パスポート文書、請求書、銀行取引明細書、コンピューター化されたレシート、名刺、郵便物、静的データの印刷物、またはその他の適切な文書が含まれます。 パターン認識、人工知能、コンピュータビジョンはすべてOCR研究の一部です。
この記事では、PDF文書および画像に対してOCRを使用するための一般的なライブラリとアプリケーションのうち、2つを比較します。 これらは:
ABBYY FineReader PDFソフトウェア
IronOCR
ABBYY FineReader PDFは光学式文字認識 (OCR) です。(OCR (光学式文字認識))ABBYYによって作成されたアプリケーション。 画像ドキュメントを変換することができます(画像、スキャン、PDFファイル)スクリーンショットや画面キャプチャを、Microsoft Word、Microsoft Excel、Microsoft PowerPoint、リッチテキスト形式、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や画像ファイルを比較するのに役立ちます。
IronOCRは、.NETアプリやウェブサイトで写真やPDFからテキストコンテンツを読み取るためにIronOCR for .NETを使用するエンジニア向けのソフトウェアを提供しています。 写真をテキストやバーコードのためにスキャンし、多数の世界中の言語をサポートします。 それは、プレーンテキストまたは構造化データとして出力を提供できます。 Iron SoftwareのOCRライブラリは、MVC、Web、コンソール、およびデスクトップの.NETアプリケーションで使用できます。 商業展開のためには、ライセンスは開発チームからの直接の支援を受けて提供されます。
Visual Studioソフトウェアを開き、「ファイルメニュー」に移動します。 「新しいプロジェクト」を選択し、「コンソールアプリケーション」を選択します。
プロジェクト名を入力し、適切なテキストボックスにファイルパスを選択してください。 次に、作成ボタンをクリックし、以下のスクリーンショットのように必要な .NET Framework を選択します。
Visual Studio プロジェクトは、選択されたアプリケーションの構造を生成します。コンソール、Windows、およびウェブアプリケーションを選択した場合、program.cs ファイルが開かれ、ここでコードを入力し、アプリケーションをビルド/実行することができます。
次に、コードをテストするためにライブラリを追加します。
ABBYY FineReaderをこちらからダウンロードできます。
上記の画像は、ニーズに応じてダウンロードできる2つのバージョン、個人用とビジネス用があることを示しています。 「無料トライアルをダウンロード」オプションを選択してください。 以下の画像のようにフォームにリダイレクトされます:
EXEファイルの場所を取得するためにフォームに記入する必要があります。 ダウンロードオプションをクリックしてファイルをダウンロードしてください。
ファイルのダウンロードが完了したら、EXEファイルをダブルクリックしてインストールを開始できます。 完了すると、ポップアップメッセージが表示され、使用できるようになります。
IronOCRライブラリは、4つの方法でダウンロードおよびインストールできます。
これらは:
3.2.1 Visual Studioの使用
Visual Studioソフトウェアには、NuGetパッケージマネージャーオプションを使用してパッケージを直接ソリューションにインストールする機能があります。 以下のスクリーンショットは、NuGetパッケージマネージャーの開き方を示しています。
NuGetウェブサイトからパッケージのリストを表示するための検索ボックスを提供します。 パッケージマネージャーでは、以下のスクリーンショットのように、IronOCRというキーワードを検索する必要があります。
上記の画像から、関連する検索アイテムのリストを取得します。 ソリューションにパッケージをインストールするために必要なオプションを選択する必要があります。
Visual Studioで、ツール-> NuGet パッケージマネージャー -> パッケージマネージャーコンソールに移動します。
パッケージマネージャーコンソールタブに次の行を入力してください:
Install-Package IronOcr
次に、パッケージが現在のプロジェクトにダウンロード/インストールされ、使用可能になります。
3つ目の方法は、ウェブサイトから直接NuGetパッケージをダウンロードすることです。
クリックしてください リンク 最新版のパッケージをウェブサイトから直接ダウンロードするにはこちらをクリックしてください。ダウンロード後、以下の手順に従ってパッケージをプロジェクトに追加してください。
IronOCRとAbbyy Finereaderの両方とも、画像をテキストに変換するためのOCR技術を備えています。
次に、ABBYY FineReader PDFアプリを開きます。以下の画像のように、複数のオプションが表示されます。
次に、OCRエディターのオプションから「Open」を選択します。 これにより、画像ファイルを選択するオプションが表示されます。
ファイルを選択すると、自動的に画像を編集可能なテキストにスキャンし始め、以下のスクリーンショットのようにウィンドウに結果を表示します。
上記の画像は、ソース画像が編集可能なテキストに変換されたことを示しています。 しかし、結果はあまり正確ではありません。 数字の一部はABBYY FineReader PDFアプリによって認識されません。これは比較ウィンドウで明示されています。左側には元の画像があり、右側にはOCR変換されたテキストがあります。
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage(@"3.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Console.ReadKey();
}
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage(@"3.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Console.ReadKey();
}
Dim Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using Input = New OcrInput()
Input.AddImage("3.png")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Console.ReadKey()
End Using
Tesseract 5 APIは、画像ファイルをテキストに変換することを可能にするものであり、上記に示されています。 上記のコード行でIron Tesseractのオブジェクトを作成しています。 また、複数の画像ファイルを追加できるようにする OcrInput オブジェクトも作成します。 コード内でOcrInputオブジェクトのメソッドaddを利用する際には、利用可能な画像パスを指定する必要があるかもしれません。 任意の枚数の画像を追加できます。 以前に構築したオブジェクトIronTesseractの関数「Read」は、画像ファイルを解析し、その結果をOCR結果に抽出することで画像を取得するために使用できます。 写真からテキストを抽出して文字列に変換することができます。
また、Tesseractを使用してマルチフレーム画像を追加することもできます。 「AddMultiFrameTiff」は、この操作用の異なるメソッドです。 Tesseractライブラリは画像の各フレームを読み取り、各フレームは別個のページとして扱われます。 プロセスは、画像の最初のフレームを読み取り、その後次のフレームへと進み、このようにして、画像のすべてのフレームがスキャンされるまで続きます。 このメソッドでサポートされているのはtiff画像形式のみです。
上記の画像はIronOCRの結果の出力であり、正確でデータが正しく編集可能なテキストに変換されていることを示しています。
IronOCR とABBYY FineReader PDF(ABBYYファインリーダーPDF)は、PDFファイルを編集可能なテキストに変換するのに役立ちます。 ABBYY FineReader PDF は、ユーザーにページの保存、画像の編集、ページの認識などのオプションを提供します。また、txt、ドキュメント、HTML 形式などの保存オプションも提供します。IronOCR も、変換された OCR ファイルを HTML、txt、pdf などの形式で保存することができます。
ABBYY FineReader PDF ソフトウェアを開いてください。 下の画像のようなページが表示され、複数のオプションが提供されます。
次に、OCRエディターのオプションから「Open」を選択します。 これにより、画像/PDFを選択するオプションが表示されます。 PDFまたは画像を選択することができます。または、両方のファイルを選択することもできます。
ファイルを選択した後、「OK」ボタンをクリックしてください。 画像を自動的にスキャンして編集可能なテキストに変換し、以下のスクリーンショットのようにウィンドウに結果を表示します。
上記の画像は、ソースPDFが編集可能なテキストに変換された様子を示しています。 しかし、結果は完全に正確ではありません。 一部の数字がABBYY FineReader PDFアプリケーションによって認識されません。 これは比較ウィンドウで明確に示されています — 左側にあるのがソースPDFで、右側にあるのがOCR変換されたテキストです。
PDFファイルを管理するためにOCRInputを使用することもできます。 書類のすべてのページはIron Tesseractクラスによって読み取られます。 テキストはその後、ページから抽出されます。 次に、「AddPdf」と呼ばれる第2の関数を用いて保護されたドキュメントを開くこともできます。これにより、PDFをドキュメントのリストに追加することができます。(パスワードで保護されている場合). 以下のコードは、パスワードで保護されたPDFドキュメントを開く方法を示しています:
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput())
{
Input.AddPdf("example.pdf", "password");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput())
{
Input.AddPdf("example.pdf", "password");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract() ' nothing to configure
Using Input = New OcrInput()
Input.AddPdf("example.pdf", "password")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
以下のメソッドはIron Tesseractによっても提供されています:
PDFページを追加
AddPdfPages(ページ追加)
私たちは、PDFドキュメントの単一ページの内容を読み取り抽出するために "Addpdfpage" を使用することができます。抽出したいテキストがあるページ番号のみを指定する必要があります。 「AddPdfPage」を使用すると、指定した多数のページからテキストを抽出することができます。 IEnumerable内で
IEnumerable<int> numbers = new List<int> {2,8,10 };
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
//single pageInput.AddPdfPage("example.pdf",10);
//Multiple pageInput.AddPdfPages("example.pdf", numbers);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}
IEnumerable<int> numbers = new List<int> {2,8,10 };
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
//single pageInput.AddPdfPage("example.pdf",10);
//Multiple pageInput.AddPdfPages("example.pdf", numbers);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
Result.SaveAsTextFile("ocrtext.txt");
}
Dim numbers As IEnumerable(Of Integer) = New List(Of Integer) From {2, 8, 10}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
'single pageInput.AddPdfPage("example.pdf",10);
'Multiple pageInput.AddPdfPages("example.pdf", numbers);
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
Result.SaveAsTextFile("ocrtext.txt")
End Using
SaveAsTextFile関数を使用すると、結果をテキストファイルとして保存でき、ファイルを出力ディレクトリパスにダウンロードすることができます。 また、SaveAsHocrFileを使用してファイルをHTMLファイルとして保存することもできます。
FineReaderには、Draw Text Area、Draw Picture Area、Draw Table Area、_Draw Recognize Area_などの追加オプションがあります。これらのオプションは、OCRのパフォーマンスを向上させるためにユーザーに役立ちます。 さらに、OCRを実行するだけでなく、アプリケーションはPDFの結合、PDFの分割、PDFの編集などの操作を行うこともできます。
IronOCRには、スキャンされたドキュメントからバーコードやQRコードを読み取るためのユニークな機能が備わっています。 以下のコードは、指定された画像やドキュメントからバーコードを読み取る方法を示しています。
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage("barcode.gif");
var Result = Ocr.Read(Input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
Ocr.Configuration.ReadBarCodes = true;
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var Input = new OcrInput())
{
Input.AddImage("barcode.gif");
var Result = Ocr.Read(Input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
}
}
Dim Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Ocr.Configuration.ReadBarCodes = True
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using Input = New OcrInput()
Input.AddImage("barcode.gif")
Dim Result = Ocr.Read(Input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
Next Barcode
End Using
上記は、特定の画像またはPDFドキュメントからバーコードを読み取るのに役立つコードです。 ページまたは画像から複数のバーコードを読み取ることができます。 バーコードを読み取るには、IronOCRにはバーコードを読み取るための特有の設定であるOcr.Configuration.ReadBarCodesがあります。 デフォルト値はfalseに設定されています。
入力を読み取った後、データはOCRResultと呼ばれるオブジェクトに保存されます。 これは、すべての利用可能なバーコードデータをリストにまとめるBarcodesというプロパティを持っています。for-eachループを使用することで、すべてのバーコードの詳細を一つ一つ取得できます。 また、バーコードをスキャンしてバーコードの値を読み取ります。これらの2つの操作が1つのプロセスで完了します。!
さらに、スレッディングオプションもサポートされているため、複数のOCRプロセスを同時に実行することができます。IronOCRは、指定された領域から特定のエリアを認識することもできます。
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
上記は、特定の領域でOCRを実行するためのサンプルコードです。 画像またはPDF上の矩形領域を指定するだけで、IronOCRのTesseractエンジンによりテキストの認識が可能になります。
.NET FrameworkのコンテキストでIronOCRを使用する場合、Tesseractはシンプルで使いやすいです。 多様な方法で写真およびPDFドキュメントをサポートします。 また、Tesseract OCRライブラリのパフォーマンスを向上させるためのいくつかの設定も提供しています。 さまざまな言語がサポートされており、単一の操作で多数の言語を処理することができます。 Tesseract OCRについて詳しく知るには、彼らのウェブサイトを訪れてください。
ABBYY FineReader PDFは、人工知能エンジンを使用して画像/PDFドキュメントを認識するソフトウェアアプリケーションです。 また、OCRプロセスのパフォーマンスを向上させるためのさまざまな設定を提供します。 さらに、複数の言語を選択するオプションが提供されています。 ABBYY FineReader PDFには、ページ変換の使用に制限がある場合があります。 異なるオペレーティングシステムに対して異なる価格があります。 ABBYY FineReader PDFの価格詳細について知るには、クリックしてください これ.
IronOCRはABBYY FineReader PDFより優れています。 比較によると、FineReaderでは一部の低品質な画像が認識されず、さらに画像内のいくつかの文字も認識できず、未知の文字として報告されました。 一方で、IronOCRは完全かつ正確な結果を示します。 また、バーコードデータを認識し、画像からバーコードの値を読み取ることも可能です。 IronOCR パッケージは永久ライセンスを提供しており、継続的なコストはありません。 IronOCRパッケージは、単一の価格で複数のプラットフォームをサポートします。IronOCRの価格詳細について詳しく知るには、クリックしてください。 これ.
9つの .NET API製品 オフィス文書用