IRONOCRの使用

レシートスキャンAPI(開発者チュートリアル)

更新済み 2024年2月11日
共有:

領収書スキャンAPIは、高度なOCR技術を使用して領収書から主要なデータを抽出します。 手作業によるエラーを排除し、生産性を向上させることでデータ入力プロセスを効率化します。 APIは、多用途かつ精度が高く、複数の言語、通貨、およびフォーマットをサポートします。 レシートの解析を自動化することにより、企業は支出パターンの洞察を得て、データに基づいた意思決定を行うことができます。 この記事では、C# OCRライブラリの使用方法を説明します。IronOCR, レシートから重要な情報を抽出するために。

IronOCR

IronOCRは、開発者がC#およびVB.Netアプリケーションから画像やPDFドキュメントを読み取り、テキストを抽出することを可能にします。IronOCRは、製品の高いパフォーマンスと正確性で知られており、Microsoft OCRとTesseract OCRの技術を組み合わせています。これにより、複雑なレイアウトや出版物、手書きのテキストに対しても高い認識率を誇ります。

  • サポートされるファイル形式: PNG, JPG, GIF, TIFF, BMP, PDF
  • ユニークな機能: 複数言語のテキスト認識、回転・歪みの補正、ノイズ除去
  • 導入が簡単: .NETフレームワークや.NET Coreプロジェクトに簡単に統合可能
  • ライセンスオプション: Lite License, Plus License, Professional License, Unlimited License

IronOCRの利点

  1. 高い認識精度: IronOCRは最新のOCR技術を利用し、正確なテキスト抽出を実現します。
  2. 迅速な処理: 高速な処理速度で大量のドキュメントを効率的に処理できます。
  3. シンプルな統合: APIがシンプルで使いやすいため、開発者は短時間で機能を実装できます。

IronOCRを活用することで、あなたのアプリケーションは自動化されたデータ抽出機能を備え、業務効率を大幅に向上させることができます。

IronOCRはIron Softwareによって開発された多用途なOCRライブラリおよびAPIであり、スキャンした文書、画像、およびPDFなどのさまざまなソースからテキストを抽出するための強力なソリューションを開発者に提供します。 高度なOCRアルゴリズム、コンピュータビジョン、および機械学習モデルを活用して、IronOCRは困難なシナリオでも高い精度と信頼性を確保します。 ライブラリは複数の言語とフォントスタイルをサポートしており、グローバルアプリケーションに適しています。 IronOCRを機械学習モデル機能と組み合わせてアプリケーションに統合することで、開発者はデータ入力、自動テキスト分析、その他のタスクを簡単に自動化し、生産性と効率を向上させることができます。

IronOCRを使用すると、開発者はドキュメント、写真、スクリーンショット、さらにはライブカメラフィードなど、さまざまなソースからテキストをJSONレスポンスとして簡単に取得できます。 洗練されたアルゴリズムと機械学習モデルを利用することで、IronOCR画像データを解析します、個々の文字を認識し、それらを機械可読のテキストに変換します。 この抽出されたテキストは、データ入力、情報検索、テキスト分析、および手動作業の自動化など、さまざまな用途に使用できます。

前提条件

IronOCRを使用する前に、いくつかの前提条件を満たしている必要があります。 これらの前提条件には以下が含まれます:

  1. コンピュータに適切な開発環境が設定されていることを確認してください。 これは通常、統合開発環境 (IDE) を持つことを伴います。(IDE (統合開発環境))Visual Studioがインストールされているなど。

  2. C#プログラミング言語の基本的な理解を持つことが重要です。 この記事に提供されたコード例を効果的に理解して変更することができるようになります。

  3. プロジェクトにIronOCRライブラリをインストールする必要があります。 これは、Visual Studio内のNuGetパッケージマネージャーを使用するか、またはコマンドラインインターフェイスを使用することで実現できます。

    これらの前提条件が満たされていることを確認することで、IronOCRの使用に取り掛かる準備が整います。

新しいVisual Studioプロジェクトの作成

IronOCRを始めるには、最初のステップとして新しいVisual Studioプロジェクトを作成します。

Visual Studio を開き、「ファイル」へ進み、「新規」をホバーして、「プロジェクト」をクリックします。

レシートスキャンAPI(開発者チュートリアル)、図1: 新規プロジェクト画像

新しいプロジェクトの画像

新しいウィンドウで、「コンソール アプリケーション」を選択し、「次へ」をクリックします。

レシートスキャンAPI(開発者チュートリアル)、図2:コンソールアプリケーション

コンソール アプリケーション

新しいウィンドウが表示されます。 新しいプロジェクトの名前と場所を入力し、「次へ」をクリックします。

レシートスキャンAPI(開発者チュートリアル)、図3:プロジェクト構成

プロジェクト設定

最後に、Target Frameworkを指定し、「Create」をクリックします。

レシートスキャニングAPI(開発者チュートリアル)、図4:ターゲットフレームワーク

ターゲットフレームワーク

新しいVisual Studioプロジェクトが作成されたので、IronOCRをインストールしましょう。

IronOCRのインストール

IronOCRライブラリをダウンロードおよびインストールするにはいくつかの方法があります。 しかし、ここに最も簡単な2つのアプローチがあります。

  1. Visual Studio NuGet パッケージ マネージャーを使用する

  2. Visual Studioコマンドラインの使用

Visual Studio NuGet パッケージ マネージャーを使用する

IronOCRは、Visual StudioのNuGetパッケージマネージャーを使用してC#プロジェクトに含めることができます。

ツール > NuGet パッケージ マネージャー > ソリューション用の NuGet パッケージの管理 を選択して、NuGet パッケージ マネージャーのグラフィカル ユーザー インターフェイスへ移動します。

レシートスキャニングAPI(開発者チュートリアル)、図5:NuGetパッケージマネージャー

NuGet パッケージ マネージャー

その後、新しいウィンドウが表示されます。 IronOCRを検索し、プロジェクトにパッケージをインストールします。

領収書スキャニングAPI(開発者チュートリアル)、図6: IronOCR

IronOCR

上記の方法を使用して、IronOCRの追加言語パックもインストールできます。

Visual Studioコマンドラインの使用

  1. Visual Studioで、ツール > NuGetパッケージマネージャー > パッケージマネージャーコンソール に移動します

  2. パッケージマネージャーコンソールタブに次の行を入力してください:
    :ProductInstall

領収書スキャン API(開発者チュートリアル)、図7:パッケージマネージャーコンソール

パッケージ マネージャー コンソール

パッケージが現在のプロジェクトにダウンロード/インストールされ、使用可能になります。

レシートOCR APIによるデータ抽出

IronOCRを使用して領収書の画像データを抽出し、それを構造化データ形式で保存することは、多くの開発者にとって救世主です。 IronOCRを使用すると、ほんの数行のコードでそれを実現できます。 これを使用して、さまざまな種類のドキュメントから、行アイテム、価格、税額、合計金額などを抽出することができます。

using IronOcr;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = ocr.Read(input);
    var descriptionPattern = @"\[([A-Z0-9_]+)]\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)";
    var pricePattern = @"\$\d+(\.\d{2})?";
    var descriptions = new List<string>();
    var unitPrices = new List<decimal>();
    var taxes = new List<decimal>();
    var amounts = new List<decimal>();
    var lines = result.Text.Split('\n');
    var descriptionMatch = Regex.Match(lines, descriptionPattern);
    if (descriptionMatch.Success)
    {
        var DescriptionValue = descriptionMatch.Groups [2].Value.Trim();
        descriptions.Add(DescriptionValue);
    }
    Console.WriteLine("Description: " + descriptions [i]);
    Console.WriteLine("Quantity: 1.00 Units");
    Console.WriteLine("Unit Price: $" + unitPrices [i]);
    taxes.Add(cost [i] * 0.15m); // Calculate Taxes (15%)
    Console.WriteLine("Taxes: $" + taxes [i]);
    amounts.Add(unitPrices [i] + taxes [i]);
    Console.WriteLine("Amount: $" + amounts [i]);
    Console.WriteLine("-----------------------");
}
using IronOcr;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = ocr.Read(input);
    var descriptionPattern = @"\[([A-Z0-9_]+)]\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)";
    var pricePattern = @"\$\d+(\.\d{2})?";
    var descriptions = new List<string>();
    var unitPrices = new List<decimal>();
    var taxes = new List<decimal>();
    var amounts = new List<decimal>();
    var lines = result.Text.Split('\n');
    var descriptionMatch = Regex.Match(lines, descriptionPattern);
    if (descriptionMatch.Success)
    {
        var DescriptionValue = descriptionMatch.Groups [2].Value.Trim();
        descriptions.Add(DescriptionValue);
    }
    Console.WriteLine("Description: " + descriptions [i]);
    Console.WriteLine("Quantity: 1.00 Units");
    Console.WriteLine("Unit Price: $" + unitPrices [i]);
    taxes.Add(cost [i] * 0.15m); // Calculate Taxes (15%)
    Console.WriteLine("Taxes: $" + taxes [i]);
    amounts.Add(unitPrices [i] + taxes [i]);
    Console.WriteLine("Amount: $" + amounts [i]);
    Console.WriteLine("-----------------------");
}
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System
Imports System.Collections.Generic
Imports System.Text.RegularExpressions

Private ocr = New IronTesseract()
Using input = New OcrInput("r2.png")
	Dim result = ocr.Read(input)
	Dim descriptionPattern = "\[([A-Z0-9_]+)]\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)"
	Dim pricePattern = "\$\d+(\.\d{2})?"
	Dim descriptions = New List(Of String)()
	Dim unitPrices = New List(Of Decimal)()
	Dim taxes = New List(Of Decimal)()
	Dim amounts = New List(Of Decimal)()
	Dim lines = result.Text.Split(ControlChars.Lf)
	Dim descriptionMatch = Regex.Match(lines, descriptionPattern)
	If descriptionMatch.Success Then
		Dim DescriptionValue = descriptionMatch.Groups (2).Value.Trim()
		descriptions.Add(DescriptionValue)
	End If
	Console.WriteLine("Description: " & descriptions (i))
	Console.WriteLine("Quantity: 1.00 Units")
	Console.WriteLine("Unit Price: $" & unitPrices (i))
	taxes.Add(cost (i) * 0.15D) ' Calculate Taxes (15%)
	Console.WriteLine("Taxes: $" & taxes (i))
	amounts.Add(unitPrices (i) + taxes (i))
	Console.WriteLine("Amount: $" & amounts (i))
	Console.WriteLine("-----------------------")
End Using
VB   C#

以下の通り、IronOCRは領収書から必要なテキストを簡単に抽出できます。

領収書スキャンAPI (開発者チュートリアル), 図8: 出力

出力

レシート全体を抽出する

レシート全体を抽出したい場合、OCRレシートで数行のコードを使って簡単に実行できます。

using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"r3.png"))
{
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
using IronOcr;
using System;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"r3.png"))
{
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Imports IronOcr
Imports System

Private ocr = New IronTesseract()
Using input = New OcrInput("r3.png")
	Dim result = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
VB   C#

領収書スキャニングAPI(開発者チュートリアル)、図9:領収書API出力

レシートのスキャンAPI出力

領収書画像のスキャニングAPI、たとえばIronOCRなどは、領収書からデータを自動抽出するための強力なソフトウェアソリューションを提供します。高度なOCR技術を活用することで、企業は領収書の画像やスキャンから、ビジネス販売者名、購入日、アイテム化されたリスト、価格、税金、および合計金額などの重要な情報を簡単に抽出できます。 サポート付き複数の言語, 通貨、領収書形式、およびバーコードサポート企業は、領収書管理プロセスを合理化し、時間を節約し、支出パターンの洞察を得て、データに基づいた意思決定を行うことができます。 IronOCRは、汎用性の高いOCRライブラリおよびAPIとして、開発者にさまざまなソースからテキストを正確かつ効率的に抽出するためのツールを提供し、タスクの自動化と全体的な効率の向上を実現します。 必要な前提条件を満たし、IronOCRをアプリケーションに統合することにより、開発者はレシートデータの処理の利点を活用し、ワークフローを向上させることができます。

IronOCRの詳細については、こちらをご覧くださいライセンスページ. テキストを見つけるためにコンピュータビジョンを使用する方法について知るには、こちらをご覧ください。コンピュータービジョンのハウツーページ. 領収書のOCRに関するさらに多くのチュートリアルについては、以下をご覧くださいOCR C# チュートリアル.

< 以前
開発者向けOCR自動化ガイド
次へ >
請求書処理に最適なOCR(最新リスト)