IRONOCRの使用

請求書OCR API(開発者チュートリアル)

Kannaopat Udonpant
カンナパット・ウドンパント
2023年7月22日
共有:

インボイスOCR APIは、機械学習とコンピュータビジョンを活用して、請求書データを自動処理に適した形式に変換します。 この技術は、遅延、コスト、およびエラーのような手動データ入力の問題に対処し、デジタルおよびスキャンされた請求書から、ベンダー情報、請求書番号、および価格といった詳細を正確に抽出します。

この記事では、最先端の請求書OCR API「IronOCR」を使用します。

1. IronOCR

IronOCRは、Iron Softwareによって開発されたOCRライブラリで、開発者向けにさまざまなツールを提供しています。 スキャンしたドキュメント、画像、およびPDFからテキストを抽出するために、機械学習とコンピュータビジョンを使用し、自動処理を可能にします。 そのAPIはさまざまな言語やプラットフォームに統合され、手動でのデータ入力エラーを減少させ、効率を向上させます。 抽出されたデータは、意思決定および生産性を支援するために分析され、既存のシステムに統合することができます。 画像前処理バーコード認識、ファイル解析などの機能により、その多様性が高まります。 IronOCRは、開発者がアプリケーションにテキスト認識機能を組み込むことを可能にします。

2. 前提条件

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

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

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

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

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

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

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

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

インボイスOCR API (開発者チュートリアル): 図1 - 新しいプロジェクト

新規プロジェクト

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

請求書 OCR API(開発者チュートリアル):図2 - コンソールアプリケーション

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

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

インボイスOCR API(開発者チュートリアル):図3 - プロジェクト設定

プロジェクトの構成

最後に、ターゲットフレームワークを指定して、「作成」をクリックしてください。

請求書 OCR API (開発者向けチュートリアル): 図4 - ターゲットフレームワーク

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

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

4. IronOCRのインストール

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

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

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

4.1. Visual Studio NuGet パッケージ マネージャーの使用

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

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

インボイスOCR API(開発者向けチュートリアル):図5 - NuGetパッケージマネージャー

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

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

Invoice OCR API(開発者チュートリアル):図6 - NuGet パッケージマネージャーUIで IronOCR パッケージを選択

NuGet パッケージ マネージャー UI で IronOCR パッケージを選択

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

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

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

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

請求書OCR API(開発者向けチュートリアル):図7 - パッケージマネージャーコンソール

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

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

5. IronOCRを使用して請求書からデータを抽出する

IronOCRを使用すると、数行のコードで簡単に請求書からデータを抽出し、そのデータ抽出をデータ入力などのさらなるプロセスに利用できます。 これにより、手動でのデータ入力やその他多くの作業が置き換えられます。

以下は、テキストを抽出するためのサンプル請求書です。

請求書OCR API(開発者チュートリアル):図8 - サンプル請求書

サンプル請求書

それでは、この請求書からすべてのデータを抽出するためのコードを書きましょう。

using IronOcr;
using System;

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

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

Private ocr = New IronTesseract()
Using input = New OcrInput("r2.png")
	Dim result = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

上記のコードは画像を入力として受け取り、Read メソッドを使用してその画像からデータを抽出します。このメソッドはIronTesseractクラスから提供されています。

インボイスOCR API(開発者向けチュートリアル):図9 - インボイスパーサー

請求書パーサー

5.1. 請求書処理で特定のデータを抽出する

請求書から顧客の請求書番号などの特定のデータを抽出することもできます。 以下は、請求書から顧客の請求書番号を抽出するコードです。

using IronOcr;
using System;
using System.Text.RegularExpressions;

var orc = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = orc.Read(input);
    var linePattern = @"INV\/\d{4}\/\d{5}";
    var lineMatch = Regex.Match(result.Text, linePattern);
    if (lineMatch.Success)
    {
        var lineValue = lineMatch.Value;
        Console.WriteLine("Customer Invoice number: " + lineValue);
    }

}
using IronOcr;
using System;
using System.Text.RegularExpressions;

var orc = new IronTesseract();
using (var input = new OcrInput(@"r2.png"))
{
    var result = orc.Read(input);
    var linePattern = @"INV\/\d{4}\/\d{5}";
    var lineMatch = Regex.Match(result.Text, linePattern);
    if (lineMatch.Success)
    {
        var lineValue = lineMatch.Value;
        Console.WriteLine("Customer Invoice number: " + lineValue);
    }

}
Imports IronOcr
Imports System
Imports System.Text.RegularExpressions

Private orc = New IronTesseract()
Using input = New OcrInput("r2.png")
	Dim result = orc.Read(input)
	Dim linePattern = "INV\/\d{4}\/\d{5}"
	Dim lineMatch = Regex.Match(result.Text, linePattern)
	If lineMatch.Success Then
		Dim lineValue = lineMatch.Value
		Console.WriteLine("Customer Invoice number: " & lineValue)
	End If

End Using
$vbLabelText   $csharpLabel

請求書OCR API(開発者チュートリアル):図10 - 請求書のスキャン

請求書スキャン

結論

IronOCRのインボイスOCR APIは、機械学習とコンピュータビジョンを使用して請求書からのデータ抽出を革命的に変えます。 この技術は、請求書のテキストと数値を機械が読み取れる形式に変換し、分析、統合、およびプロセス改善のためのデータ抽出を簡素化します。 それは請求書処理の自動化、精度の向上、および買掛金のようなワークフローの最適化に対する堅牢なソリューションを提供します。 この技術により、スキャンされた請求書からの自動データ入力も可能です。

IronOCRは、追加の設定なしでTesseractから最良の結果を使用することにより、高い精度を提供します。 マルチページフレームTIFF、PDFファイル、すべての一般的な画像形式をサポートしています。 画像からバーコードの値を読み取ることも可能です。

より詳細な情報については、ホームページをご覧ください。 請求書OCRに関するさらなるチュートリアルについては、以下の詳細請求書OCRチュートリアルをご覧ください。 コンピュータビジョンを使用して請求書フィールドなどのテキストを見つける方法について知るには、このコンピュータビジョンのハウツーをご覧ください。

Kannaopat Udonpant
カンナパット・ウドンパント
ソフトウェアエンジニア
ソフトウェアエンジニアになる前に、カンナパットは日本の北海道大学から環境資源学の博士号を取得しました。学位を取得する過程で、カンナパットはバイオプロダクション工学部に所属する車両ロボティクス研究所のメンバーにもなりました。2022年には、C#のスキルを活かしてIron Softwareのエンジニアリングチームに参加し、IronPDFに注力しています。カンナパットは、IronPDFで使用されているコードの大部分を作成した開発者から直接学べることに価値を見いだしています。同僚との学び合いに加えて、Iron Softwareで働くことの社会的側面も楽しんでいます。コードやドキュメントを書いていない時には、カンナパットは通常、PS5でゲームをしたり、『The Last of Us』を再視聴したりしています。
< 以前
請求書処理に最適なOCR(最新リスト)
次へ >
Blazorで画像からテキストを読み取る方法