如何通过 Aspose.OCR 从表格中自动输入数据
如何通过 Aspose.OCR 从表格中自动输入数据
通过 Aspose.OCR for .NET,您可以从扫描或照片中数字化表格数据,减少错误,并将不结构化的文件转化为结构化、可编辑的数据。
现实世界问题
手动格式数据输入是缓慢,昂贵,并且非常容易犯错 - 特别是在大型组织,研究,或物流。手写,多样化的配置和混合的字段类型使自动化具有挑战性,没有强大的OCR工具。
解决方案概述
Aspose.OCR 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
using Aspose.OCR;
步骤2:扫描或拍摄您的表格
准备您的表格图像(JPEG,PNG,PDF,或TIFF)。您可以添加多个文件来提取集合。
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("form1.png");
input.Add("form2.jpg");
步骤3:设置识别设置
调整语言、布局和(必要时)手写检测设置。
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.DOCUMENT; // For complex or multi-field forms
步骤4:运行数据提取过程
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
步骤5:输出或使用数字化数据
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText); // Extracted text
result.Save("form_data.txt", SaveFormat.Text); // Save as plain text
result.Save("form_data.xlsx", SaveFormat.Xlsx); // Save as spreadsheet
}
步骤6:添加错误处理
try
{
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
// further processing
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
步骤7:优化布局和手写
- 用于手写字段,使用更高的 DPI 扫描和调整语言设置
- 使用 DetectAreasMode.TABLE 为表格或多种配置的DOCUMENT
- 用样品表格进行测试,以调节设置
// Example: Add all images from a directory
foreach (string file in Directory.GetFiles("./forms", "*.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("form1.png");
input.Add("form2.jpg");
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.DOCUMENT;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
result.Save("form_data.txt", SaveFormat.Text);
result.Save("form_data.xlsx", SaveFormat.Xlsx);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
使用案例和应用程序
医疗保健和HR
提取和数字化患者接收、工作申请或调查的表格数据。
研究与教育
自动查询和调查处理,以便更快的分析。
物流与商业
数字化交付笔记、检查表格或存储检查列表。
共同挑战与解决方案
挑战1:手写或低质量的字段
** 解决方案:** 使用高品质的扫描和调整识别设置手写。
挑战2:不规则的形状布局
** 解决方案:** 使用文档模式进行复杂的配置,并在样品上进行测试。
挑战3:Batch Extraction
** 解决方案:** 为高容量表格使用基于目录的集合处理。
绩效考虑
- 快速和可扩展的Batch过程
- 使用后使用 OCR 物品
- 融入前验证产量
最佳实践
- 在自动化之前审查数字化数据的准确性
- Tune 设置为每个表格模板型
- 审计的原始档案
- 定期更新 Aspose.OCR 为功能改进
先进的场景
场景1:从表格中提取手写
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.DOCUMENT;
// Optionally, pre-filter for handwriting using image preprocessing
场景2:向 JSON 出口数据库进口
foreach (RecognitionResult result in results)
{
result.Save("form_data.json", SaveFormat.Json);
}
结论
Aspose.OCR for .NET 自动化构成数据提取 - 消除手动输入并加速业务、研究或行政工作流。
查看更多先进的使用和代码样本在 ASPOSE.OCR 为 .NET API 参考 .