.NET OCRサンプルで始めましょう

C# + VB.NET: AutoOCR AutoOCR
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をサポートしています。

C# + VB.NET: 国際言語 国際言語
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で利用可能です。(推奨される)最高品質。 ベストはより正確ですが、同時に遅くなります。

C# + VB.NET: 結果オブジェクト 結果オブジェクト
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を使用してスキャンした各ページに対して高度な結果オブジェクトを返します。 次の各項目について 位置データ、画像、テキスト、統計的な信頼性、代替シンボルの選択、フォント名、フォントサイズの装飾、フォントの重み、位置 を含んでいます:

  • ページ
  • 段落
  • テキストの行
  • ワード
  • 個々の文字
  • バーコード

Human Support related to .NET CoreでのOCR

開発チームによる直接サポート

製品、統合、ライセンスに関するご質問がある場合、Iron製品開発チームがお客様のご質問に対応いたします。Ironと連絡を取り、プロジェクトでライブラリを最大限に活用するための対話を始めましょう。

質問する
Image To Text related to .NET CoreでのOCR

光学文字認識(OCR)読み取りエンジン— OCR .NET SDKでの画像からテキストへの変換

IronOCR(光学文字認識)ライブラリは、開発者が画像をテキストに変換する際に迅速かつ効率的な結果を提供します。IronOCRは.NET、VB .NET、およびC#で動作します。私たちのトップ.NETアプリケーションは、.NETフレームワーク用に特別に設計されており、開発者であるあなたがプロジェクトの最適なパフォーマンスを達成するのをサポートします。

OCRはテキストファイル、バーコード、QRコンテンツなどを受け取り認識します。しかし、IronOCRは数多くのメソッドも提供し、事実上無限の画像形式やファイル(JPG、PNG、GIF、TIFF、BMP、JPEG、またはPDFなど)のサポートとともに、ウェブ、Windowsデスクトップ、またはコンソール.NETプロジェクトにOCR読み取りと画像からのテキストを追加することができます。

裏側の仕組み - IronOCRは完璧な結果を提供します

画像出力からのプレーンテキスト、文字、行、パラグラフの認識結果は一見すると単純ではないかもしれませんが、IronOCRの裏側では実際のところ想像以上に簡単です。IronOCRは画像の整列をスキャンし、ノイズ除去とフィルタを使用して品質と解像度を確認します。物性を調べ、OCRエンジンを最適化し、訓練された人工知能ネットワークを使用して、画像からのテキストを人間と同様に認識します。

OCRはコンピューターにとっても単純なプロセスではありません。しかし、IronOCRは検索可能なドキュメントを作成する過程を100%の精度と最小限のコード行でより迅速かつ簡略化しています。

と互換性があります .NET, VB.NET, C#

チュートリアルを読む
Support For Languages related to .NET CoreでのOCR

多数の国際言語に対応します

ソフトウェアは地理的な境界に限定されません — ビジネスは国境を超えて機能し、結果を達成するために複数の言語に依存しています。同様に、単一の言語でしかドキュメント認識を行わない光学文字認識(OCR)ツールは、あらゆる面で重大なNOです!

多言語OCRサポートは何を意味しますか?

複数のOCR機能を提供する多言語OCRライブラリを使用すると、フランス語から中国語までの複数の言語でスキャンしたPDFまたはスキャン画像から検索可能なPDFドキュメントを作成することができます。あなたの時間と労力は、あなた、あなたのクライアント、またはあなたの組織が制限なしに使用および再利用できる動的で単語検索可能なPDFドキュメントによって合理化されます。

あなた、あなたのビジネス、そしてあなたのOCRニーズに焦点を当てて、組み込みまたは依頼で、IronOCRライブラリはサポートされている幅広い言語を提供しています。あなたの次の.NETプロジェクトは言語の互換性に関する心配から解放されることができます!

アラビア語、スペイン語、フランス語、ドイツ語、ヘブライ語、イタリア語、日本語、簡体字中国語、繁体字中国語(マンダリン)、デンマーク語、英語、フィンランド語、ポルトガル語、ロシア語、スペイン語、またはスウェーデン語、単に言語の名前を挙げていただくだけで、私たちはそれを提供します!お好みの言語パックをダウンロードするか、24時間年中無休のサポートでより多くの言語についてお問い合わせください。

最初のステップは、Windows Visual Studio用のNuGetパッケージインストーラーを使用することです。

言語パックをダウンロード
Advanced Image related to .NET CoreでのOCR

不完全なスキャンの正確な読み取りのための画像処理

IronOCRは競合他社とどのように異なるのでしょうか?OCR機能を簡単に追加し、テキストを抽出し、回転した画像をスキャンできることに加えて、不完全なスキャンからもOCRを実行することができます!対照的に、今日の市場に出回っている多くのすぐに使用できる製品は、多くの場合、機械で印刷された高解像度で完璧に調整されたテキストを扱うため、実際の個別および企業のアプリケーションで失敗する運命にあります。

IronOCRは、強力なIronTesseract DLLを使用してGoogle Tesseractの機能を拡張しています。このDLLは、無料のTesseractライブラリよりも安定性が高く、精度が向上したネイティブC# OCRライブラリです。

心配なく続行してください - IronOCRはあなたをサポートします!

最良のツールを手にしていると、少し不完全なスキャン画像やストレージフォルダーに保存された画像があっても、IronOCRの画像処理ライブラリの変換でノイズを除去し、回転、歪みや歪んだ配置を軽減し、解像度とコントラストを改善します。高度な光学文字認識(OCR)設定は、プログラマーに最高の検索可能な結果を一貫して生成するためのツールとコードを提供します。

必要な単語を検索し、99.8〜100%の精度と、PDFドキュメント、マルチフレームTIFFファイル、JPEG&JPEG2000、GIF、PNG、BMP、WBMP、System.Drawing.Image、System.Drawing.Bitmap、System.IO.Streamsの画像、バイナリ画像データ(byte[])などへの無制限のサポートに決して失望することはありません!

Tesseractの代替案
Fast And Polite Behavior related to .NET CoreでのOCR

高速かつ正確 — スキャンされたPDFから回転されたスキャン画像まで

他の .NET フレームワークの .NET アプリケーションとは異なり、IronOCR のパッケージ マネージャー コンソールおよび認識テキストコンソール内の高度な光学文字認識により、ユーザーは Times New Roman から華やかなものや理解が難しいと思われるものまで、複数の文字フォント、ウェイト、およびスタイルを読み取ることができます。全体の画像またはスキャンされた画像から正確にテキストを読み取れるようになります。画像の特定の領域を選択できることで、速度と精度が向上します。数行から数段落までのマルチスレッド処理により、OCR エンジンが高速化し、マルチコアマシンで複数のドキュメントを読み取ることができます。

最初から最後までのパフォーマンスをバックアップ

当社の速度と精度に関する主張は、文字認識のプロセスに限定されません。むしろ、改善は IronOCR の .NET OCR エンジンが使いやすく、完全かつ文書化された .NET ソフトウェア ライブラリであることから、インストール時点から始まります。Visual Studio 用の単一の NuGet パッケージ マネージャーのインストールがあり、MVC、WebApp、デスクトップ、コンソール、およびサーバーアプリケーションと互換性のあるマルチスレッドです。

外部の Web サービス、継続的な料金、機密文書のインターネット経由の送信は不要で、99.8~100% の OCR 精度を実現できます。面倒な C++ コーディングなしに、IronOCR はフル PDF OCR サポートが必要な場合の明確な選択肢です。複数の文字、単語、行、段落、テキスト、ドキュメントに対応しています。

IronOCR は、パフォーマンス調整や入力画像の大幅な変更を必要とせず、開発者がコーディングを完璧にするための最高のオプションを提供します。最新の IronOCR バージョンは非常に高速に動作し、最大 10 倍の速度向上と前のビルドに比べて 250% 以上のエラー削減率を実現します。私たちは、自身のビルドをアップグレードしてあなたの目標をサポートし、完璧な OCR プラットフォームを提供しています!

完全な機能リストを見る
Output Content related to .NET CoreでのOCR

OCR結果データを直接アプリケーションにエクスポート

モバイルデバイスを使用する場合でも、IronOCRは開発者が「心配することなく」コーディングできるようにサポートし、シンプルでわかりやすいテキストや複雑なテキスト、機械エンコードされたテキスト、バーコードデータ、または構造化オブジェクトモデルデータとしてコンテンツをエクスポートすることを可能にします。コンテンツの段落、行、単語、文字、およびイメージ文字列の結果を分割して、.NETアプリ内で直接使用できます。

ターゲットアプリケーションとフォーマットに快適にエクスポート — XHTML、検索可能なドキュメント、HOCR、HTML

ソースコードから最終結果へ — 結果データをアプリケーションにエクスポートできなければ無意味です。IronOCRはこの重要性を理解しており、XHTMLにOCR結果をエクスポートすることを可能にし、より広範なアプリケーションで使用可能な持続可能なフォーマットで作業し、複雑なウェブサイトへの統合を可能にし、そしてより短い読み込み時間も実現します!

しかし、サポートはそれだけにとどまりません。OCRを検索可能なPDFドキュメントにエクスポートする能力により、あなたやクライアント、組織が必要なときにPDFドキュメントを保存および取得するのが容易になります!特に30ページの契約書をいくつかのキーワードでデータベースで検索できる場合に有益であり、検索可能なPDFドキュメントが視覚障害者にとっても有益であると証明されていることから、コンプライアンスに配慮した会社としての印象を与えることができます。

さらに、上記に加えて、OCR出力、レイアウト情報、スタイル情報を表すOCRフォーマットに結果をエクスポートし、関連情報を標準HTMLに埋め込むことができます。

詳しくはこちら
サポート:
  • .NET Framework 4.0 以降のバージョンはC#、VB、F#をサポートしています
  • マイクロソフト・ビジュアル・スタジオ. .NET開発IDEアイコン
  • Visual Studio 用 NuGet インストーラーサポート
  • JetBrains ReSharper C# 言語アシスタント対応
  • Microsoft Azure C# .NET ホスティングプラットフォーム互換

ライセンスおよび価格設定

無料のコミュニティ開発ライセンス。商用ライセンスは$749から。

プロジェクトC# + VB.NETライブラリライセンス

プロジェクト

C# + VB.NET ライブラリの開発者向けライセンス

開発者

組織 C# + VB.NET ライブラリライセンス

組織

エージェンシー C# + VB.NET ライブラリ ライセンス

エージェンシー

SaaS C# + VB.NET ライブラリのライセンス販売

SaaS

OEM C# + VB.NET ライブラリライセンス

OEM (オーイーエム)

すべてのライセンスオプションを表示  

.NETコミュニティからのOCRチュートリアル

.NETテッセラクトOCR | IronOCR

C# テッセラクト OCR (光学式文字認識)

ジム・ベイカーはIronでOCR製品を開発している開発エンジニアです。

.NETにおけるIronOCRとTesseractの比較

ジムはIronOCRの開発において主要な役割を果たしています。ジムは、OCR用の画像処理アルゴリズムと読み取り方式を設計・構築しています。

比較を見る
.NET でのテキストを画像に | チュートリアル

C# OCR (光学式文字認識) ASP.NET

ジェンマ・ベックフォード - マイクロソフトソリューションエンジニア

.NET 向けの Text from Images

ジェンマのチームが彼らのアーカイブソフトウェア用にIronOCRを使って画像からテキストを読み取る方法を学びましょう。ジェンマが自身のコードサンプルを共有しています。

Image to Text .NET チュートリアル
何千人もの開発者がIronOCRを使用しています…

会計および金融システム

  • # レシート
  • # レポーティング
  • # 請求書の印刷
ASP.NET会計および財務システムにPDFサポートを追加

ビジネスデジタル化

  • # ドキュメント
  • # 注文およびラベリング
  • # ペーパー置換
C# ビジネスデジタル化のユーザーケース

エンタープライズコンテンツ管理

  • # コンテンツ制作
  • # ドキュメント管理
  • # コンテンツ配信
.NET CMS PDFサポート

データおよびレポート作成アプリケーション

  • # パフォーマンストラッキング
  • # トレンドマッピング
  • # レポート
C# PDFレポート
Iron Software企業.NETコンポーネント開発者

数千の企業、政府機関、中小企業、および開発者がIron Software製品を信頼しています。

Ironのチームは、.NETソフトウェアコンポーネント市場で10年以上の経験を有しています。

フォーリー
ANZ
Nexudus
メドコード
Equinor (Note:
ヴィレック
マルバル
GE