フッターコンテンツにスキップ
IRONOCRの使い方
HTMLからPDFへ: C# .NETのクイックチュートリアル

IronOCR を使用してスキャン画像からテーブルデータを抽出する方法:ライブデモの要約

スキャンした画像からデータを抽出することは、特にテーブルなどの構造化されたデータが含まれる場合には、よくある課題です。 IronOCR の高度な機械学習機能により、セルの値とその位置を含むテーブルデータをシームレスに抽出できるようになりました。 このデモでは、ソフトウェア セールス エンジニアの Shadman Majid がコードの実装を段階的に説明し、セールスおよびマーケティング ディレクターの Anne Lazarakis がIron Software の顧客の実際の使用事例を紹介します。

実際のユースケース

Ironocr Extract Table Data 4 related to 実際のユースケース

セールス&マーケティングディレクターのアン・ラザラキスによる説明*

保険金請求処理(Opyn Market)

米国の規制が厳しい医療保険業界では、 Opyn Marketのような企業は依然として多くの文書をファックスで受け取っています。 これらのスキャンされた文書には、正確に抽出して社内システムに入力する必要がある表形式のデータが含まれていることがよくあります。 IronOCR を使用すると、このプロセスを自動化できるため、手作業が削減され、人為的エラーの可能性が排除されます。

物流・食品流通(iPAP)

米国最大のチーズ販売業者であるiPAP は、IronOCR を使用して 200 を超えるクライアントの注文を管理しています。 請求書の形式はさまざまで、表のレイアウトも一貫していません。 IronOCR は、さまざまなフォーマットであっても、スキャンした文書から注文番号、出荷日、商品の詳細を効率的に抽出するのに役立ちます。 この自動化により、年間 40,000 ~ 45,000 ドルの節約が実現しました。

Ironocr Extract Table Data 2 related to 物流・食品流通(iPAP)


技術概要

Ironocr Extract Table Data 5 related to 技術概要

ソフトウェアセールスエンジニアのShadman Majid氏によるライブコーディングセッション*

IronOCR は独自の機械学習モデルを使用して、スキャンされたドキュメントから表データを検出して抽出します。 この機能は以下をサポートします:

  • 表のセルと座標の抽出
  • スキャンした画像と複数フレームのPDFのOCR
  • C#、VB.NET、.NET Standard、.NET Framework、.NET Core との互換性

Ironocr Extract Table Data 3 related to 技術概要

この機能にアクセスするには、次のものが必要です。

これらのパッケージには、表構造の検出と正確な OCR に必要なトレーニング済みの ML モデルが含まれています。

テーブル抽出のサンプルコード

以下は、IronOCR を使用して画像からテーブル データを抽出する方法を示すサンプル C# コード スニペットです。

// Import the necessary IronOCR namespaces
using IronOcr;

// Initialize the IronTesseract to handle OCR processes
var Ocr = new IronTesseract();

// Load the image containing the table
using (var input = new OcrInput("invoice.jpg"))
{
    // Perform OCR and extract text data including tables
    var result = Ocr.Read(input);

    // Iterate through each page in the document
    foreach (var page in result.Pages)
    {
        // Iterate through each table found on the page
        foreach (var table in page.Tables)
        {
            Console.WriteLine("Table found:");
            // Iterate through each row in the table
            foreach (var row in table.Rows)
            {
                // Convert the row of cells to a comma-separated string
                var cells = string.Join(", ", row.Cells.Select(cell => cell.Text));
                Console.WriteLine(cells);
            }
        }
    }
}
// Import the necessary IronOCR namespaces
using IronOcr;

// Initialize the IronTesseract to handle OCR processes
var Ocr = new IronTesseract();

// Load the image containing the table
using (var input = new OcrInput("invoice.jpg"))
{
    // Perform OCR and extract text data including tables
    var result = Ocr.Read(input);

    // Iterate through each page in the document
    foreach (var page in result.Pages)
    {
        // Iterate through each table found on the page
        foreach (var table in page.Tables)
        {
            Console.WriteLine("Table found:");
            // Iterate through each row in the table
            foreach (var row in table.Rows)
            {
                // Convert the row of cells to a comma-separated string
                var cells = string.Join(", ", row.Cells.Select(cell => cell.Text));
                Console.WriteLine(cells);
            }
        }
    }
}
' Import the necessary IronOCR namespaces
Imports IronOcr

' Initialize the IronTesseract to handle OCR processes
Private Ocr = New IronTesseract()

' Load the image containing the table
Using input = New OcrInput("invoice.jpg")
	' Perform OCR and extract text data including tables
	Dim result = Ocr.Read(input)

	' Iterate through each page in the document
	For Each page In result.Pages
		' Iterate through each table found on the page
		For Each table In page.Tables
			Console.WriteLine("Table found:")
			' Iterate through each row in the table
			For Each row In table.Rows
				' Convert the row of cells to a comma-separated string
				Dim cells = String.Join(", ", row.Cells.Select(Function(cell) cell.Text))
				Console.WriteLine(cells)
			Next row
		Next table
	Next page
End Using
$vbLabelText   $csharpLabel

-画像の読み込み:スクリプトは、IronTesseract エンジンを初期化し、処理するinvoice.jpgという名前の画像ファイルを読み込むことから始まります。

  • OCR 実行:入力に対して OCR を実行し、特にテーブルに重点を置いてテキスト データを抽出します。 -表の抽出:スクリプトは検出された各表とその行を反復処理し、セルの内容を構造化された方法で出力します。

このスクリプトを実行する前に、 IronOCRに必要な NuGet パッケージがインストールされていることを確認してください。


結論

IronOCR を使用すると、スキャンされたドキュメントから複雑な表データを簡単に自動的に抽出できます。 医療、物流、金融、製造業のいずれの分野でも、このソリューションは信頼性、正確性、コスト削減の効率性を実現します。 わずか数行のコードで、手動でのデータ入力を排除し、人的エラーを削減できます。

実際に動作しているところを見てみませんか? こちらで弊社のエンジニアによるライブ デモを予約してください。

よくある質問

C#を使用してスキャン画像からテーブルデータを抽出するにはどうすればよいですか?

IronOCRの高度な機械学習機能を使用して、スキャンした画像からテーブルデータを抽出することができます。このプロセスには、IronTesseractエンジンを使用して画像に対してOCRを実行し、セルの値やその座標を含む情報を抽出することが含まれます。

スキャンされた文書からテーブルデータを抽出する実世界の応用例は何ですか?

実際のアプリケーションには、ファックスした文書から表形式のデータを抽出することによる保険請求処理の自動化や、さまざまな形式で不定のテーブルレイアウトの請求書を含むクライアントの注文管理などがあり、Opyn MarketやiPAPのような企業によって示されています。

IronOCRがテーブルデータ抽出用に提供する技術的能力とは何ですか?

IronOCRはテーブルセルとその座標の抽出、スキャン画像やマルチフレームPDFのOCR、C#、VB.NET、.NET Standard、.NET Framework、.NET Coreとの互換性を提供します。

IronOCRを使用してテーブルデータを抽出するためのコードにはどのような手順が含まれていますか?

このプロセスには、IronTesseractエンジンの初期化、画像の読み込み、テキストデータを抽出するためのOCRの実行、そして検出された各テーブルとその行を繰り返し処理してセル内容を出力することが含まれます。

IronOCRを使用してテーブルデータを抽出するために必要なパッケージは何ですか?

テーブル検出と正確なOCRに必要な訓練済みのMLモデルを活用するには、IronOCR NuGetパッケージとIronOcr.Extensions.AdvancedScanningパッケージが必要です。

IronOCRは医療および物流産業の効率をどのように向上させますか?

IronOCRは、スキャンした文書からの複雑なテーブルデータの抽出を自動化することで手作業と人的エラーを削減し、医療や物流産業において実質的な効率とコスト削減を提供します。

IronOCRの機能のライブデモを見ることができますか?

はい、Iron Softwareのエンジニアと一緒にライブデモを予約することで、IronOCRの実際の動作を見て、テーブルデータを抽出する能力についてもっと学ぶことができます。

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