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

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

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

この記事では、 IronOCRという最高級の請求書 OCR API を使用します。

1. IronOCR

Iron Software が開発した IronOCR は、開発者向けにさまざまなツールを提供する 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 パッケージ マネージャーの使用

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

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

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

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

請求書OCR API(開発者向けチュートリアル):図6 - NuGetパッケージマネージャーUIでIronOCRパッケージを選択 NuGet パッケージ マネージャー UI で IronOCR パッケージを選択します。

追加の言語パックも、上記と同じ方法でインストールできます。

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

  1. Visual Studioで、 [ツール] > [NuGet パッケージ マネージャー] > [パッケージ マネージャー コンソール]に移動します。
  2. パッケージ マネージャー コンソール タブに次の行を入力して IronOCR をインストールします。

    Install-Package IronOcr

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

パッケージは現在のプロジェクトにダウンロード/インストールされ、使用する準備が整います。

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

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

テキストを抽出する請求書の例を次に示します。

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

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

using IronOcr;
using System;

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

// Use the OcrInput object to load the image file
using (var input = new OcrInput(@"r2.png"))
{
    // Read the image using the Read method, which performs OCR
    var result = ocr.Read(input);

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

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

// Use the OcrInput object to load the image file
using (var input = new OcrInput(@"r2.png"))
{
    // Read the image using the Read method, which performs OCR
    var result = ocr.Read(input);

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

' Initialize a new instance of the IronTesseract class
Private ocr = New IronTesseract()

' Use the OcrInput object to load the image file
Using input = New OcrInput("r2.png")
	' Read the image using the Read method, which performs OCR
	Dim result = ocr.Read(input)

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

上記のコードは、画像の形式で入力を取得し、 IronTesseractクラスのReadメソッドを使用してその画像からデータを抽出します。

請求書OCR API(開発者向けチュートリアル):図9 - 請求書パーサー 請求書パーサー

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

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

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

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

// Use the OcrInput object to load the image file
using (var input = new OcrInput(@"r2.png"))
{
    // Perform OCR on the image
    var result = ocr.Read(input);

    // Define a regular expression pattern for the invoice number
    var linePattern = @"INV\/\d{4}\/\d{5}";

    // Match the pattern in the extracted text
    var lineMatch = Regex.Match(result.Text, linePattern);

    // Check if the pattern matches any part of the text
    if (lineMatch.Success)
    {
        // If a match is found, print the invoice number
        var lineValue = lineMatch.Value;
        Console.WriteLine("Customer Invoice number: " + lineValue);
    }
}
using IronOcr;
using System;
using System.Text.RegularExpressions;

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

// Use the OcrInput object to load the image file
using (var input = new OcrInput(@"r2.png"))
{
    // Perform OCR on the image
    var result = ocr.Read(input);

    // Define a regular expression pattern for the invoice number
    var linePattern = @"INV\/\d{4}\/\d{5}";

    // Match the pattern in the extracted text
    var lineMatch = Regex.Match(result.Text, linePattern);

    // Check if the pattern matches any part of the text
    if (lineMatch.Success)
    {
        // If a match is found, print the invoice number
        var lineValue = lineMatch.Value;
        Console.WriteLine("Customer Invoice number: " + lineValue);
    }
}
Imports IronOcr
Imports System
Imports System.Text.RegularExpressions

' Initialize a new instance of the IronTesseract class
Private ocr = New IronTesseract()

' Use the OcrInput object to load the image file
Using input = New OcrInput("r2.png")
	' Perform OCR on the image
	Dim result = ocr.Read(input)

	' Define a regular expression pattern for the invoice number
	Dim linePattern = "INV\/\d{4}\/\d{5}"

	' Match the pattern in the extracted text
	Dim lineMatch = Regex.Match(result.Text, linePattern)

	' Check if the pattern matches any part of the text
	If lineMatch.Success Then
		' If a match is found, print the invoice number
		Dim lineValue = lineMatch.Value
		Console.WriteLine("Customer Invoice number: " & lineValue)
	End If
End Using
$vbLabelText   $csharpLabel

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

6. 結論

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

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

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

よくある質問

OCRを使用してインボイスデータ処理をどのように自動化できますか?

IronOCRを使用して機械学習アルゴリズムを活用することで、インボイスデータ処理を自動化できます。IronOCRは、デジタルおよびスキャンされたインボイスからベンダー情報、インボイス番号、価格などの詳細を抽出し、手動入力のエラーを減らし、効率を向上させます。

インボイスOCR APIのセットアップにはどのような手順が含まれていますか?

IronOCRを使用してインボイスOCR APIをセットアップするには、まずVisual StudioのNuGetパッケージマネージャーを介してライブラリをダウンロードしてインストールします。次に、新しいC#プロジェクトを作成し、IronOCRを統合し、テキスト抽出のために画像ファイルを読み込み、読み取るためのメソッドを使用します。

IronOCRはインボイス番号などの特定のデータを抽出できますか?

はい、IronOCRはインボイス番号のような特定のデータを抽出できます。通常の表現を使用して抽出されたテキストのパターンと一致させることで、インボイスから特定の情報を引き出せます。

インボイス処理に役立つIronOCRのいくつかの機能は何ですか?

IronOCRには、画像の前処理、バーコード認識、ファイル解析などの機能があります。これにより、さまざまな請求書形式からテキストを正確に抽出および処理する能力が向上し、データキャプチャおよびワークフローの効率が改善されます。

画像の前処理はどのようにしてOCRの結果を改善できますか?

IronOCRの画像前処理は、テキスト抽出前に画像の品質を最適化することで、OCRの結果を改善します。これには、コントラスト調整やノイズ削減などの操作が含まれ、インボイスからのデータ抽出の精度を高めることができます。

デジタルおよびスキャンされたインボイスの両方にIronOCRを使用することは可能ですか?

はい、IronOCRはデジタルおよびスキャンされた両方のインボイスを処理できます。先進的な機械学習およびコンピュータビジョン技術を使用して、さまざまな形式および画像品質から正確にテキストを抽出します。

IronOCRは複数のページ形式およびファイルタイプをどのように処理しますか?

IronOCRは、複数のページ形式および一般的な画像およびPDFファイルタイプをサポートしています。複雑なドキュメントから効率的にテキストを抽出できるため、さまざまなインボイス処理アプリケーションにおいて非常に柔軟です。

開発者はIronOCRを使用するためのチュートリアルをどこで見つけることができますか?

開発者はIronOCRのウェブサイトでチュートリアルや追加のリソースを見つけることができます。このサイトは、さまざまな状況でIronOCRを適用するためのハウツーガイドやブログ投稿を含む幅広い学習資料を提供しています。

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