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

C#でのOCR請求書処理(開発者向けチュートリアル)

請求書データ処理とは、仕入先やベンダーから請求書を受領、管理、検証し、支払いが正しく期日通りに行われるようにすることを指します。これには、紙の請求書を回避するために、ビジネス取引の処理における正確性、コンプライアンス、効率性を確保するために設計された手順が含まれます。 請求書処理を自動化すると、手作業によるデータ入力エラーが大幅に削減され、効率が向上します。 IronOCR は、デジタル ファイルから請求書のデータやテキストを抽出するために使用できる強力な光学式文字認識 (OCR) ソフトウェア ライブラリであり、C# アプリケーションで請求書の OCR 処理を自動化するための優れたツールとなります。

IronOCRの概要のようなOCRソフトウェアを使用して請求書データを処理する方法

  1. Visual Studioプロジェクトを作成します。
  2. IronOCR C# ライブラリをインストールします。
  3. 入力請求書画像のサンプル。
  4. Tesseract を利用してレシート画像からデータを抽出します。
  5. 画像の領域のみを読み取ります。

光学文字認識(OCR)

光学式文字認識は、さまざまな種類のドキュメント、PDF、またはテキスト画像を認識し、編集可能かつ検索可能なデータに変換するテクノロジーです。 OCR テクノロジーは、テキストの画像を処理して文字を抽出し、機械で読み取り可能な状態にします。 高度な OCR 請求書ソフトウェア システムは、財務管理ツールと請求書の自動化に役立ちます。

OCRに関する重要なポイント

*機能*: OCR ソフトウェアは、画像またはテキスト (写真やスキャンした文書など) をスキャンし、文字を編集、検索、保存できるデジタル テキストに変換します。 用途: OCR は、印刷された文書のデジタル化、請求書処理、フォーム データの抽出、自動ナンバー プレート認識 (ANPR)、買掛金ワークフロー、書籍のスキャンなどのタスクで、さまざまな業界で広く使用されています。 テクノロジー: OCR は、明暗のパターンを識別するアルゴリズムを使用して文字を解釈します。 最新の OCR システムでは、精度を向上させるために機械学習と人工知能も採用しています。 利点**: OCR は、データ入力を自動化し、エラーを削減し、データの検索と取得を容易にすることで生産性を向上させます。 また、ドキュメントのアーカイブもサポートし、企業がペーパーレスのワークフローを管理するのに役立ちます。

OCR テクノロジは大幅に進化し、さまざまな請求書形式にわたるドキュメント処理や請求書データ抽出に非常に正確かつ便利になり、手作業によるデータ入力を減らし、手作業による請求書処理を排除し、データ セキュリティを強化します。

IronOCRの概要

IronOCR は、開発者が画像、PDF、その他のドキュメント形式からテキストを抽出し、OCR 請求書ソフトウェアを開発し、買掛金ワークフローを実装できるようにする、.NET (C#) 用の強力な光学式文字認識 (OCR) ライブラリです。 OCR 機能を買掛金システムや会計システムに統合するための使いやすい API を提供します。

IronOCRの概要の主な機能

*テキスト抽出*: 会計ソフトウェア用の複数ページの PDF を含む、さまざまな画像形式 (PNG、JPG、TIFF など) および PDF からテキストを抽出できます。 精度: IronOCR は、高度なアルゴリズムと機械学習技術を使用して、買掛金処理や早期支払い割引のためのノイズの多い画像や低品質の画像でも、高い精度のテキスト認識を実現します。 言語サポート: ライブラリは、英語、スペイン語、フランス語など、複数の言語をサポートしており、さまざまな言語のテキストを認識するのに役立ちます。 使いやすさ**: IronOCR は、開発者が OCR 技術に関する深い技術的知識を必要とせずに、OCR 機能をアプリケーションに迅速に統合できるシンプルな API を提供します。 *バーコードと QR コードの認識: 標準的なテキスト認識に加えて、IronOCR は画像からバーコードと QR コードを検出して抽出することもできます。

  • PDF サポート: スキャンした PDF からテキストを読み取って抽出できるため、請求書、領収書、その他のビジネス ドキュメントの処理に役立ちます。 *カスタマイズ: ライブラリを使用すると、精度の調整やさまざまな画像解像度の処理など、特定のニーズに合わせて OCR 設定をカスタマイズできます。

前提条件

始める前に、次のものがあることを確認してください。

  • マシンに Visual Studio がインストールされている。
  • C# プログラミングの基本的な理解。
  • IronOCR NuGet パッケージがプロジェクトにインストールされています。

ステップ1: Visual Studioプロジェクトを作成する

Visual Studioを開き、新しいプロジェクトを作成をクリックします。

! C# での OCR 請求書処理 (開発者向けチュートリアル): 図 1 - 新しいプロジェクト

オプションでコンソール アプリを選択します。

! C# での OCR 請求書処理 (開発者向けチュートリアル): 図 2 - コンソール アプリ

プロジェクト名とパスを指定します。

! C# での OCR 請求書処理 (開発者向けチュートリアル): 図 3 - プロジェクト構成

.NET バージョンの種類を選択します。

! C# での OCR 請求書処理 (開発者向けチュートリアル): 図 4 - ターゲット フレームワーク

ステップ2: IronOCR C#ライブラリをインストールする

Visual Studio のプロジェクトで、[ツール] > [NuGet パッケージ マネージャー] > [ソリューションの NuGet パッケージの管理] に移動します。 "参照"タブをクリックして、IronOCR を検索します。 IronOCRを選択し、"インストール"をクリックします。

! C# での OCR 請求書処理 (開発者向けチュートリアル): 図 5 - IronOCR

別のオプションとしては、コンソールと以下のコマンドを使用することです。

dotnet add package IronOcr --version 2024.12.2

ステップ3: 入力請求書画像のサンプル

請求書番号が記載されたデジタル請求書のサンプル画像。

! C# での OCR 請求書処理 (開発者向けチュートリアル): 図 6 - サンプル入力

ステップ4: Tesseractを利用してレシート画像からデータを抽出する

次に、以下のコードを使用して、OCR 請求書処理のために請求書からデータを抽出します。

using IronOcr;

// Set the license key
License.LicenseKey = "Your License";
string filePath = "sample1.jpg"; // Path to the invoice image

// Create an instance of IronTesseract
var ocr = new IronTesseract();

// Load the image for OCR
using (var ocrInput = new OcrInput())
{
    ocrInput.LoadImage(filePath);

    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise();

    // Perform OCR to extract text
    var ocrResult = ocr.Read(ocrInput);

    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);

    // Next steps would involve processing the extracted text
}
using IronOcr;

// Set the license key
License.LicenseKey = "Your License";
string filePath = "sample1.jpg"; // Path to the invoice image

// Create an instance of IronTesseract
var ocr = new IronTesseract();

// Load the image for OCR
using (var ocrInput = new OcrInput())
{
    ocrInput.LoadImage(filePath);

    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise();

    // Perform OCR to extract text
    var ocrResult = ocr.Read(ocrInput);

    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);

    // Next steps would involve processing the extracted text
}
Imports IronOcr

' Set the license key
License.LicenseKey = "Your License"
Dim filePath As String = "sample1.jpg" ' Path to the invoice image

' Create an instance of IronTesseract
Dim ocr = New IronTesseract()

' Load the image for OCR
Using ocrInput As New OcrInput()
	ocrInput.LoadImage(filePath)

	' Optionally apply filters if needed 
	ocrInput.Deskew()
	' ocrInput.DeNoise();

	' Perform OCR to extract text
	Dim ocrResult = ocr.Read(ocrInput)

	' Output the extracted text
	Console.WriteLine("Extracted Text:")
	Console.WriteLine(ocrResult.Text)

	' Next steps would involve processing the extracted text
End Using
$vbLabelText   $csharpLabel

コードの説明

提供されているコードは、C# のIronOCRライブラリを使用して、OCR (光学式文字認識) によって画像 (請求書など) からテキストを抽出する方法を示しています。 コードの各部分の説明は次のとおりです。

1.ライセンスキーの設定:

  • コードは、IronOCR のライセンス キーを設定することから始まります。 ライブラリの全機能を使用するにはこのキーが必要です。 有効なライセンスをお持ちの場合は、"Your License"を実際のライセンス キーに置き換えてください。

2.入力ファイルの指定:

  • filePath変数には、請求書が含まれる画像の場所が保持されます (この場合は、"sample1.jpg")。 これはテキスト抽出のために処理されるファイルです。
  1. OCRインスタンスの作成:
    • IronTesseractのインスタンスが作成されます。 IronTesseractは、入力データに対して OCR 操作を実行するクラスです。

4.画像の読み込み:

  • コードはOcrInputオブジェクトを作成し、 LoadImageメソッドを使用してfilePathで指定された画像を読み込みます。

5.画像フィルターの適用:

  • コードはオプションでDeskew()などのフィルターを適用し、傾いた画像を修正して OCR の精度を向上させます。
  1. OCRの実行:
    • ocr.Read()メソッドは、読み込まれた画像からテキストを抽出し、抽出されたテキストを含むOcrResultを返します。

7.抽出したテキストの表示:

  • 抽出されたテキストがコンソールに出力されます。 このテキストは IronOCR が画像から認識したものであり、さらなる処理に使用できます。

出力

! C# での OCR 請求書処理 (開発者向けチュートリアル): 図 7 - 請求書番号付き OCR 出力

ステップ5: 画像の領域のみを読み取る

効率を上げるために、画像の一部だけを抽出処理することも可能です。

using IronOcr;
using IronSoftware.Drawing;

// Set the license key
License.LicenseKey = "Your Key";
string filePath = "sample1.jpg"; // Path to the invoice image

// Create an instance of IronTesseract
var ocr = new IronTesseract();

// Load the image for OCR
using (var ocrInput = new OcrInput())
{
    // Define the region of interest
    var ContentArea = new Rectangle(x: 0, y: 0, width: 1000, height: 250);
    ocrInput.LoadImage(filePath, ContentArea);

    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise();

    // Perform OCR to extract text
    var ocrResult = ocr.Read(ocrInput);

    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using IronSoftware.Drawing;

// Set the license key
License.LicenseKey = "Your Key";
string filePath = "sample1.jpg"; // Path to the invoice image

// Create an instance of IronTesseract
var ocr = new IronTesseract();

// Load the image for OCR
using (var ocrInput = new OcrInput())
{
    // Define the region of interest
    var ContentArea = new Rectangle(x: 0, y: 0, width: 1000, height: 250);
    ocrInput.LoadImage(filePath, ContentArea);

    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise();

    // Perform OCR to extract text
    var ocrResult = ocr.Read(ocrInput);

    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing

' Set the license key
License.LicenseKey = "Your Key"
Dim filePath As String = "sample1.jpg" ' Path to the invoice image

' Create an instance of IronTesseract
Dim ocr = New IronTesseract()

' Load the image for OCR
Using ocrInput As New OcrInput()
	' Define the region of interest
	Dim ContentArea = New Rectangle(x:= 0, y:= 0, width:= 1000, height:= 250)
	ocrInput.LoadImage(filePath, ContentArea)

	' Optionally apply filters if needed 
	ocrInput.Deskew()
	' ocrInput.DeNoise();

	' Perform OCR to extract text
	Dim ocrResult = ocr.Read(ocrInput)

	' Output the extracted text
	Console.WriteLine("Extracted Text:")
	Console.WriteLine(ocrResult.Text)
End Using
$vbLabelText   $csharpLabel

コードの説明

このコードは、IronOCRを使用して特定の画像領域からテキストを抽出します。 各部分の詳細は次のとおりです。

1.ライセンスの設定:

  • ライブラリの OCR 機能を使用するために必要な IronOCR のライセンス キーを設定します。 "Your Key"を有効なライセンス キーに置き換えます。

2.画像ファイルのパスを定義する:

  • テキスト抽出のコンテンツが含まれる、処理対象の請求書画像へのファイル パスを指定します。
  1. OCRインスタンスの作成:
    • OCR 操作を実行するためにIronTesseractのインスタンスが作成されます。

4.処理対象領域の定義:

  • 画像内の長方形領域(左上隅から開始)を指定して、OCR プロセスを関連セクションに集中させ、効率を向上させます。

5.画像の読み込み:

  • ファイルから画像の指定されたコンテンツ領域を読み込みます。これにより、OCR処理が画像の特定の部分に限定されます。

6.フィルターの適用:

  • Deskew()などのフィルターを適用して画像の位置合わせを強化し、 DeNoise()を適用して画像をクリーンアップし、OCR の精度を向上させます。

7.テキストの抽出:

  • 定義された領域からテキストを読み取り、 OcrResultに保存します。

8.抽出したテキストを出力する:

  • OCR 処理されたテキストをコンソールに出力し、さらに使用できるようにします。

出力

! C# での OCR 請求書処理 (開発者向けチュートリアル): 図 8 - 抽出された出力

ライセンス (トライアル利用可能)

IronOCR では、請求書からデータを抽出するためにキーが必要です。 ライセンス ページから開発者トライアル キーを取得します。

using IronOcr; 
License.LicenseKey = "Your Key";
using IronOcr; 
License.LicenseKey = "Your Key";
Imports IronOcr
License.LicenseKey = "Your Key"
$vbLabelText   $csharpLabel

結論

この記事では、請求書処理に IronOCR を使い始める方法の基本的な例を示しました。 特定の要件に合わせてこのコードをさらにカスタマイズおよび拡張できます。

IronOCR は、画像や PDF からテキストを抽出するための効率的で統合しやすいソリューションを提供するため、請求書処理に最適です。 IronOCR を C# の文字列操作や正規表現と組み合わせて使用することで、請求書から重要なデータをすばやく処理して抽出できます。

これは請求書処理の基本的な例であり、より高度な構成(言語認識、複数ページの PDF 処理など)を使用すると、OCR の結果を微調整して、特定のユースケースの精度を向上させることができます。

IronOCR の API は柔軟性が高く、領収書のスキャン、ドキュメントの変換、データ入力の自動化など、請求書処理以外にもさまざまな OCR タスクに使用できます。

よくある質問

C#で請求書データ処理を自動化するにはどうすればよいですか?

IronOCRを使用してデジタル請求書ファイルからテキストとデータを抽出することで、C#で請求書データ処理を自動化できます。これにより、手作業のデータ入力エラーが減少し、請求書処理の効率が向上します。

請求書処理用のOCRをセットアップするためのステップは何ですか?

請求書処理用のOCRをセットアップするには、Visual Studioプロジェクトの作成から始め、IronOCRライブラリをインストールし、サンプル請求書画像を使用します。次に、IronOCRの機能を活用して請求書データを抽出し処理します。

OCRを使用して請求書の特定の領域からデータを抽出するにはどうすればよいですか?

IronOCRを使用すると、OCRプロセスの焦点を特定の領域に設定するための矩形エリアを定義できます。この機能は、必要な部分だけを対象にすることで効率と精度を向上させます。

IronOCRでのTesseractの役割は何ですか?

TesseractはIronOCRの一部であり、画像からテキストを抽出する上で重要な役割を果たします。これにより、テキストの画像が機械可読のデータに変換され、C#アプリケーションでの請求書処理自動化に必要不可欠です。

OCRソフトウェアは複数の言語のテキストを認識できますか?

はい、IronOCRは複数の言語をサポートしており、英語、スペイン語、フランス語などさまざまな言語のテキストを認識および処理することができ、世界中の請求書処理においてその多様性を高めています。

請求書処理にIronOCRを使用する利点は何ですか?

IronOCRを請求書処理に使用することにより、テキスト抽出の高精度、多言語サポート、バーコード認識、PDF処理機能などの利点が得られ、買掛金ワークフローが簡素化されます。

特定の請求書処理ニーズに合わせてOCR設定をカスタマイズするにはどうすればよいですか?

IronOCRは開発者にOCR設定をカスタマイズするためのシンプルなAPIを提供します。この柔軟性により、異なる請求書形式や言語の処理など、特定の請求書処理ニーズに合わせたソリューションを実現できます。

デジタル請求書管理でのOCRの重要性は何ですか?

OCRは、請求書からデータを自動抽出し、手作業の作業負荷を軽減し、エラーを最小限に抑え、財務トランザクションの効率的で正確な処理を保証するため、デジタル請求書管理において重要です。

IronOCRの機能をテストするためのトライアルバージョンはありますか?

はい、IronOCRは開発者用トライアルキーを提供しており、ライセンスページから取得できます。これにより、購入前にソフトウェアの全機能をテストすることができます。

IronOCRは文書変換とデータ入力自動化をどのように改善しますか?

IronOCRはさまざまな形式からの高精度のテキスト抽出を提供することにより、文書変換とデータ入力自動化を向上させ、C#アプリケーションへのシームレスな統合を可能にします。

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