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

OCRレシートデータ抽出(ステップバイステップチュートリアル)

IronOCR を使用した領収書 OCR は、ビジネスや個人にとって画期的なものです。このプロセスによって、紙の領収書から重要な情報を抽出し、それをデジタルデータに変換することができます。 この記事では、IronOCR を使用して領収書を最大限に活用するためのステップバイステップの旅をお届けします。

OCRの簡単な紹介

光学文字認識、または OCR は、コンピューターが画像やスキャンした文書からテキストを読み取り理解することを可能にする技術です。 OCR により、印刷されたテキストを機械可読テキストに変換することで、紙の文書に含まれる情報を保存、処理、分析できるようになります。

2. IronOCRの紹介

IronOCR は、C# および .NET 開発者向けの OCR (光学文字認識) ライブラリです。 開発者は、画像からテキストを抽出したり、PDFやその他の文書形式からテキストを抽出したりすることができます。 IronOCR は、人気のある Tesseract OCR エンジン を基に構築されており、追加機能を提供しているため、さまざまなアプリケーションでの使用に最適です。領収書 OCR を含みます。

3. データ抽出にIronOCRを使用する利点

IronOCR を使用した OCR 領収書データ抽出の主な利点は次のとおりです。

  • 高精度: IronOCR は優れた OCR API の精度を提供し、領収書やその他の文書からの信頼性のあるデータ抽出を保証します。
  • 多言語対応: IronOCR は 125 以上の言語をサポートしており、グローバル アプリケーションにも適しています。
  • 使いやすい: このライブラリはシンプルで使いやすい API を提供し、開発者がプロジェクトに OCR 機能を簡単に実装できるようにします。
  • カスタマイズ可能: IronOCR は さまざまなオプション を提供しており、特定の使用例に最適なデータ抽出を確保するために OCR 結果の微調整を行うことができます。

4. IronOCRの仕組み

IronOCR は、高度な OCR アルゴリズムを使用して画像や文書からテキストを認識して抽出します。 JPEG、PNG、TIFF、PDF など、さまざまな形式を処理できます。 このライブラリは入力ファイルを読み取り、その中のテキストを認識し、抽出されたテキストを文字列として出力し、その後必要に応じて処理または保存できます。 IronOCR は、コンピュータ ビジョン も使用して最高の結果を達成します。

5. IronOCRを使用するための前提条件

領収書データ抽出のために IronOCR を使用し始めるには、まず IronOCR パッケージをインストールする必要があります。 これは、.NET 用のパッケージ マネージャーである NuGet を通じて簡単に行うことができます。 Visual Studio でプロジェクトを開き、次の手順に従います。

  1. ソリューション エクスプローラーでプロジェクトを右クリックし、"NuGet パッケージの管理"を選択します。
  2. NuGet パッケージ マネージャー ウィンドウで"IronOCR"を検索します。
  3. IronOcr パッケージを選択し、"インストール"をクリックします。

OCR レシートデータ抽出 (ステップバイステップチュートリアル)、図 1: NuGet パッケージマネージャーの UI で IronOCR パッケージを検索 NuGet パッケージマネージャーの UI で IronOcr パッケージを検索

6.領収書画像の準備

領収書からデータを抽出する前に、領収書画像が高品質であることを確認して、領収書 OCR API プロセスの精度を向上させる必要があります。 領収書の画像を撮影するためのヒントをいくつか紹介します。

  1. スキャンした文書を使用します。 領収書のスキャンには、高解像度のスキャナーを使用できます。
  2. 領収書が適切に照らされ、影がないことを確認してください。
  3. 領収書の折り目や折れ目をまっすぐにして、重要な情報が隠れないようにします。
  4. 領収書の文字が明瞭で、汚れていないことを確認して、領収書の処理を改善します。

OCR レシートデータ抽出 (ステップバイステップチュートリアル)、図 2: テキスト抽出用のサンプル領収書画像 テキスト抽出用のサンプル領収書画像

7. レシート画像のOCR処理

IronOCR がインストールされ、領収書画像が準備できたら、OCR プロセスを実行する時が来ました。 .NET アプリケーションで次のコードスニペットを使用します。

using IronOcr;

// Initialize the IronTesseract class, which is responsible for OCR operations
var ocr = new IronTesseract();

// Use the OcrInput class to load the image of your receipt.
// Replace @"path/to/your/receipt/image.png" with the actual file path.
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
{
    // Read the content of the image and perform OCR recognition
    var result = ocr.Read(ocrInput);

    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
using IronOcr;

// Initialize the IronTesseract class, which is responsible for OCR operations
var ocr = new IronTesseract();

// Use the OcrInput class to load the image of your receipt.
// Replace @"path/to/your/receipt/image.png" with the actual file path.
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
{
    // Read the content of the image and perform OCR recognition
    var result = ocr.Read(ocrInput);

    // Output the recognized text to the console
    Console.WriteLine(result.Text);
}
Imports IronOcr

' Initialize the IronTesseract class, which is responsible for OCR operations
Private ocr = New IronTesseract()

' Use the OcrInput class to load the image of your receipt.
' Replace @"path/to/your/receipt/image.png" with the actual file path.
Using ocrInput As New OcrInput("path/to/your/receipt/image.png")
	' Read the content of the image and perform OCR recognition
	Dim result = ocr.Read(ocrInput)

	' Output the recognized text to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

コードの説明

using IronOcr;
using IronOcr;
Imports IronOcr
$vbLabelText   $csharpLabel

この行は、IronOCR ライブラリを .NET アプリケーションにインポートし、その機能にアクセスできるようにします。

var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
$vbLabelText   $csharpLabel

この行は、IronOCR での OCR 操作の中心となる IronTesseract クラスの新しいインスタンスを作成します。

using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
Using ocrInput As New OcrInput("path/to/your/receipt/image.png")
$vbLabelText   $csharpLabel

ここでは、OcrInput クラスの新しいインスタンスが作成され、OCR プロセスの入力画像を表します。 "path/to/your/receipt/image.png" は、領収書画像の実際のファイルパスに置き換える必要があります。 using ステートメントは、OCR 操作が完了したら OcrInput インスタンスに割り当てられたリソースが適切に解放されることを保証します。

var result = ocr.Read(ocrInput);
var result = ocr.Read(ocrInput);
Dim result = ocr.Read(ocrInput)
$vbLabelText   $csharpLabel

この行は、OcrInput オブジェクトをパラメータとして渡して、IronTesseract インスタンスの Read メソッドを呼び出します。 Read メソッドは入力画像を処理し、その画像からテキストを認識して抽出する OCR 操作を実行します。 これにより、領収書の認識プロセスが開始されます。

Console.WriteLine(result.Text);
Console.WriteLine(result.Text);
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

最後に、この行は抽出されたテキストをコンソールに出力します。 resultオブジェクトは、OcrResultクラスのインスタンスであり、認識されたテキストとOCRプロセスに関する追加情報を含みます。 抽出されたテキストは、result オブジェクトの Text プロパティにアクセスすることで表示できます。

OCR レシートデータ抽出 (ステップバイステップチュートリアル)、図 3: 抽出されたテキストの出力 抽出されたテキストの出力

OCR結果の微調整

IronOCR は、OCR の精度とパフォーマンスを向上させるためのいくつかのオプションを提供します。 これには、画像の事前処理、OCR エンジン設定の調整、領収書に適した言語の選択が含まれます。

画像前処理

次のように画像の事前処理技術を適用することで、OCR の結果を向上させることができます。

  1. 転向: 画像内の回転や傾きを修正します。
  2. ノイズ除去: 画像のノイズを除去してテキストの可読性を向上させます。

これらの技術を適用する方法の例を次に示します。

using IronOcr;

// Initialize the IronTesseract class
var ocr = new IronTesseract();

// Load the image of your receipt and apply preprocessing techniques
using (var input = new OcrInput(@"path/to/your/receipt/image.png"))
{
    input.DeNoise(); // Remove noise from the image
    input.DeSkew();  // Correct any skewing in the image

    // Perform OCR and extract the recognized text
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
using IronOcr;

// Initialize the IronTesseract class
var ocr = new IronTesseract();

// Load the image of your receipt and apply preprocessing techniques
using (var input = new OcrInput(@"path/to/your/receipt/image.png"))
{
    input.DeNoise(); // Remove noise from the image
    input.DeSkew();  // Correct any skewing in the image

    // Perform OCR and extract the recognized text
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Imports IronOcr

' Initialize the IronTesseract class
Private ocr = New IronTesseract()

' Load the image of your receipt and apply preprocessing techniques
Using input = New OcrInput("path/to/your/receipt/image.png")
	input.DeNoise() ' Remove noise from the image
	input.DeSkew() ' Correct any skewing in the image

	' Perform OCR and extract the recognized text
	Dim result = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

言語の選択

IronOCR は 125 以上の言語をサポートしており、領収書に適した言語を選択することで、OCR の結果が大幅に向上します。 言語を指定するには、次の行をコードに追加します。

ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English
$vbLabelText   $csharpLabel

OCR結果からのデータ抽出

OCR プロセスが完了したら、テキストから特定の情報を抽出する時が来ました。 ニーズに応じて、次のようなデータを抽出したい場合があります。

  1. 店名と住所。
  2. 購入日時。
  3. 商品名と価格。
  4. 小計、税金、合計金額。

これを行うには、.NET アプリケーションで正規表現や文字列操作技術を使用できます。 たとえば、次のコードスニペットを使用して、OCR 結果から日付を抽出することができます。

using System;
using System.Text.RegularExpressions;

// Define a regular expression pattern for matching dates
var datePattern = @"\d{1,2}\/\d{1,2}\/\d{2,4}";

// Search for a date in the OCR result text
var dateMatch = Regex.Match(result.Text, datePattern);
if (dateMatch.Success)
{
    // Parse the matched date string into a DateTime object
    var dateValue = DateTime.Parse(dateMatch.Value);
    Console.WriteLine("Date: " + dateValue);
}
using System;
using System.Text.RegularExpressions;

// Define a regular expression pattern for matching dates
var datePattern = @"\d{1,2}\/\d{1,2}\/\d{2,4}";

// Search for a date in the OCR result text
var dateMatch = Regex.Match(result.Text, datePattern);
if (dateMatch.Success)
{
    // Parse the matched date string into a DateTime object
    var dateValue = DateTime.Parse(dateMatch.Value);
    Console.WriteLine("Date: " + dateValue);
}
Imports System
Imports System.Text.RegularExpressions

' Define a regular expression pattern for matching dates
Private datePattern = "\d{1,2}\/\d{1,2}\/\d{2,4}"

' Search for a date in the OCR result text
Private dateMatch = Regex.Match(result.Text, datePattern)
If dateMatch.Success Then
	' Parse the matched date string into a DateTime object
	Dim dateValue = DateTime.Parse(dateMatch.Value)
	Console.WriteLine("Date: " & dateValue)
End If
$vbLabelText   $csharpLabel

領収書から抽出する必要があるその他の情報についても、同様のパターンを作成することができます。

抽出されたデータの保存と分析

領収書から関係する情報を抽出したので、それをデータベースに保存したり、分析したり、CSV、JSON、Excel などの他のファイル形式にエクスポートしたりできます。

結論

結論として、IronOCR を使用した領収書 OCR は、財務データのデジタル化と管理において革新的で効率的なソリューションです。 IronOCR を使用すると、手動データ入力を置き換えることができます。 このステップバイステップガイドに従うことで、IronOCR のパワーを利用して費用追跡とデータ分析を改善できます。 最良の部分は、IronOCR は 無料トライアル を提供しており、何のコミットメントもなくその機能を体験できることです。

トライアル期間が終了した後、IronOCR の使用を続けることに決めた場合、ライセンスは liteLicense から始まり、アプリケーションで OCR テクノロジーの利点を活用するためのコスト効率の良い方法を提供します。

よくある質問

C#を使用して領収書画像をデジタルテキストに変換するにはどうすればよいですか?

IronTesseractクラスを初期化し、OcrInputで画像を読み込み、Readメソッドを呼び出してテキストを抽出することで、IronOCRを使用して領収書画像をデジタルテキストに変換できます。

光学文字認識とは何ですか、そしてそれは領収書に対してどのように機能しますか?

光学文字認識(OCR)は、画像やスキャンした文書からテキストを機械可読データに変換する技術です。IronOCRを使用して、印刷された素材をスキャンし、保存および分析可能なテキストに変換します。

領収書画像のOCR結果の品質を向上させる方法は?

領収書画像の品質を高め、斜め補正やノイズ除去などの画像前処理技術を使用し、IronOCRで適切な言語設定を選択することで、OCR結果を向上させることができます。

領収書データ抽出のためのC# OCRライブラリを使用する利点は何ですか?

IronOCRのようなC# OCRライブラリを使用することで、高い精度、125以上の言語対応、カスタマイズオプションを提供し、.NETプロジェクトに簡単に統合できることで、領収書データ抽出を強化します。

抽出された領収書データはどのように報告と分析に使用できますか?

抽出された領収書データはデータベースに保存したり、CSV、JSON、Excelなどの形式にエクスポートすることで、さらなる処理、報告、分析が可能になります。

.NET環境でOCRライブラリをインストールする手順は何ですか?

.NET環境でIronOCRをインストールするには、Visual Studioを開き、「NuGetパッケージの管理」に進み、「IronOCR」を検索してプロジェクトにインストールします。

OCRの出力から領収書の特定のデータを抽出するにはどうすればよいですか?

特定のデータは、正規表現や文字列操作を使用して、店舗名、購入日、商品価格などの情報を解析して抽出できます。

領収書データOCRにおける一般的な課題とそれを解決する方法は?

一般的な課題には、画像の品質が悪いことや複雑な領収書のレイアウトがあります。これらは、画像の品質を改善し、前処理技術を使用し、IronOCRのカスタマイズオプションを活用することで解決できます。

IronOCRは領収書OCRの多言語サポートを提供していますか?

はい、IronOCRは125以上の言語でテキストを認識および処理できる多言語サポートを提供しており、世界的なアプリケーションの用途を広げます。

C# OCRライブラリの試用版はありますか、そしてライセンスオプションは何ですか?

IronOCRはその機能を体験するための無料試用版を提供しています。試用後には、費用対効果の高いリットバージョンから始まるさまざまなライセンスオプションが利用可能です。

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