Aspose.OCRで画像から表と表データを抽出する方法

Aspose.OCRで画像から表と表データを抽出する方法

画像、フォーム、またはスキャンされたレポートからテーブルを抽出することは困難です - 手動のリタイピングは遅く、エラーに耐えられます。

現実世界問題

財務報告書、調査フォーム、および科学的結果は、スキャンされたテーブルや画像によく閉じ込められています。このデータを手動で再生することは、時間とエラーを導入するリスクを無駄にします。

ソリューション概要

Aspose.OCR for .NET は、画像やスキャンされた PDF からテーブルを機械読みやすいフォーマットに正確に検出、抽出および変換することができます - Excel、レポート、またはワークフローの自動化に最適です。

原則

  • Visual Studio 2019 以降
  • .NET 6.0 またはそれ以降(または .Net Framework 4.6.2+)
  • ASPOSE.OCR for .NET から NuGet
  • 基本的なC#知識
PM> Install-Package Aspose.OCR

ステップ・ステップ・実施

ステップ1:インストールおよび設定 Aspose.OCR

using Aspose.OCR;

ステップ2:テーブルを含む画像をスキャンまたは撮影

OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("table1.jpg");
input.Add("report_page.png");

ステップ3:テーブル認識設定を設定する

RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.TABLE; // Key for tables

ステップ4:テーブル抽出プロセスを実行

AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);

ステップ5:輸出表データ

foreach (RecognitionResult result in results)
{
    result.Save("table_data.xlsx", SaveFormat.Xlsx); // Excel output
    result.Save("table_data.csv", SaveFormat.Csv);   // CSV output
    result.Save("table_data.txt", SaveFormat.Text);  // Plain text output
}

ステップ6:エラー処理と認証を追加する

try
{
    AsposeOcr ocr = new AsposeOcr();
    List<RecognitionResult> results = ocr.Recognize(input, settings);
    // Further processing
}
catch (Exception ex)
{
    Console.WriteLine($"Error: {ex.Message}");
}

ステップ7:複雑、回転、または多ページテーブルの最適化

  • Preprocess 画像 to deskew or crop
  • 高解像度スキャンや写真を使用する
  • 複数ページのPDFには、各ページを別々の入力として追加します。
foreach (string file in Directory.GetFiles("./scans", "*.png"))
{
    input.Add(file);
}

ステップ8:完璧な例

using Aspose.OCR;
using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            OcrInput input = new OcrInput(InputType.SingleImage);
            input.Add("table1.jpg");
            input.Add("report_page.png");

            RecognitionSettings settings = new RecognitionSettings();
            settings.Language = Language.English;
            settings.DetectAreasMode = DetectAreasMode.TABLE;

            AsposeOcr ocr = new AsposeOcr();
            List<RecognitionResult> results = ocr.Recognize(input, settings);

            foreach (RecognitionResult result in results)
            {
                result.Save("table_data.xlsx", SaveFormat.Xlsx);
                result.Save("table_data.csv", SaveFormat.Csv);
                result.Save("table_data.txt", SaveFormat.Text);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}

ケースとアプリケーションの使用

財務・科学報告

財務報告書、実験室結果、または研究論文からテーブルを抽出して、Excelで即時分析を行います。

調査・形式処理

スキャンされたフォーム、チェックリスト、または検閲記録からテーブルをデジタル化します。

ワークフロー自動化

構造化されたテーブルデータをビジネスアプリケーション、BIツール、またはデータベースに直接送信します。

共通の課題と解決策

課題1:質の低い、複雑なテーブル

ソリューション: 高いレースの画像を使用し、サンプルセットでテストします。

チャレンジ2:回転または折りたたみのテーブル

ソリューション: 処理前に画像をデスクアップする; DetectAreasMode.TABLE を使用します。

チャレンジ3:マルチページレポート

**ソリューション:**各ページをバッチ処理のための別々の入力として追加します。

パフォーマンス考慮

  • スピードのためのバッチプロセス
  • 高品質のスキャン/写真
  • 大型レース後のOCRオブジェクトの利用

ベストプラクティス

  • 統合前に生産を確認
  • 必要に応じてタブレット認識設定
  • オリジナル・デジタルデータのバックアップ
  • 実装前に実際のサンプルでテスト

高度なシナリオ

シナリオ1:多言語テーブル抽出

settings.Language = Language.German;

シナリオ2:データパイプのためのJSONへの輸出

foreach (RecognitionResult result in results)
{
    result.Save("table_data.json", SaveFormat.Json);
}

結論

Aspose.OCR Table to Text for .NET は、画像やスキャンを実行可能で構造化されたテーブルデータに変換し、分析、報告、自動化のための準備が整っています。

テーブル認識コードのサンプルをもっと見る ASPOSE.OCR for .NET API リファレンス .

 日本語