ภาพรวมคุณลักษณะ
ภาพรวมของฟีเจอร์
หน้านี้แนะนำ API การจดจำของไลบรารีและความสามารถที่อธิบายอย่างละเอียดในส่วนอื่นของคู่มือนี้. AsposeOcr คือจุดเริ่มต้นสำหรับไลบรารีทั้งหมด. วิธี Recognize() ของมันรับ OcrInput และคืนค่า OcrOutput — รายการของ RecognitionResult, หนึ่งต่อภาพหรือหน้าของ PDF.
การจดจำภาพเดี่ยวและ PDF
OcrInput ถูกสร้างด้วย InputType — InputType.SingleImage สำหรับภาพแรสเตอร์ หรือ InputType.PDF สำหรับเอกสาร PDF. ไฟล์จะถูกจัดคิวด้วย OcrInput.Add(). การทำลาย OcrInput จะเพียงล้างเส้นทางไฟล์ที่อยู่ในคิวเท่านั้น.
using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);ผลลัพธ์การจดจำ
แต่ละ RecognitionResult เปิดเผย RecognitionText (ข้อความเต็มของหน้าที่จดจำ) และ RecognitionLinesResult (รายการของ RecognitionResult.LinesResult, แต่ละรายการมี TextInLine และกรอบล้อมรอบ System.Drawing.Rectangle ใน Line).
foreach (RecognitionResult page in output)
{
Console.WriteLine(page.RecognitionText);
foreach (RecognitionResult.LinesResult line in page.RecognitionLinesResult)
{
Console.WriteLine($"{line.Line}: {line.TextInLine}");
}
}การประมวลผลเป็นชุด
OcrInput ยอมรับไฟล์มากกว่าหนึ่งไฟล์ของประเภทอินพุตเดียวกัน OcrOutput รักษาลำดับที่ไฟล์ถูกเพิ่มเข้ามาไว้ โดยมี RecognitionResult หนึ่งรายการต่อไฟล์ (หรือต่อหน้าของ PDF).
using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");
OcrOutput output = api.Recognize(input);เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุด
- ทำลาย
OcrInput(หรือห่อไว้ในคำสั่งusing) เมื่อการจดจำเสร็จสิ้นเพื่อปล่อยทรัพยากรพื้นฐาน. - รองรับเฉพาะ
InputType.SingleImageและInputType.PDFเท่านั้น — ประเภทอินพุตอื่นใดจะทำให้เกิดNotSupportedException. - การจดจำรองรับเฉพาะสคริปต์ละตินเท่านั้น; ไม่มีพารามิเตอร์เลือกภาษา.
- หน้าของ PDF จะถูกเรนเดอร์ภายในก่อนการจดจำ ดังนั้นจึงไม่จำเป็นต้องมีขั้นตอนแปลง PDF เป็นภาพแยกต่างหาก.
ปัญหาทั่วไป
| ปัญหา | สาเหตุ | การแก้ไข |
|---|---|---|
NotSupportedException บน Recognize() | ได้สร้าง OcrInput ด้วย InputType ที่ไม่รองรับ | ใช้เฉพาะ InputType.SingleImage หรือ InputType.PDF |
FileNotFoundException บน Recognize() | เส้นทางที่เพิ่มผ่าน OcrInput.Add() ไม่มีอยู่ | ตรวจสอบเส้นทางไฟล์ก่อนเรียก Add() |
ว่างเปล่า RecognitionLinesResult | ไม่พบบรรทัดข้อความในรูปภาพหรือหน้า | ยืนยันว่าภาพต้นฉบับมีข้อความอักษรละตินที่อ่านได้และไม่ถูกหมุน |
FAQ
ภาษาอะไรที่ Aspose.OCR FOSS สำหรับ .NET รับรู้?
ข้อความที่ใช้ตัวอักษรละติน โมเดลการรับรู้ที่ฝังอยู่ไม่รองรับสคริปต์ที่ไม่ใช่ละติน.
มันต้องการการเชื่อมต่ออินเทอร์เน็ตหรือไม่?
ไม่ ทั้งสามโมเดล ONNX (การตรวจจับ, การปรับปรุง, การรับรู้) ถูกฝังไว้ในแอสเซมบลีและทำงานในเครื่องผ่าน Microsoft.ML.OnnxRuntime.
ฉันสามารถรับรู้หลายไฟล์ในการเรียกครั้งเดียวได้หรือไม่?
ได้ — เพิ่มหลายไฟล์ลงใน OcrInput เดียวกันก่อนเรียก AsposeOcr.Recognize(). OcrOutput ที่คืนค่าจะรักษาลำดับของไฟล์เหล่านั้นไว้.
โปรแกรมนี้ทำงานบนแพลตฟอร์มใด?
มันมุ่งเป้าไปที่ .NET Standard 2.0, .NET Framework 4.8, และ .NET 8.0+. การประมวลผลภาพต้องใช้ Windows เนื่องจากพึ่งพา System.Drawing.Common.
API Reference สรุป
| คลาส/เมธอด | คำอธิบาย |
|---|---|
AsposeOcr.Recognize(OcrInput) | จุดเริ่มต้น: จดจำข้อความและส่งคืน OcrOutput |
OcrInput.Add(string) | คิวเส้นทางไฟล์เพื่อการจดจำ |
InputType | Enum: SingleImage หรือ PDF |
RecognitionResult.RecognitionText | ข้อความหน้าที่ถูกจดจำทั้งหมด |
RecognitionResult.RecognitionLinesResult | รายการบรรทัดที่จดจำพร้อมกล่องขอบเขต |
RecognitionResult.LinesResult.TextInLine | ข้อความที่รับรู้สำหรับหนึ่งบรรทัด |
RecognitionResult.LinesResult.Line | กล่องกรอบพิกัดพิกเซลสำหรับหนึ่งบรรทัด |