วิธีการดึงข้อมูลตารางและตู้จากภาพด้วย Aspose.OCR
การ extract tables from images, forms, or scanned reports is challenging—manual retyping is slow and error-prone. Aspose.OCR Table to Text for .NET automates the extraction and structuring of tabular data from pictures and photos. การดึงดูดตารางจากภาพรูปแบบหรือรายงานที่สแกนเป็นสิ่งท้าทาย—การรีไซเคิลด้วยตนเองนั้นช้าและทนต่อข้อผิดพลาด.
ปัญหาโลกจริง
รายงานทางการเงินรูปแบบการสํารวจและผลลัพธ์ทางวิทยาศาสตร์มักจะถูกจับในตารางหรือรูปภาพที่สแกน การรีไซเคิลข้อมูลนี้ด้วยตนเองจะสูญเสียเวลาและเสี่ยงที่จะนําไปสู่ข้อผิดพลาด
ความคิดเห็นเกี่ยวกับโซลูชัน
Aspose.OCR for .NET สามารถตรวจจับการสกัดและแปลงตารางจากภาพหรือไฟล์ PDF ที่สแกนเป็นรูปแบบที่สามารถอ่านได้โดยเครื่องได้อย่างแม่นยําสําหรับ Excel, การรายงานหรืออัตโนมัติการทํางาน
ข้อกําหนด
- 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("table1.jpg");
input.Add("report_page.png");
ขั้นตอนที่ 3: การตั้งค่าการรับรู้ตาราง
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.TABLE; // Key for tables
ขั้นตอนที่ 4: การดําเนินการกระบวนการสกัดโต๊ะ
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
ขั้นตอน 5: ข้อมูลตารางการส่งออก
foreach (RecognitionResult result in results)
{
result.Save("table_data.xlsx", SaveFormat.Xlsx); // Excel output
result.Save("table_data.csv", SaveFormat.Csv); // CSV output
result.Save("table_data.txt", SaveFormat.Text); // Plain text output
}
ขั้นตอน 6: เพิ่มการจัดการข้อผิดพลาดและการยืนยัน
try
{
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
// Further processing
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
ขั้นตอน 7: การเพิ่มประสิทธิภาพสําหรับตารางที่ซับซ้อน, รอบหรือหลายหน้า
- ภาพก่อนการประมวลผลเพื่อ deskew หรือ crop
- ใช้การสแกนความละเอียดสูงหรือภาพถ่าย
- สําหรับ PDF หลายหน้าเพิ่มแต่ละหน้าเป็นป้อนที่แยกต่างหาก
foreach (string file in Directory.GetFiles("./scans", "*.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.jpg");
input.Add("report_page.png");
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.TABLE;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
result.Save("table_data.xlsx", SaveFormat.Xlsx);
result.Save("table_data.csv", SaveFormat.Csv);
result.Save("table_data.txt", SaveFormat.Text);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
ใช้กรณีและแอปพลิเคชัน
การรายงานทางการเงินและวิทยาศาสตร์
extract tables from financial statements, lab results, or research papers for instant analysis in Excel
การสอบถามและการประมวลผลแบบฟอร์ม
การดิจิตอลตารางจากแบบฟอร์มสแกนรายการการตรวจสอบหรือบันทึกการประมวลผล
การอัตโนมัติการทํางาน
ส่งข้อมูลตารางที่โครงสร้างโดยตรงไปยังแอพธุรกิจของคุณเครื่องมือ BI หรือฐานข้อมูล
ความท้าทายและโซลูชั่นทั่วไป
ความท้าทาย 1: คุณภาพต่ําหรือตารางที่ซับซ้อน
โซลูชัน: ใช้ภาพที่มีความละเอียดสูงและทดสอบบนชุดตัวอย่าง การประมวลผลก่อนเพื่อปรับปรุงความชัดเจน
ความท้าทาย 2: ตารางหมุนหรือสกปรก
โซลูชัน: Deskew ภาพก่อนการประมวลผล ใช้ DetectAreasMode.TABLE
ความท้าทาย 3: รายงานหลายหน้า
โซลูชัน: เพิ่มแต่ละหน้าเป็นป้อนที่แยกต่างหากสําหรับการประมวลผลชุด
การพิจารณาประสิทธิภาพ
- กระบวนการแบทช์สําหรับความเร็ว
- ใช้การสแกนคุณภาพสูง / ภาพถ่าย
- มีวัตถุ OCR หลังจากการแข่งขันขนาดใหญ่
แนวทางที่ดีที่สุด
- การยืนยันการผลิตก่อนการรวมกัน
- การตั้งค่าการรับรู้ตาราง Tune ตามที่จําเป็น
- การบันทึกข้อมูลเดิมและดิจิตอล
- การทดสอบด้วยตัวอย่างจริงก่อนการใช้งาน
การ์ตูนขั้นสูง
ฉาก 1: การสกัดโต๊ะหลายภาษา
settings.Language = Language.German;
ฉาก 2: การส่งออกไปยัง JSON สําหรับท่อข้อมูล
foreach (RecognitionResult result in results)
{
result.Save("table_data.json", SaveFormat.Json);
}
ข้อสรุป
Aspose.OCR Table to Text for .NET แปลงภาพและสแกนเป็นข้อมูลตารางที่สามารถใช้งานได้และโครงสร้างได้พร้อมสําหรับการวิเคราะห์การรายงานและการอัตโนมัติ
ดูเพิ่มเติมตัวอย่างรหัสการรับรู้ตารางใน Aspose.OCR สําหรับการอ้างอิง API .NET .