
OCR Invoice Processing in C# (Developer Tutorial)
請求書データ処理とは、仕入先やベンダーから請求書を受領、管理、検証し、支払いが正しく期日通りに行われるようにすることを指します。これには、紙の請求書を回避するために、ビジネス取引の処理における正確性、コンプライアンス、効率性を確保するために設計された手順が含まれます。 請求書処理を自動化すると、手作業によるデータ入力エラーが大幅に削減され、効率が向上します。 IronOCR は、デジタル ファイルから請求書のデータやテキストを抽出するために使用できる強力な光学式文字認識 (OCR) ソフトウェア ライブラリであり、C# アプリケーションで請求書の OCR 処理を自動化するための優れたツールとなります。
IronOCRの概要のようなOCRソフトウェアを使用して請求書データを処理する方法
- Visual Studioプロジェクトを作成します。
- IronOCR C# ライブラリをインストールします。
- 入力請求書画像のサンプル。
- Tesseract を利用してレシート画像からデータを抽出します。
- 画像の領域のみを読み取ります。
光学文字認識(OCR)
光学式文字認識は、さまざまな種類のドキュメント、PDF、またはテキスト画像を認識し、編集可能かつ検索可能なデータに変換するテクノロジーです。 OCR テクノロジーは、テキストの画像を処理して文字を抽出し、機械で読み取り可能な状態にします。 高度な OCR 請求書ソフトウェア システムは、財務管理ツールと請求書の自動化に役立ちます。
OCRに関する重要なポイント
*機能: OCRソフトウェアは画像やテキスト(写真やスキャンされた文書など)をスキャンし、文字を編集、検索、保存できるデジタルテキストに変換します。 *アプリケーション: OCR は、印刷された文書のデジタル化、請求書の処理、フォームデータの抽出、自動ナンバープレート認識 (ANPR)、買掛金ワークフロー、書籍のスキャンなどのタスクでさまざまな業界で広く使用されています。 *技術: OCRはアルゴリズムを使用して明暗のパターンを識別し、文字を解釈します。 最新の OCR システムでは、精度を向上させるために機械学習と人工知能も採用しています。 *メリット: OCRは、データ入力の自動化、エラーの削減、データ検索と取得の容易化により、生産性を向上させます。 また、ドキュメントのアーカイブもサポートし、企業がペーパーレスのワークフローを管理するのに役立ちます。
OCR テクノロジは大幅に進化し、さまざまな請求書形式にわたるドキュメント処理や請求書データ抽出に非常に正確かつ便利になり、手作業によるデータ入力を減らし、手作業による請求書処理を排除し、データ セキュリティを強化します。
IronOCRの概要
IronOCR は、開発者が画像、PDF、その他のドキュメント形式からテキストを抽出し、OCR 請求書ソフトウェアを開発し、買掛金ワークフローを実装できるようにする、.NET (C#) 用の強力な光学式文字認識 (OCR) ライブラリです。 OCR 機能を買掛金システムや会計システムに統合するための使いやすい API を提供します。
IronOCRの概要の主な機能
***テキスト抽出:**さまざまな画像形式(PNG、JPG、TIFFなど)やPDFからテキストを抽出できます。会計ソフトウェア用の複数ページのPDFにも対応しています。 *精度: IronOCRは、高度なアルゴリズムと機械学習技術を使用して、買掛金処理や早期支払割引のためのノイズの多い画像や低品質の画像でも、テキスト認識において高い精度を実現します。 ***言語サポート:**このライブラリは、英語、スペイン語、フランス語など、複数の言語をサポートしており、さまざまな言語のテキストを認識するのに役立ちます。 *使いやすさ: IronOCRはシンプルなAPIを提供しており、開発者はOCR技術に関する高度な技術知識を必要とせずに、OCR機能をアプリケーションに迅速に統合できます。 *バーコードとQRコードの認識: IronOCRは、標準的なテキスト認識に加えて、画像からバーコードとQRコードを検出して抽出することもできます。
- **PDFサポート:**スキャンしたPDFファイルからテキストを読み取って抽出できるため、請求書、領収書、その他のビジネス文書の処理に役立ちます。 ***カスタマイズ:**このライブラリでは、精度調整や異なる画像解像度の処理など、特定のニーズに合わせてOCR設定をカスタマイズできます。
前提条件
始める前に、次のものがあることを確認してください。
- マシンに Visual Studio がインストールされている。
- C# プログラミングの基本的な理解。
- IronOCR NuGet パッケージがプロジェクトにインストールされています。
ステップ1: Visual Studioプロジェクトを作成する
Visual Studioを開き、新しいプロジェクトを作成をクリックします。

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

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

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

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

別のオプションとしては、コンソールと以下のコマンドを使用することです。
ステップ3: 入力請求書画像のサンプル
請求書番号が記載されたデジタル請求書のサンプル画像。

ステップ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
}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 As 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コードの説明
提供されているコードは、C# のIronOCRライブラリを使用して、OCR (光学式文字認識) によって画像 (請求書など) からテキストを抽出する方法を示しています。 コードの各部分の説明は次のとおりです。
- ライセンスキー設定:
- コードは、IronOCR のライセンス キーを設定することから始まります。 ライブラリの全機能を使用するにはこのキーが必要です。 有効なライセンスをお持ちの場合は、"Your License"を実際のライセンス キーに置き換えてください。
2.入力ファイルの指定:
filePath変数は請求書が含まれる画像の場所を保持します(この場合、"sample1.jpg")。 これはテキスト抽出のために処理されるファイルです。
- OCRインスタンスの作成:
IronTesseractのインスタンスが作成されます。IronTesseractは、入力データに対してOCR操作を実行する担当のクラスです。
4.画像の読み込み:
- コードは
LoadImageメソッドを使用してロードします。
5.画像フィルターの適用:
- コードはオプションで
Deskew()のようなフィルターを適用し、OCRの正確性を向上させるために傾いた画像を修正します。
- OCRの実行:
OcrResultを返します。
7.抽出したテキストの表示:
- 抽出されたテキストがコンソールに出力されます。 このテキストは IronOCR が画像から認識したものであり、さらなる処理に使用できます。
出力

ステップ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);
}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 As New IronTesseract()
' Load the image for OCR
Using ocrInput As New OcrInput()
' Define the region of interest
Dim ContentArea As 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コードの説明
このコードは、IronOCRを使用して特定の画像領域からテキストを抽出します。 各部分の詳細は次のとおりです。
1.ライセンス設定:
- ライブラリの OCR 機能を使用するために必要な IronOCR のライセンス キーを設定します。 "Your Key"を有効なライセンス キーに置き換えます。
2.画像ファイルパスの定義:
- テキスト抽出のコンテンツが含まれる、処理対象の請求書画像へのファイル パスを指定します。
- OCRインスタンスの作成:
- OCR操作を実行するために
IronTesseractのインスタンスが作成されます。
- OCR操作を実行するために
4.処理対象領域の定義:
- 画像内の長方形領域(左上隅から開始)を指定して、OCR プロセスを関連セクションに集中させ、効率を向上させます。
5.画像の読み込み:
- ファイルから画像の指定されたコンテンツ領域を読み込みます。これにより、OCR処理が画像の特定の部分に限定されます。
6.フィルターの適用:
- 画像の整列を向上させるために
DeNoise()で画像をクリーンアップし、OCRの精度を向上させます。
7.テキストの抽出:
- 定義された領域からテキストを読み取り、それを
OcrResultに保存します。
8.抽出したテキストを出力する:
- OCR 処理されたテキストをコンソールに出力し、さらに使用できるようにします。
出力

ライセンス (トライアル利用可能)
IronOCR では、請求書からデータを抽出するためにキーが必要です。 ライセンス ページから開発者トライアル キーを取得します。
using IronOcr;
License.LicenseKey = "Your Key";Imports IronOcr
License.LicenseKey = "Your Key"結論
この記事では、請求書処理に IronOCR を使い始める方法の基本的な例を示しました。 特定の要件に合わせてこのコードをさらにカスタマイズおよび拡張できます。
IronOCR は、画像や PDF からテキストを抽出するための効率的で統合しやすいソリューションを提供するため、請求書処理に最適です。 IronOCR を C# の文字列操作や正規表現と組み合わせて使用することで、請求書から重要なデータをすばやく処理して抽出できます。
これは請求書処理の基本的な例であり、より高度な構成(言語認識、複数ページの PDF 処理など)を使用すると、OCR の結果を微調整して、特定のユースケースの精度を向上させることができます。
IronOCR の API は柔軟性が高く、領収書のスキャン、ドキュメントの変換、データ入力の自動化など、請求書処理以外にもさまざまな OCR タスクに使用できます。

関連する記事

