
How To Create an OCR Receipt Scanner In C#
このチュートリアルは、C# の OCR API であるIronOCRを使用して、初心者がOCR レシート スキャナーを作成できるように設計されています。 このガイドを読み終えると、光学式文字認識 (OCR) を実装し、領収書 OCR API を使用してさまざまな種類の領収書ファイルを編集可能で検索可能なデータに変換する方法がわかります。 このテクノロジーは、経費管理を自動化し、手動によるデータ入力を最小限に抑えたいと考えている企業にとって、画期的な技術となる可能性があります。 さあ、始めましょう!
How To Create an OCR Receipt Scanner In C#
- Visual Studio で C# コンソール プロジェクトを作成します。
- NuGet パッケージ マネージャーを使用して OCR ライブラリをインストールします。
OcrInputメソッドを使用して、プログラムにレシートを読み込みます。Readメソッドを使用してテキストを抽出します。- 抽出したテキストをコンソールに表示します。
前提条件
コーディング部分に進む前に、次のものを用意してください。
- **Visual Studio:**これは統合開発環境(IDE)であり、ここでC#コードを記述および実行します。
- **IronOCRライブラリ:**ここでは、C#アプリケーションに簡単に統合できる高度なOCRライブラリであるIronOCRを使用します。 3.サンプルレシート: OCR実装のテストに使用する、 Sample_Receipt.jpgという名前のレシート画像ファイル。

ステップ 1: プロジェクトのセットアップ
**Visual Studio を開く:**デスクトップまたはアプリケーション メニューにある Visual Studio のアイコンを見つけて、ダブルクリックしてプログラムを開きます。
新しいプロジェクトを作成する: Visual Studioを開くと、起動ウィンドウが表示されます。 "新しいプロジェクトを作成"ボタンをクリックします。 Visual Studio を既に開いていて起動ウィンドウが表示されない場合は、上部のメニューから [ファイル] > [新規] > [プロジェクト] をクリックしてアクセスできます。
プロジェクトの種類を選択してください。 "新しいプロジェクトを作成"ウィンドウには、さまざまなプロジェクトテンプレートが表示されます。 検索ボックスに"コンソール アプリ"と入力してオプションをフィルターし、好みと互換性に応じてコンソール アプリ (.NET Core) またはコンソール アプリ (.NET Framework) を選択します。 次に、 **"次へ"**ボタンをクリックします。
**新しいプロジェクトを設定する:**次に、"新しいプロジェクトを設定する"というタイトルの画面が表示されます。
- プロジェクト名フィールドには、プロジェクトの名前として
OCRReceiptScannerを入力します。 - 場所フィールドでプロジェクトを保存する場所を選択または確認します。
- オプションで、プロジェクト名とは異なるソリューション名を指定することもできます。
- これらの詳細を入力した後、 **"次へ"**ボタンをクリックします。
**追加情報:**ターゲットの .NET Framework を選択するように求められる場合があります。 最新バージョンを選択し (特定の互換性要件がない限り)、 **[作成]**をクリックします。
ステップ2: IronOCRの統合
IronOCR ライブラリを使用する前に、それをプロジェクトに含める必要があります。 次の手順に従います。
-
ソリューションエクスプローラでプロジェクトを右クリックします。 2."NuGet パッケージの管理"を選択します。
-
NuGet パッケージ マネージャー ウィンドウには、 [参照] 、 [インストール済み] 、 [更新] 、 **[統合]**などのいくつかのタブが表示されます。 **[参照]**タブをクリックします。
-
検索ボックスにIronOCRと入力します。 これは、プロジェクトに追加するライブラリの名前です。 Enterキーを押して検索します。
-
検索結果に IronOCR ライブラリ パッケージが表示されます。 最初に表示される結果の 1 つになるはずです。 クリックして選択します。
-
IronOCR パッケージを選択すると、右側のパネルにパッケージの説明やバージョンなどの情報が表示されます。 このパネルには**"インストール"**ボタンもあります。

-
**"インストール"**ボタンをクリックします。 この操作により変更を確認するよう求められ、IronOCRと共に含まれる依存関係のリストが表示される場合があります。 変更と依存関係を確認し、すべてが正しいと思われる場合は、確認してインストールを続行します。
ステップ3: プロジェクトの構成
IronOCR をインストールしたら、次のステップはプロジェクトを構成することです。 1. Visual Studioを開き、"ツール">"NuGetパッケージマネージャー">"ソリューションのNuGetパッケージの管理"に移動します。
名前空間を追加: Program.cs ファイルの上部に、以下の名前空間を含めます:
using IronOcr;
using System;Imports IronOcr
Imports System設定項目: APIキーやライセンスキーなどの設定項目がある場合は、必ず含めてください。 IronOCR の場合、提供されたコードに示すようにライセンス キーを設定する必要があります。
License.LicenseKey = "License-Key"; // replace 'License-Key' with your keyLicense.LicenseKey = "License-Key" ' replace 'License-Key' with your keyステップ4:領収書を読む
それでは、レシートを読み取るコードを書いてみましょう。
**レシートへのパスを指定してください:**スキャンしたいレシートファイルのパスを指定してください。
string pdfFilePath = "Sample_Receipt.jpg";Dim pdfFilePath As String = "Sample_Receipt.jpg"try-catchブロック: try-catchブロックを使用してエラー処理を実装します。 これは、OCR プロセス中に発生する例外を管理するのに役立ちます。
try
{
// OCR code will go here
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}");
}Try
' OCR code will go here
Catch ex As Exception
' Handle exceptions here
Console.WriteLine($"An error occurred: {ex.Message}")
End Tryステップ5: OCRの実装
ステップ 5 では、アプリケーションのコア機能である、レシートからデータを読み取って解釈するための OCR の実装について詳しく説明します。 これには、OCR エンジンの初期化、入力の構成、OCR 操作の実行、結果の表示が含まれます。
IronTesseractを初期化する
コードの最初の部分は、IronTesseract クラスのインスタンスを作成します:
var ocr = new IronTesseract();Dim ocr = New IronTesseract()IronTesseract のインスタンスを作成することで、本質的にOCRツールをセットアップし、テキスト認識タスクを実行する準備を整えています。 それは車を運転する前にエンジンをかけるようなものです。 このオブジェクトは、入力の読み取りやそこからのテキストの抽出など、OCR プロセスを制御するために使用されます。
OCR入力の設定
次に、OCR プロセスの入力を定義します。
using (var input = new OcrInput(pdfFilePath))
{
// OCR processing will go here
}Using input = New OcrInput(pdfFilePath)
' OCR processing will go here
End Usingこのセグメントでは、OcrInput を使用して処理したいファイルを指定します。 pdfFilePath はレシートファイルのパスを含む変数です。この変数をOcrInput に渡すことで、OCRエンジンに"これが読み取ってほしいファイルです"と指示します。using ステートメントは、OcrInput が使用するリソース(ファイルハンドルなど)が処理終了後に適切に解放されることを保証する特別なC#構文です。 これは、リソースを効率的に管理し、不要なメモリを使用せずにアプリケーションがスムーズに実行されるようにする方法です。
OCRを実行する
using ブロック内で、ocr インスタンスに対して Read メソッドを呼び出します:
var result = ocr.Read(input);Dim result = ocr.Read(input)Read メソッドは入力ファイルのパスをパラメータとして受け取ります。 この行で領収書のスキャンが開始されます。 指定された入力ファイルのOCRを行い、データを抽出して result 変数に格納します。 このメソッドから抽出されたテキストを使用して、任意のテキスト操作を実行できます。
結果を出力する
最後に、OCR プロセスによって認識されたテキストを出力します。
Console.WriteLine(result.Text);Console.WriteLine(result.Text)result 変数にはOCR処理の出力が含まれ、result.Text にはレシートから抽出された実際のテキストが含まれています。 Console.WriteLine 関数はこのテキストを取得してコンソール上に表示します。 これにより、OCR プロセスの結果を確認して検証できます。 こちらが完全な Program.cs ファイルコードです:
using IronOcr;
using System;
class Program
{
static void Main(string[] args)
{
// Set your IronOCR license key
License.LicenseKey = "Your-License-Key";
// Define the path to the receipt image
string pdfFilePath = "Sample_Receipt.jpg";
try
{
// Initialize the OCR engine
var ocr = new IronTesseract();
// Define the input file
using (var input = new OcrInput(pdfFilePath))
{
// Perform OCR and get the result
var result = ocr.Read(input);
// Display the extracted text
Console.WriteLine(result.Text);
}
}
catch (Exception ex)
{
// Handle exceptions and log them if necessary
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}Imports IronOcr
Imports System
Class Program
Shared Sub Main(args As String())
' Set your IronOCR license key
License.LicenseKey = "Your-License-Key"
' Define the path to the receipt image
Dim pdfFilePath As String = "Sample_Receipt.jpg"
Try
' Initialize the OCR engine
Dim ocr = New IronTesseract()
' Define the input file
Using input = New OcrInput(pdfFilePath)
' Perform OCR and get the result
Dim result = ocr.Read(input)
' Display the extracted text
Console.WriteLine(result.Text)
End Using
Catch ex As Exception
' Handle exceptions and log them if necessary
Console.WriteLine($"An error occurred: {ex.Message}")
End Try
End Sub
End Classステップ6: アプリケーションの実行
1.プロジェクトをビルドする: "ビルド"メニューをクリックし、"ソリューションのビルド"を選択します。 2.プロジェクトを実行する: F5キーを押すか、"開始"ボタンをクリックしてアプリケーションを実行します。
これで、領収書のテキストがコンソールに表示されます。 このテキストは、領収書画像から抽出されたデータを表します。 これは、IronOCR を使用して領収書をスキャンする方法です。 これは、OCR機能を使用して紙の領収書からデータを抽出する簡単な例です。非常に汎用的な実装です。 レシート画像のレイアウトに合わせてコードを変更できます。

その後、レシートをスキャンして取得した非構造化データを活用できます。レシートの特定のセクションから重要な情報を取得できます。 または、領収書データをより整理された方法で表示することもできます。 IronOCR を使用して OCR レシートスキャン ソフトウェア アプリケーションを作成できます。 これにより、領収書フィールドの正確なデータを抽出できるようになります。
結論
おめでとうございます! C# と IronOCR を使用して OCR レシート スキャナーを構築できました。 このスキャナーは、経費追跡、サプライ チェーン管理など、さまざまなビジネス ニーズに合わせてデータ抽出の精度を大幅に向上させることができます。 スキャンした領収書を確認して手動でデータを抽出する必要がなくなります。
IronOCRは無料トライアルを提供しており、ユーザーは初期費用なしでその機能を探索および評価できます。プロフェッショナルな環境での完全な機能を統合および活用したい方のために、ライセンスは$999から始まり、堅牢なOCRレシートスキャンおよびデータ抽出のニーズに対する包括的なソリューションを提供します。
覚えておいてください、これはまだ始まりに過ぎません。 このアプリケーションを拡張して、さまざまなファイル タイプをサポートしたり、データのプライバシーを向上させたり、税額、日付、明細項目などの特定のフィールドの領収書認識などの追加機能を統合したりすることができます。 OCR テクノロジーにより可能性は広がり、より効率的でインテリジェントなビジネス プロセスへの道が開かれます。 コーディングを楽しんでください!

関連する記事

