ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
using IronOcr;
string imageText = new IronTesseract().Read(@"images\image.png").Text;
Imports IronOcr
Private imageText As String = (New IronTesseract()).Read("images\image.png").Text
IronOCR は、不完全にスキャンされた画像やPDFドキュメントからテキストを自動的に検出して読み取る能力で際立っています。 IronTesseract
クラスは最も簡単なAPIを提供します。
他のコードサンプルを試して、C#のOCR操作をきめ細かく制御してください。
IronOCRは、あらゆるプラットフォーム上で利用可能な最も高機能なTesseractのビルドを提供します。 速度と精度が向上し、ネイティブDLLおよびAPIが搭載されています。
.NET Framework、Standard、Core、Xamarin、Monoに対応するTesseract 3、Tesseract 4、Tesseract 5をサポートしています。
IronTesseract
直感的なAPIを使用する読み取り
VB.NETでOCRを実行するためのメソッドusing IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.Arabic;
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(@"images\arabic.gif");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
// Example with a Custom Trained Font Being used:
var ocrTesseractCustomerLang = new IronTesseract();
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest);
using (var ocrInput = new OcrInput())
{
ocrInput.LoadPdf(@"images\mixed-lang.pdf");
var ocrResult = ocrTesseractCustomerLang.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports System
Private ocrTesseract = New IronTesseract()
ocrTesseract.Language = OcrLanguage.Arabic
Using ocrInput As New OcrInput()
ocrInput.LoadImage("images\arabic.gif")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
' Example with a Custom Trained Font Being used:
Dim ocrTesseractCustomerLang = New IronTesseract()
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata")
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest)
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("images\mixed-lang.pdf")
Dim ocrResult = ocrTesseractCustomerLang.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
IronOCRは125の国際言語をサポートしています。
英語(デフォルトでインストールされている)以外の言語パックは、NuGetを介して、または当社のWebサイトからダウンロードしてお使いの.NETプロジェクトに追加することができます。言語のページ.
ほとんどの言語は、Fast、Standardで利用可能です。(推奨される)最高品質。 ベストはより正確ですが、同時に遅くなります。
using IronOcr;
using IronSoftware.Drawing;
// We can delve deep into OCR results as an object model of
// Pages, Barcodes, Paragraphs, Lines, Words and Characters
// This allows us to explore, export and draw OCR content using other APIs/
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("example.tiff", pages);
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
// Page object
int PageNumber = page.PageNumber;
string PageText = page.Text;
int PageWordCount = page.WordCount;
// null if we dont set Ocr.Configuration.ReadBarCodes = true;
OcrResult.Barcode[] Barcodes = page.Barcodes;
AnyBitmap PageImage = page.ToBitmap(ocrInput);
double PageWidth = page.Width;
double PageHeight = page.Height;
double PageRotation = page.Rotation; // angular correction in degrees from OcrInput.Deskew()
foreach (var paragraph in page.Paragraphs)
{
// Pages -> Paragraphs
int ParagraphNumber = paragraph.ParagraphNumber;
string ParagraphText = paragraph.Text;
AnyBitmap ParagraphImage = paragraph.ToBitmap(ocrInput);
int ParagraphX_location = paragraph.X;
int ParagraphY_location = paragraph.Y;
int ParagraphWidth = paragraph.Width;
int ParagraphHeight = paragraph.Height;
double ParagraphOcrAccuracy = paragraph.Confidence;
OcrResult.TextFlow paragrapthText_direction = paragraph.TextDirection;
foreach (var line in paragraph.Lines)
{
// Pages -> Paragraphs -> Lines
int LineNumber = line.LineNumber;
string LineText = line.Text;
AnyBitmap LineImage = line.ToBitmap(ocrInput);
int LineX_location = line.X;
int LineY_location = line.Y;
int LineWidth = line.Width;
int LineHeight = line.Height;
double LineOcrAccuracy = line.Confidence;
double LineSkew = line.BaselineAngle;
double LineOffset = line.BaselineOffset;
foreach (var word in line.Words)
{
// Pages -> Paragraphs -> Lines -> Words
int WordNumber = word.WordNumber;
string WordText = word.Text;
AnyBitmap WordImage = word.ToBitmap(ocrInput);
int WordX_location = word.X;
int WordY_location = word.Y;
int WordWidth = word.Width;
int WordHeight = word.Height;
double WordOcrAccuracy = word.Confidence;
foreach (var character in word.Characters)
{
// Pages -> Paragraphs -> Lines -> Words -> Characters
int CharacterNumber = character.CharacterNumber;
string CharacterText = character.Text;
AnyBitmap CharacterImage = character.ToBitmap(ocrInput);
int CharacterX_location = character.X;
int CharacterY_location = character.Y;
int CharacterWidth = character.Width;
int CharacterHeight = character.Height;
double CharacterOcrAccuracy = character.Confidence;
// Output alternative symbols choices and their probability.
// Very useful for spellchecking
OcrResult.Choice[] Choices = character.Choices;
}
}
}
}
}
Imports IronOcr
Imports IronSoftware.Drawing
' We can delve deep into OCR results as an object model of
' Pages, Barcodes, Paragraphs, Lines, Words and Characters
' This allows us to explore, export and draw OCR content using other APIs/
Private ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
Dim ocrInput As New OcrInput()
Dim pages = New Integer() { 1, 2 }
ocrInput.LoadImageFrames("example.tiff", pages)
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
For Each page In ocrResult.Pages
' Page object
Dim PageNumber As Integer = page.PageNumber
Dim PageText As String = page.Text
Dim PageWordCount As Integer = page.WordCount
' null if we dont set Ocr.Configuration.ReadBarCodes = true;
Dim Barcodes() As OcrResult.Barcode = page.Barcodes
Dim PageImage As AnyBitmap = page.ToBitmap(ocrInput)
Dim PageWidth As Double = page.Width
Dim PageHeight As Double = page.Height
Dim PageRotation As Double = page.Rotation ' angular correction in degrees from OcrInput.Deskew()
For Each paragraph In page.Paragraphs
' Pages -> Paragraphs
Dim ParagraphNumber As Integer = paragraph.ParagraphNumber
Dim ParagraphText As String = paragraph.Text
Dim ParagraphImage As AnyBitmap = paragraph.ToBitmap(ocrInput)
Dim ParagraphX_location As Integer = paragraph.X
Dim ParagraphY_location As Integer = paragraph.Y
Dim ParagraphWidth As Integer = paragraph.Width
Dim ParagraphHeight As Integer = paragraph.Height
Dim ParagraphOcrAccuracy As Double = paragraph.Confidence
Dim paragrapthText_direction As OcrResult.TextFlow = paragraph.TextDirection
For Each line In paragraph.Lines
' Pages -> Paragraphs -> Lines
Dim LineNumber As Integer = line.LineNumber
Dim LineText As String = line.Text
Dim LineImage As AnyBitmap = line.ToBitmap(ocrInput)
Dim LineX_location As Integer = line.X
Dim LineY_location As Integer = line.Y
Dim LineWidth As Integer = line.Width
Dim LineHeight As Integer = line.Height
Dim LineOcrAccuracy As Double = line.Confidence
Dim LineSkew As Double = line.BaselineAngle
Dim LineOffset As Double = line.BaselineOffset
For Each word In line.Words
' Pages -> Paragraphs -> Lines -> Words
Dim WordNumber As Integer = word.WordNumber
Dim WordText As String = word.Text
Dim WordImage As AnyBitmap = word.ToBitmap(ocrInput)
Dim WordX_location As Integer = word.X
Dim WordY_location As Integer = word.Y
Dim WordWidth As Integer = word.Width
Dim WordHeight As Integer = word.Height
Dim WordOcrAccuracy As Double = word.Confidence
For Each character In word.Characters
' Pages -> Paragraphs -> Lines -> Words -> Characters
Dim CharacterNumber As Integer = character.CharacterNumber
Dim CharacterText As String = character.Text
Dim CharacterImage As AnyBitmap = character.ToBitmap(ocrInput)
Dim CharacterX_location As Integer = character.X
Dim CharacterY_location As Integer = character.Y
Dim CharacterWidth As Integer = character.Width
Dim CharacterHeight As Integer = character.Height
Dim CharacterOcrAccuracy As Double = character.Confidence
' Output alternative symbols choices and their probability.
' Very useful for spellchecking
Dim Choices() As OcrResult.Choice = character.Choices
Next character
Next word
Next line
Next paragraph
Next page
IronOCRは、Tesseract 5を使用してスキャンした各ページに対して高度な結果オブジェクトを返します。 次の各項目について 位置データ、画像、テキスト、統計的な信頼性、代替シンボルの選択、フォント名、フォントサイズの装飾、フォントの重み、位置 を含んでいます:
製品、統合、ライセンスに関するご質問がある場合、Iron製品開発チームがお客様のご質問に対応いたします。Ironと連絡を取り、プロジェクトでライブラリを最大限に活用するための対話を始めましょう。
質問するIronOCR(光学式文字認識)ライブラリは、画像からテキストへの変換を素早く効率的に行うために開発者に役立ちます。IronOCRは.NET、VB .NET、およびC#と互換性があります。当社のトップ.NETアプリケーションは、.NETフレームワーク専用に設計されており、最適なパフォーマンスを実現するための開発者をサポートします。
OCRは、テキストファイル、バーコード、QRコンテンツなどを受け取り認識します。しかし、IronOCRは、OCRの読み取りおよび画像からのテキストをウェブ、Windowsデスクトップ、またはコンソール.NETプロジェクトに追加するための多くの方法を提供します。JPG、PNG、GIF、TIFF、BMP、JPEG、PDFなど、ほぼ無制限の画像フォーマットとファイルをサポートしています。
画像出力からテキスト、文字、行、および段落の認識結果が一見わかりにくいかもしれませんが、IronOCRの内部では、実際には最初に思ったよりも簡単であることがわかります。IronOCRは画像をスキャンして整列を確認し、ノイズ除去とフィルタを使用して品質と解像度をチェックします。画像のプロパティを調べ、OCRエンジンを最適化し、訓練された人工知能ネットワークを使用して、人間と同様にテキスト(画像から)を認識します。
OCRは、コンピュータにとっても簡単なプロセスではありません。しかし、IronOCRは検索可能なドキュメントを作成する全体のプロセスを迅速かつ簡単にし、100%の精度と最小限のコード行数で実現します。
チュートリアルを読むソフトウェアは地理的な境界に限定されるものではありません。ビジネスは国境を超えて機能し、結果を達成するために複数の言語に依存しています。同様に、単一の言語でしか文書認識を行わない光学文字認識(OCR)ツールは、あらゆる面で大きな「NO」です。
多言語OCRライブラリを使用すると、複数のOCR機能を活用して、スキャンしたPDFやスキャン画像から複数の言語(フランス語から中国語まで!)で検索可能なPDFドキュメントを作成できます。ダイナミックで単語検索可能なPDFドキュメントにより、あなたやクライアント、組織が無制限に使用および再利用することが可能となり、時間と労力が効率化されます。
お客様、お客様のビジネス、およびOCRのニーズ、組み込みまたは要求に応じて、IronOCRライブラリは幅広い言語をサポートしています。次の.NETプロジェクトでは、言語の互換性に関する心配は不要です!
以下の言語—アラビア語、スペイン語、フランス語、ドイツ語、ヘブライ語、イタリア語、日本語、簡体字中国語、繁体字中国語(標準中国語)、デンマーク語、英語、フィンランド語、ポルトガル語、ロシア語、スウェーデン語—いずれをご希望であっても、言語を指定するだけでそれらを提供いたします!お好みの言語をダウンロードできます。 言語パック または、24時間365日のサポートにご連絡ください。他の言語についても対応いたします。
最初のステップは、Windows Visual Studio用のNuGetパッケージインストーラーを使用することです。
言語パックをダウンロードIronOCRは競合製品とどのように異なるのでしょうか? OCR機能を簡単に追加し、テキストを抽出し、回転した画像をスキャンすることができるだけでなく、不完全なスキャンからOCRを実行することも可能です。一方、市場に出回っている多くの既製品は、しばしば柔軟性に欠け、正確性に乏しいため、現実の個人および企業向けアプリケーションでは失敗する運命にあります。大多数は機械印刷された高解像度で完全に調整されたテキストにのみ対応しているからです。
IronOCRは、強力なIronTesseract DLLによってGoogle Tesseractの機能を拡張します。これは、無料のTesseractライブラリよりも安定性と精度が向上した、ネイティブC#のOCRライブラリです。
最高のツールを使用すれば、完全ではないスキャン画像やストレージフォルダーに保存された画像があっても、IronOCRの画像処理ライブラリ変換がノイズを除去し、回転させ、歪みやずれた配置を減らし、解像度とコントラストを向上させます。高度な光学文字認識(OCR)設定により、コーダーの皆様に最高の検索可能な結果を何度でも生成するためのツールとコードが提供されます。
あなたが必要な言葉を検索し、99.8-100%の正確な結果に満足することはありません。そして、PDFドキュメント、マルチフレームTIFFファイル、JPEGおよびJPEG2000、GIF、PNG、BMP、WBMP、System.Drawing.Image、System.Drawing.Bitmap、System.IO.Streamの画像、バイナリ画像データ(byte[])、その他のすべてを含む無制限のサポートをお楽しみください!
Tesseractの代替案他の.NETフレームワークにおける.NETアプリケーションとは異なり、IronOCRのパッケージマネージャーコンソールと認識テキストコンソールに含まれる高度な光学式文字認識は、ユーザーに多様なフォント(Times New Romanから、難解なフォントに至るまで)、ウェイト、スタイルを用いた正確なテキスト読み取り機能を提供します。画像全体またはスキャン画像からの正確なテキスト読み取りに対応しています。画像の特定エリアを選択する能力により、速度と精度が向上します。数行から数段落のマルチスレッド処理により、OCRエンジンの速度が向上し、マルチコアマシン上で複数の文書を読み取ることが可能になります。
速度と正確性に関する当社の主張は、文字認識プロセスに限定されません。むしろ、改善はインストールの段階から始まります。IronOCRの.NET OCRエンジンは、インストールが簡単で、完全かつよく文書化された.NETソフトウェアライブラリです。Visual Studio用には単一のNuGetパッケージマネージャーインストールがあり、MVC、WebApp、デスクトップ、コンソール、サーバーアプリケーションとのマルチスレッド互換性も備えています。
外部のウェブサービスや継続的な料金、機密文書をインターネット経由で送信することなく、99.8-100%のOCR精度を達成できます。煩雑なC++コーディングを必要としないため、IronOCRは複数の文字、単語、行、段落、テキスト、および文書の完全なPDF OCRサポートが必要な場合の明確な選択肢です。
開発者がコーディングを完璧にするための最高のオプションを提供しています。IronOCRは、パフォーマンスの調整や入力画像の大幅な変更を必要とせず、そのまま動作します。最新のIronOCRバージョンは驚異的な速度で動作し、以前のビルドよりも最大10倍速く、エラーが250%以上少なくなります。OCRのための完璧なプラットフォームを提供し、皆様の目標をサポートするために、私たち自身のビルドをアップグレードしています!
完全な機能リストを見るモバイルデバイスを使用しても、完璧な.NET OCRライブラリーにより、開発者は「心配なく」コーディングが可能となります。IronOCRは、単純でわかりやすいテキスト、複雑なテキスト、機械でエンコードされたテキスト、バーコードデータ、または構造化されたオブジェクトモデルデータとしてコンテンツをエクスポートすることをサポートします。コンテンツを段落、行、単語、文字、および画像文字列結果に分割して、.NETアプリ内で直接使用することができます。
ソースコードから最終結果まで — 結果として得られるデータは、アプリケーションにエクスポートできなければ無意味です。IronOCRはそれを理解しており、OCRの結果をXHTMLにエクスポートできるようにします。これにより、より広範なアプリケーションで持続可能なフォーマットで作業できるようになり、複雑なウェブサイトへの統合も容易になります。また、読み込み時間も短縮されます!
それでもサポートは終わりません。OCRを検索可能なPDFドキュメントにエクスポートできる機能により、必要なときにいつでもあなたやクライアント、組織がPDFドキュメントを簡単に保存および検索できます!特に、データベース内の30ページの契約書をいくつかのキーワードで検索できる場合に便利であり、検索可能なPDFドキュメントが視覚障害者に有益であることが証明されていることから、会社をコンプライアンス重視の企業として提示することも可能になります。
上記に加えて、OCRの出力結果、レイアウト情報、スタイル情報を表し、関連情報を標準的なHTMLに埋め込んだOCR形式に結果をエクスポートすることもできます。
詳しくはこちら無料 コミュニティ開発ライセンス。商用ライセンスは$749から。
C# テッセラクト OCR (光学式文字認識)
ジムはIronOCRの開発において主要な役割を果たしています。ジムは、OCR用の画像処理アルゴリズムと読み取り方式を設計・構築しています。
比較を見るC# OCR (光学式文字認識) ASP.NET
ジェンマのチームが彼らのアーカイブソフトウェア用にIronOCRを使って画像からテキストを読み取る方法を学びましょう。ジェンマが自身のコードサンプルを共有しています。
Image to Text .NET チュートリアルIronのチームは、.NETソフトウェアコンポーネント市場で10年以上の経験を有しています。
9つの .NET API製品 オフィス文書用