フッターコンテンツにスキップ
IRONOCRの使い方

C#でOCRソフトウェアデモを作成する方法

光学式文字認識 (OCR) は、スキャンした紙の文書、PDF、デジタル ファイル、デジタル カメラで撮影した印刷されたテキストの画像など、さまざまなドキュメント形式を、編集および検索可能な機械エンコードされたテキスト データに変換するテクノロジです。

IronOCR は、開発者に強力な OCR 機能を提供する優れた OCR エンジン ライブラリです。 この記事では、 OCR ソフトウェア デモのコード例を使用して、IronOCR を使用して OCR を実行する方法について説明します。

IronOCRとは何ですか?

IronOCR は、C# および VB.NET アプリケーション内で光学式文字認識 (OCR) を容易にするために設計された強力な .NET ライブラリです。 高度なアルゴリズムと機械学習技術を活用することで、IronOCR はスキャンされた PDF ファイル、画像、PDF からテキストとコンテンツを正確に抽出し、プログラムによるファイルの処理、検索、分析を容易にします。

わかりやすい API と豊富な機能により、開発者は OCR 機能をアプリケーションにシームレスに統合し、データ抽出、ドキュメント処理、データ入力、コンテンツ管理のタスクを自動化できます。 請求書、レポート、自動データ抽出、検索可能な PDF、その他のテキストが豊富なドキュメントなど、ビジネスで作業する場合でも、IronOCR は OCR 要件を効率的に処理する信頼性の高いソリューションを提供します。

IronOCRを使い始める

コード例に進む前に、 NuGet パッケージ マネージャーを使用して IronOCR をインストールする必要があります。 パッケージ マネージャー コンソールで次のコマンドを実行して、IronOCR をインストールできます。

Install-Package IronOcr

IronOCRでOCRを実行する

基本的なテキスト認識

IronOCR を使用して基本的なテキスト認識を実行するには、次のコード スニペットを使用できます。

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        using (var ocrInput = new OcrInput("ocr.png"))
        {
            var ocrResult = ocrTesseract.Read(ocrInput);
            string recognizedText = ocrResult.Text;
            Console.WriteLine(recognizedText);
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        using (var ocrInput = new OcrInput("ocr.png"))
        {
            var ocrResult = ocrTesseract.Read(ocrInput);
            string recognizedText = ocrResult.Text;
            Console.WriteLine(recognizedText);
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract = New IronTesseract()
		Using ocrInput As New OcrInput("ocr.png")
			Dim ocrResult = ocrTesseract.Read(ocrInput)
			Dim recognizedText As String = ocrResult.Text
			Console.WriteLine(recognizedText)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

このコードは IronOCR を使用して、"ocr.png"という名前の画像ファイルに対して光学式文字認識 (OCR) を実行します。 IronTesseractオブジェクトを初期化し、画像ファイルのテキスト レイヤーをOcrInputオブジェクトに読み込みます。

OCR の結果は、 recognizedTextとして取得され、コンソールに出力されます。

出力
- LOGO SHOP
- LOREM IPSUM
- DOLOR SITAMET CONSECTETUR
- ADIPISCING ELIT
- 1 LOREM IPSUM $3.20
- 2 ORNARE MALESUADA $9.50
- 3 PORTA FERMENTUM $5.90
- 4 SODALES ARCU $6.00
- 5 ELEIFEND $9.00
- 6 SEMNISIMASSA $0.50
- 7 DUIS FAMES DIS $7.60
- 8 FACILISIRISUS $810
- TOTAL AMOUNT $49.80
- CASH $50.00

高度なOCRオプション

IronOCR には、画像ファイルや要件に応じて OCR プロセスをカスタマイズできるさまざまなオプションが用意されています。 たとえば、OCR 言語を指定したり、画像の前処理設定を調整したり、テキストのクリーニングを有効にしたりできます。 これらの高度なオプションの一部を示す例を次に示します。

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using var ocrInput = new OcrInput();
        ocrInput.LoadImage(@"images\image.png");

        // Set OCR language to English
        ocr.Language = OcrLanguage.English;

        // Enable text cleaning and enhance the resolution
        ocrInput.DeNoise();
        ocrInput.EnhanceResolution(225);

        var result = ocr.Read(ocrInput);
        if (!string.IsNullOrEmpty(result.Text))
        {
            Console.WriteLine($"Recognized Text: {result.Text}");
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using var ocrInput = new OcrInput();
        ocrInput.LoadImage(@"images\image.png");

        // Set OCR language to English
        ocr.Language = OcrLanguage.English;

        // Enable text cleaning and enhance the resolution
        ocrInput.DeNoise();
        ocrInput.EnhanceResolution(225);

        var result = ocr.Read(ocrInput);
        if (!string.IsNullOrEmpty(result.Text))
        {
            Console.WriteLine($"Recognized Text: {result.Text}");
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocr = New IronTesseract()
		Dim ocrInput As New OcrInput()
		ocrInput.LoadImage("images\image.png")

		' Set OCR language to English
		ocr.Language = OcrLanguage.English

		' Enable text cleaning and enhance the resolution
		ocrInput.DeNoise()
		ocrInput.EnhanceResolution(225)

		Dim result = ocr.Read(ocrInput)
		If Not String.IsNullOrEmpty(result.Text) Then
			Console.WriteLine($"Recognized Text: {result.Text}")
		End If
	End Sub
End Class
$vbLabelText   $csharpLabel

このコードは、IronOCR を使用して、"images"フォルダにある画像ファイル"image.png"に対して OCR を実行します。 OCR 言語を英語に設定し、画像のノイズを除去し、解像度を高めます。 画像から認識されたテキストが抽出され、コンソールに出力されます。

! C#でOCRソフトウェアデモを作成する方法: 図1

バーコード読み取り

IronOCR はバーコードの読み取りもサポートしており、画像からバーコード情報を抽出するソフトウェアを作成できます。 以下は、IronOCR を使用してバーコードを読み取る方法を示すコード例です。

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        ocrTesseract.Configuration.ReadBarCodes = true;

        using var ocrInput = new OcrInput();
        ocrInput.LoadImage(@"images\imageWithBarcode.png");

        var ocrResult = ocrTesseract.Read(ocrInput);
        foreach (var barcode in ocrResult.Barcodes)
        {
            Console.WriteLine(barcode.Value);
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        ocrTesseract.Configuration.ReadBarCodes = true;

        using var ocrInput = new OcrInput();
        ocrInput.LoadImage(@"images\imageWithBarcode.png");

        var ocrResult = ocrTesseract.Read(ocrInput);
        foreach (var barcode in ocrResult.Barcodes)
        {
            Console.WriteLine(barcode.Value);
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract = New IronTesseract()
		ocrTesseract.Configuration.ReadBarCodes = True

		Dim ocrInput As New OcrInput()
		ocrInput.LoadImage("images\imageWithBarcode.png")

		Dim ocrResult = ocrTesseract.Read(ocrInput)
		For Each barcode In ocrResult.Barcodes
			Console.WriteLine(barcode.Value)
		Next barcode
	End Sub
End Class
$vbLabelText   $csharpLabel

このコードは、IronOCR を使用して、"images"フォルダ内の画像ファイル"imageWithBarcode.png"からバーコードを検出し、読み取ります。 ReadBarCodes true に設定して、バーコードの読み取りを有効にするように IronOCR を構成します。 検出されたバーコード値はコンソールに出力されます。

! C#でOCRソフトウェアデモを作成する方法: 図2

PDFテキスト抽出

IronOCR は PDF やスキャンされたドキュメントからテキストを抽出することもできます。 以下は、IronOCR を使用して PDF ファイルからテキストを抽出する方法を示すコード例です。

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        using var ocrInput = new OcrInput();

        // OCR entire document
        ocrInput.LoadPdf("Email_Report.pdf");

        // Alternatively OCR selected page numbers
        int[] pages = { 1, 2, 3, 4, 5 };
        ocrInput.LoadPdfPages("example.pdf", pages, Password: "password");

        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();
        using var ocrInput = new OcrInput();

        // OCR entire document
        ocrInput.LoadPdf("Email_Report.pdf");

        // Alternatively OCR selected page numbers
        int[] pages = { 1, 2, 3, 4, 5 };
        ocrInput.LoadPdfPages("example.pdf", pages, Password: "password");

        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract = New IronTesseract()
		Dim ocrInput As New OcrInput()

		' OCR entire document
		ocrInput.LoadPdf("Email_Report.pdf")

		' Alternatively OCR selected page numbers
		Dim pages() As Integer = { 1, 2, 3, 4, 5 }
		ocrInput.LoadPdfPages("example.pdf", pages, Password:= "password")

		Dim ocrResult = ocrTesseract.Read(ocrInput)
		Console.WriteLine(ocrResult.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

このコードは IronOCR を使用して、"Email_Report.pdf"という名前の PDF ドキュメントに対して OCR 処理を実行します。 LoadPdfを使用してドキュメント全体を OCR することも、パスワード付きのLoadPdfPagesを使用して"example.pdf"の特定のページを OCR することもできます。 OCR 操作で認識されたテキストがコンソールに出力されます。

! C#でOCRソフトウェアデモを作成する方法: 図3

結論

IronOCR は、高度な OCR ソフトウェア機能を提供する強力な .NET ライブラリであり、開発者がアプリケーションで OCR タスクを簡単に実行できるようになります。 この記事では、コード例を使用して、IronOCR を使用して基本および高度な OCR ソフトウェア デモを実行する方法について説明しました。

.NET プロジェクトに取り組んでおり、OCR 機能を統合する必要がある場合は、さまざまな OCR エンジンを検討する際に IronOCR を検討する価値が間違いなくあります。 使いやすさ、スピード、柔軟性、豊富なドキュメントにより、OCR 自動化タスクを行う開発者の間で人気のある選択肢となっています。

では、IronOCR を試してみて、OCR プロジェクトの開発プロセスがいかに簡素化されるか確認してみてはいかがでしょうか。 これはあなたのプロジェクトに最適な OCR エンジンかもしれません。

IronOCR は、無料の試用ライセンスを提供しており、その後は$799 USD から開始され、プロジェクトで IronOCR を最大限に活用し続けることができます。

IronOCR の詳細については、こちらをご覧ください。

よくある質問

どうやってC#でOCRを実行できるのですか?

C#でOCRを実行するには、IronOCRライブラリを使用します。まず、NuGetパッケージマネージャーを介して Install-Package IronOcr コマンドでインストールします。その後、IronTesseractオブジェクトを使用して画像やPDFからテキストを読み取り、それを編集可能なテキストに変換します。

C#を使用して画像からテキストを抽出するためには、どのような手順が必要ですか?

C#で画像からテキストを抽出するには、IronTesseractオブジェクトのインスタンスを作成してIronOCRを使用します。'ocr.png'のような画像をロードし、Read()メソッドを呼び出して画像を処理し、テキストを抽出します。

IronOCRでOCRプロセスをカスタマイズできますか?

はい、IronOCRでは、OCR言語の設定、ノイズリダクション用の画像前処理の有効化、解像度の調整などのオプションを設定することで、OCRプロセスをカスタマイズすることができます。

IronOCRでバーコード読み取りを行うことは可能ですか?

はい、IronOCRはバーコードの読み取りをサポートしています。OCRセットアップ内でバーコード読み取り機能を有効にして、画像からバーコード情報を検出および抽出するように設定できます。

C# を使用して PDF からテキストを抽出するにはどうすればよいですか?

IronOCRを使用すると、C#でPDFファイルからテキストを抽出できます。PDF全体をOCRをかけるか、特定のページを選択してIronTesseractに読み込み、そのRead()メソッドを使用してテキストを抽出することができます。

IronOCRが開発者に推奨される理由は何ですか?

IronOCRはその包括的なOCR機能、使いやすさ、迅速な処理、および柔軟性から開発者に推奨されています。.NETプロジェクトにシームレスに統合され、OCRタスクの効率的な自動化を可能にします。

IronOCRにライセンスオプションはありますか?

IronOCRは、フリートライアルから始まるさまざまなライセンスオプションを提供しています。開発者は、自分のアプリケーションでIronOCRの完全な機能を継続して使用するために、異なるライセンスから選択することができます。

IronOCRの使用例コードはどこで見つけることができますか?

'OCR Software Demo in C# (Developer Tutorial)'という記事で、IronOCRを使用するためのコード例を見つけることができます。基本的なテキスト認識、高度なOCRオプション、およびバーコード読み取りの例が示されています。

Kannaopat Udonpant
ソフトウェアエンジニア
ソフトウェアエンジニアになる前に、Kannapatは北海道大学で環境資源の博士号を修了しました。博士号を追求する間に、彼はバイオプロダクションエンジニアリング学科の一部である車両ロボティクスラボラトリーのメンバーになりました。2022年には、C#のスキルを活用してIron Softwareのエンジニアリングチームに参加し、IronPDFに注力しています。Kannapatは、IronPDFの多くのコードを執筆している開発者から直接学んでいるため、この仕事を大切にしています。同僚から学びながら、Iron Softwareでの働く社会的側面も楽しんでいます。コードやドキュメントを書いていない時は、KannapatはPS5でゲームをしたり、『The Last of Us』を再視聴したりしていることが多いです。