Tổng quan tính năng
Tổng quan các tính năng
Trang này giới thiệu API nhận dạng của thư viện và các khả năng được trình bày chi tiết ở các phần khác của hướng dẫn này. AsposeOcr là điểm vào cho toàn bộ thư viện. Phương thức Recognize() của nó nhận một OcrInput và trả về một OcrOutput — danh sách RecognitionResult, mỗi mục cho một hình ảnh hoặc trang PDF.
Nhận dạng ảnh đơn và PDF
OcrInput được tạo bằng một InputType — InputType.SingleImage cho ảnh raster, hoặc InputType.PDF cho tài liệu PDF. Các tệp được đưa vào hàng đợi bằng OcrInput.Add(). Giải phóng OcrInput chỉ xóa các đường dẫn tệp đã được đưa vào hàng đợi mà nó giữ.
using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);Kết quả nhận dạng
Mỗi RecognitionResult cung cấp RecognitionText (toàn bộ văn bản trang đã nhận dạng) và RecognitionLinesResult (danh sách RecognitionResult.LinesResult, mỗi mục có TextInLine và một hộp giới hạn System.Drawing.Rectangle trong Line).
foreach (RecognitionResult page in output)
{
Console.WriteLine(page.RecognitionText);
foreach (RecognitionResult.LinesResult line in page.RecognitionLinesResult)
{
Console.WriteLine($"{line.Line}: {line.TextInLine}");
}
}Xử lý hàng loạt
OcrInput chấp nhận hơn một tệp cùng loại đầu vào. OcrOutput giữ nguyên thứ tự các tệp được thêm vào, với một RecognitionResult cho mỗi tệp (hoặc cho mỗi trang PDF).
using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");
OcrOutput output = api.Recognize(input);Mẹo và Thực hành Tốt nhất
- Giải phóng
OcrInput(hoặc bao bọc nó trong một câu lệnhusing) khi quá trình nhận dạng hoàn tất để giải phóng các tài nguyên nền. - Chỉ hỗ trợ
InputType.SingleImagevàInputType.PDF— bất kỳ loại đầu vào nào khác sẽ gây raNotSupportedException. - Nhận dạng chỉ hỗ trợ ký tự Latin; không có tham số chọn ngôn ngữ.
- Các trang PDF được render nội bộ trước khi nhận dạng, vì vậy không cần bước chuyển đổi PDF sang hình ảnh riêng biệt.
Các vấn đề thường gặp
| Vấn đề | Nguyên nhân | Cách khắc phục |
|---|---|---|
NotSupportedException trên Recognize() | Một OcrInput đã được tạo với một InputType không được hỗ trợ | Chỉ sử dụng InputType.SingleImage hoặc InputType.PDF |
FileNotFoundException trên Recognize() | Đường dẫn được thêm qua OcrInput.Add() không tồn tại | Xác minh đường dẫn tệp trước khi gọi Add() |
Rỗng RecognitionLinesResult | Không phát hiện dòng văn bản nào trong ảnh hoặc trang đó | Xác nhận ảnh nguồn chứa văn bản chữ Latin có thể đọc được, không bị xoay |
FAQ
Ngôn ngữ nào mà Aspose.OCR FOSS cho .NET nhận dạng?
Văn bản chữ Latin. Mô hình nhận dạng nhúng không bao gồm các chữ viết không phải Latin.
Có yêu cầu kết nối internet không?
Không. Cả ba mô hình ONNX (phát hiện, tinh chỉnh, nhận dạng) đều được nhúng trong assembly và chạy cục bộ qua Microsoft.ML.OnnxRuntime.
Tôi có thể nhận dạng nhiều tệp trong một lần gọi không?
Có — thêm nhiều tệp vào cùng một OcrInput trước khi gọi AsposeOcr.Recognize(). OcrOutput trả về giữ nguyên thứ tự của chúng.
Nền tảng nào mà nó chạy trên?
Nó nhắm tới .NET Standard 2.0, .NET Framework 4.8 và .NET 8.0+. Xử lý hình ảnh yêu cầu Windows, vì nó phụ thuộc vào System.Drawing.Common.
API Reference Tóm tắt
| Lớp/Phương thức | Mô tả |
|---|---|
AsposeOcr.Recognize(OcrInput) | Điểm vào: nhận dạng văn bản và trả về một OcrOutput |
OcrInput.Add(string) | Đưa một đường dẫn tệp vào hàng đợi để nhận dạng |
InputType | Liệt kê: SingleImage hoặc PDF |
RecognitionResult.RecognitionText | Toàn bộ văn bản trang đã nhận dạng |
RecognitionResult.RecognitionLinesResult | Danh sách các dòng đã nhận dạng kèm hộp bao |
RecognitionResult.LinesResult.TextInLine | Văn bản đã nhận dạng cho một dòng |
RecognitionResult.LinesResult.Line | Hộp giới hạn tọa độ pixel cho một dòng |