如何用 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 参考 .