如何从图像中的表和表格中提取结构数据
如何从图像中的表和表格中提取结构数据
从扫描表或填写表格中提取数据对业务自动化、报告和遵守至关重要。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 参考 .