フッターコンテンツにスキップ

Azure 用の OCR を始める

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
Install-Package IronOcr

IronOCRの言語サポート

IronOCRは125の国際言語をサポートしています。 デフォルトでインストールされている英語以外に、追加の言語パックをNuGet経由で.NETプロジェクトに追加したり、言語ページからダウンロードすることができます。

ほとんどの言語は、Fast、Standard(推奨)、Bestの品質でご利用いただけます。 最高品質のオプションを選択すると、より正確な結果が得られますが、処理時間が遅くなります。

Explore OCR in Multiple Languages with IronOCR.

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
Install-Package IronOcr

IronOCRは、Tesseract 5を使用してスキャンした各ページに対して、高度な結果オブジェクトを返します。 これには、それぞれの位置データ、画像、テキスト、統計的信頼度、代替記号の選択肢、フォント名、フォントサイズの装飾、フォントの重み、位置が含まれます:

  • ページ
  • パラグラフ
  • テキスト行
  • 単語
  • 個々の文字
  • BarCode

IronOCRでOCR結果を読む方法を探る

Human Support related to Azure OCR API

当社の開発チームからの直接的な人間サポート

製品、統合、またはライセンスの問い合わせであろうと、Ironの製品開発チームはすべての質問に対応します。Ironと対話を始め、このライブラリをプロジェクトで最大限に活用してください。

質問をする
Image To Text related to Azure OCR API

Azure の.NET 用 OCR 読み取りエンジン

不完全な画像を処理するための Microsoft Azure OCR ソリューション

パスポートのページ、請求書、銀行取引明細書、メール、名刺、または領収書にかかわらず、光学式文字認識 (OCR) はパターン認識、コンピュータ ビジョン、機械学習に基づく研究分野です。企業は、会計および財務システム、ビジネスのデジタル化、企業コンテンツ管理、データ報告システムでテキストを抽出するために、部門を越えて OCR を活用します。

他の 成功事例の構築に加えて、IronOCR はネイティブ C# OCR ライブラリである IronOCR を用いて、Google Tesseract と 2021 年 Microsoft Azure 認知サービスに付加価値を加えます。

実世界の画像を 99% の精度で変換したい場合は、IronOCR がどのようにして効率的で正確でスケーラブルでほぼ人間に見える光学文字認識アプリケーションを構築できるかをご覧ください。

マーケット競争力のある光学式文字認識とマーケットリーディングの光学式文字認識

光学文字認識 (OCR) は、さまざまな API が保護に対する多大な自信を主張するために、解決された現象と考えられています。しかし、さまざまな製品はしばしば堅苦しく、実世界のアプリケーションでは失敗することがあります。同様に、Tesseract OCR は、機械印刷された高解像度の完全なテキストで動作します。

いいですか?

現実の世界では、常に完全に印刷された手書きのテキストが高解像度で存在するわけではありません。それとは対照的に、回転、傾き、低 DPI、背景ノイズなどのデジタルの不完全性のすべての厄介なものは、IronOCR によって処理され、画像ファイルから手書きテキストを抽出することさえします。99.8 - 100% の精度で検索可能なドキュメントを提供し、Windows、Linux、macOS、Microsoft Azure、AWS、Docker など、クロスプラットフォームのサポートが含まれます - そこに C# 開発者が IronOCR を選択する理由があります。基本的な Tesseract OCR よりも価値を追加することにかかっています。

最高のものを装備しましょう!

上記に加えて、IronOCR は画像ドキュメントを迅速に処理するよう装備しています。それだけでなく、IronOCR API の機能も次のように含まれています:

  • OCR によってほぼすべてのファイル、画像、または PDF から印刷されたテキストを抽出し、卓越した正確さと驚異的な速度で
  • 検索可能なドキュメントに完璧で視覚的および空間表現で PDF および画像をテキスト抽出
  • exes や C++ コードは不要
  • 完全な PDF OCR サポート
  • MVC、WebApp、デスクトップ、コンソール、サーバーアプリケーションと互換性があります
  • 完全な .NET Core、Standard、および FrameWork サポート
  • C# および VB .NET で読み込み
  • OCR を XHTML にエクスポート
  • マルチスレッド対応
  • 125 の国際言語をサポート - すぐに使用できる言語パックとカスタムビルド
  • 画像、座標、統計、フォントなどを抽出
  • 商品および独自アプリケーション内で Tesseract OCR を再配布
  • ローカルで動作、SaaS は不要
  • Microsoft Cognitive Services からの OCR サービスの優れた代替

事実上無制限の機能 - IronOCR はデジタルワークスペースのための光学文字認識 OCR ツール 'the' です

ネイティブな .dlls や exes のインストールから、1つの真実の情報源に移行します - 単純な C# API を使用して、単一のネイティブ .NET コンポーネントライブラリを使用して開発します。対応するもの:

  • .NET Framework 4.5 以上
  • .NET Standard 2.0 以上 (.NET 5 Beta を含む 3.x 以上を含む)
  • .NET Core 2.0 以上 (.NET 5 Beta と 3.x を含む)
  • .NET 5
  • Xamarin for macOS

IronOCR API の技術的優位性はそれで終わらず、機能をさらに探索し続けることができます。私たちはビジネスの複雑さを一歩一歩削減し、ドキュメント処理アプリケーションを迅速化し、優れた機能を組み込むことでビジネス収益を最大化します:

  • 純粋な .NET OCR API 機能
  • ローカルでの OCR 操作、クラウドは不要であり、より多くのセキュリティ
  • 最適化された低品質、ノイズの多い、歪んだスキャンされたリソースを作成
  • PDF、マルチページ TIFF を読み取り
  • ユーザーが検索できる PDF ドキュメントまたは XHTML に OCR スキャン サンプルを保存できます
  • プレーン テキスト、バーコード データ、および段落、行、単語、文字を含む OCR 結果クラス

IronOCR API エッジ: コンピュータ ビジョンに取り組みますか?

私たちの光学式文字認識プロセスは、自動画像前処理から始まり、イメージ ファイルを強化し、抽出応答率を改善します。IronOCR は、例ベースのイメージファイルを最適なバージョンに変換することにより、あなたの作業に価値を追加します。IronOCR はすべての基盤をカバーします:

解像度の向上

IronOCR サービスは主に 300DPI(ドット/インチ)の画像ファイルでうまく機能するため、200-300 DPI の目標範囲にフィットするように、著しく範囲外の画像が再サンプリングされます。

これは、600 DPI 画像を 300 DPI にダウンサンプリングして翻訳するのではなく、自信を持って 100 DPI 画像を 200 DPI にアップサンプリングすることを意味します。

バイナリゼーション

IronOCR コグニティブ サービスはモノクローム画像で機能するように設計されているため、色情報やグレースケールの画像は適応型バイナリゼーションアルゴリズムを利用してモノクロに変換されます。

アルゴリズムは、エリア内のピクセルの密度を比較してピクセルをモノクロームに変換するために使用する閾値を決定します。

自動回転とデスクビューイング

IronOCR は、テキストの行と文字のパターンを探して、入力画像リソースを希望の方向に自動的にデスクビューイングおよび回転させます。

適応ノイズ除去

IronOCR を使用すると、画像ファイルはノイズの存在と量について自動的に分析されます。ノイズは基本的にスキャンされた画像に見られる「斑点」です。私たちの適応アルゴリズムは、ノイズの粒子のサイズに基づいてノイズを除去します。

サンプル イメージファイルが前処理され次第、IronOCR は入力画像ファイルをさまざまな処理ゾーンに分割します。

ゾーニング

もうひとつの前準備段階には、参照画像をさまざまな論理ゾーンに分割することが含まれます。IronOCR は最初に、ホワイトスペースやパターンを使用して、画像内のテキストと画像を位置特定し、テキスト領域を画像から分離します。

それがその後、ゾーン - 段落、カラム、およびテキストブロックに分けられます。テキスト認識中に無視されるべき画像と残りの非テキストピクセルは、スマート出力に含められます。その後 IronOCR が、テキストゾーンを表としてグリッドラインとテキストブロックでフラグします。

テキスト認識機能

ユーザーが検索できる単行テキストスレッドを、ピクセルブロブの多段階の、相互接続されたプロセスを行います。これには、文字分割、適応的分類、辞書参照、および関連するプロセスが含まれ、最適な抽出テキストに寄与します。

試され、テストされた多数のパラメータ

IronOCR API サービスを使用すると、複数の国際言語のワードレベル、シンボルの精度、マイクロソフトオフィス形式におけるレイアウト保留を含む、複数のデータファイル例の中で私たちのツールをテストしました。いくつかのパラメーターは自動でテストされますが、他のものには視覚チェックが含まれます。

IronOCR との接続 - 理想的な OCR認知サービスソリューション

IronOCR により、プレーンテキスト文字列に複数の入力形式でクロスプラットフォームの OCR 機能を追加できます。IronOCR で生産性を高めるために、自由に使用できる チュートリアルドキュメントから始めて IronOCR を使用する方法をガイドします。私たちの NuGet パッケージインストーラーをダウンロードし、無料トライアルキーで探索するか、24/7 の個人的なサポートに接続します。チームのサイズに関わらず、私たちのライフタイムライセンスでニーズをスケールします。

対応可能 .NET, VB.NET, C#

ライセンスを見る
サポート:
  • .NET Framework 4.0以上のサポート C#、VB、F#
  • Microsoft Visual Studio. .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 Tesseract の代替 | IronOCR

C# Tesseract PDFライセンス

Jim BakerはIronのOCRプロダクトの開発エンジニアです

IronOCR & Tesseract 比較 .NET 内

JimはIronOCRの開発において中心的な人物であり、OCRのための画像処理アルゴリズムと読み取り方法を設計し、構築しています。

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

C# PDFライセンス ASP.NET

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

.NET 用の画像からテキスト

画像からテキストを読むためにIronOCRを使用するGemmaのチームの方法を学びましょう。Gemmaは自身のコードサンプルを共有しています。

画像からテキストへの .NET チュートリアル
何千もの開発者が IronOcr を使用...

会計および財務のシステム

  • # 領収書
  • # 報告
  • # 請求書印刷
ASP.NET会計および財務システムにPDFサポートを追加

ビジネスのデジタル化

  • # ドキュメント
  • # 注文&ラベリング
  • # 用紙の置き換え
C#ビジネスデジタル化のユースケース

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

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

データと報告アプリケーション

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

企業、政府、SME、開発者の何千もがIronソフトウェア製品を信頼しています。

Ironのチームは、.NETソフトウェアコンポーネント市場で10年以上の経験があります。

Marval
Vireq
Foley
GE
Equinor
ANZ
Nexudus
Medcode