如何从图像中的表和表格中提取结构数据

如何从图像中的表和表格中提取结构数据

从扫描表或填写表格中提取数据对业务自动化、报告和遵守至关重要。Aspose.OCR Table to Text for .NET 简化这个过程,精确检测细胞和字段结构,并将其出口到可编辑的格式。

现实世界问题

企业经常收到账单、报告或像图像或扫描一样的表格,图表数据或表单字段的手动输入是缓慢、错误的,而且在规模上昂贵。

解决方案概述

使用 .NET 的表到文本,您可以直接从图像中提取结构化数据(包括行、列和字段值)。结果可以出口到 Excel、JSON 或集成到数据库和自动化平台。

原則

  • Visual Studio 2019 或以后
  • .NET 6.0 或更高版本(或 .Net Framework 4.6.2+)
  • Aspose.OCR 为 .NET 从 NuGet
  • 基本的C#技能
PM> Install-Package Aspose.OCR

步骤实施

步骤 1: 安装和设置 Aspose.OCR

using Aspose.OCR;

步骤2:准备表或表格图像

OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("scanned_invoice.png");
input.Add("filled_form.jpg");

步骤3:设置表/表格的识别设置

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

步骤4:提取表或表格数据

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

步骤5:结构化出口

foreach (RecognitionResult result in results)
{
    result.Save("output_table.xlsx", SaveFormat.Xlsx); // Spreadsheet
    result.Save("output_table.json", SaveFormat.Json); // JSON
    result.Save("output_table.txt", SaveFormat.Text);  // Text
}

步骤6:处理错误和验证结果

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

步骤7:优化表/形状变量

  • 测试不同边界、字体或田地位置的样品
  • Tune Preprocessing 设置为最佳检测

步骤8:自动提取包装

在一个文件夹中处理所有相关图像:

foreach (string file in Directory.GetFiles("./forms", "*.jpg"))
{
    input.Add(file);
}

步骤9:完整的例子

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

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

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

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

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

使用案例和应用程序

发票和报告自动化

提取财务数据用于会计或分析。

调查和登记表格

对 CRM、ERP 或 BI 系统进行结构化响应。

遵守和审计

自动从提交的表格或表单中提取和验证数据。

共同挑战与解决方案

挑战1:不规则的桌面边界或布局

** 解决方案:** 使用预处理和样品调整,以改善检测。

挑战2:混合内容(文本和表格)

** 解決方案:** 使用 AUTO 或按圖像類型分開,以獲得最佳結果。

挑战3:多种领域的复杂形状

** 解決方案:** 高密度表格的測試和推測認知。

绩效考虑

  • 桌面识别更为CPU强度;监控集合工作
  • 批准关键工作流的输出
  • 包装出口与其他工具的集成

最佳实践

  • 在规模之前对样品进行结构化数据验证
  • 安全和存档源图像和提取的输出
  • 定期更新 Aspose.OCR 为准确性改进
  • Tune 设置为新文档配置

先进的场景

场景1:向数据库或BI工具出口

// Use JSON or Excel export for integration with data pipelines

剧本2:在Web应用中实时提取

// Integrate extraction logic into ASP.NET or workflow API

结论

Aspose.OCR Table to Text for .NET 允许您从图像和表格中自动化结构化数据提取,从业务自动化的到遵守和分析。

对于先进的桌面提取功能,请参观 ASPOSE.OCR 为 .NET API 参考 .

 中文