如何用 Aspose.OCR 从图像中提取表数据

如何用 Aspose.OCR 从图像中提取表数据

从扫描或拍摄的图像中提取表往往是一种手动,错误的过程. 使用 Aspose.OCR 图表到文本为 .NET,您可以自动从图形中获取结构化表数据 - 节省时间,减少故障,并允许与数据库、Excel 或报告工具无缝集成。

现实世界问题

企业经常收到账单、报告或像图像或扫描一样的表格,手动重新输入这些数据到分布表或分析平台是不有效的,特别是对于大容量或复杂表。

解决方案概述

Aspose.OCR Table to Text for .NET 自动化图表识别和从图像中提取数据,准确地确定细胞结构和内容,这允许您将扫描或拍摄的表格转化为结构化、可搜索和可编辑的格式,具有最小代码。

原則

在开始之前,你需要:

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

步骤实施

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

添加 Aspose.OCR 包,并包含所需的名称空间:

using Aspose.OCR;

步骤2:准备桌面图像输入

将一个或多个桌面图像添加到您的输入中。

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

步骤3:设置表识别设置

允许桌面检测模式,以确保结构被准确识别。

RecognitionSettings settings = new RecognitionSettings();
settings.DetectAreasMode = DetectAreasMode.TABLE;
settings.Language = Language.English; // Adjust if table contains non-English text

步骤4:运行表识别过程

用配置设置识别表:

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

步骤5:出口和使用表数据

保存或处理已识别的表数据. 您可以出口到文本、Excel、JSON 或其他格式。

foreach (RecognitionResult result in results)
{
    Console.WriteLine(result.RecognitionText); // Raw table as text
    result.Save("table.csv", SaveFormat.Csv); // Save as CSV
    result.Save("table.xlsx", SaveFormat.Xlsx); // Save as Excel
}

步骤6:添加错误处理

添加例外处理,以建立强大的解决方案。

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

步骤7:优化复杂表格

  • 使用高分辨率扫描/照片以准确的结构检测
  • 测试各种桌面配置(混合细胞,多线头,边界)
  • 按需要进行识别设置
// Example: Add all images from a folder
foreach (string file in Directory.GetFiles("./tables", "*.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.png");
            input.Add("table2.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)
            {
                Console.WriteLine(result.RecognitionText);
                result.Save("table.csv", SaveFormat.Csv);
                result.Save("table.xlsx", SaveFormat.Xlsx);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}

使用案例和应用程序

财务报表和账单

从图像中自动提取交易表到Excel或数据库系统。

研究与分析

从扫描出版物或调查表格数字化数据分析。

自动数据迁移

移民遗产文件或扫描的纸质记录到现代结构化格式。

共同挑战与解决方案

挑战1:混乱或复杂的桌面图像

** 解决方案:** 使用更清晰的图像或预处理实验,以提高结构识别。

挑战2:非标准桌面布局

** 解決方案:** 測試和調整複雜配置或無限表格的設定。

挑战3:大片或混合图像类型

** 解决方案:** 使用集合处理和目录扫描来自动从许多文件中提取。

绩效考虑

  • 使用清晰、高清的图像
  • Batch 以效率为基础
  • 使用后使用 OCR 物品

最佳实践

  • 在进一步处理之前始终验证出口表数据
  • 预处理图像为最佳结构检测
  • 安全和备份原始扫描/图像
  • 使用正确的出口格式为您的工作流(CSV、XLSX、JSON)

先进的场景

场景1:混合语言表提取

settings.Language = Language.Chinese;

场景2:结合表和文本提取

settings.DetectAreasMode = DetectAreasMode.COMBINE;

结论

Aspose.OCR Table to Text for .NET 将图像表转化为结构化、可编辑的数据,无需手动输入。

如需更多示例和技术细节,请参观 ASPOSE.OCR 为 .NET API 参考 .

 中文