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 リファレンス .