1. Sản Phẩm
  2.   Aspose.OCR
  3.   Aspose.OCR FOSS for .NET

Aspose.OCR FOSS cho .NET

Thư viện .NET mã nguồn mở để phát hiện và nhận dạng văn bản trong hình ảnh và tài liệu PDF. Được cấp phép MIT, chạy offline với các mô hình ONNX nhúng.

Thư viện .NET mã nguồn mở cho phát hiện và nhận dạng văn bản

Aspose.OCR FOSS for .NET là một thư viện C# miễn phí, được cấp phép MIT, dùng để phát hiện và nhận dạng văn bản trong hình ảnh raster và tài liệu PDF, mà không cần phần mềm OCR bên ngoài hoặc dịch vụ. Toàn bộ quy trình — phát hiện dòng văn bản, tinh chỉnh vùng, và nhận dạng kịch bản Latin — chạy cục bộ thông qua ba mô hình ONNX được nhúng trực tiếp trong assembly và được thực thi trên CPU qua Microsoft.ML.OnnxRuntime; không cần tải mô hình và không có cuộc gọi mạng được yêu cầu tại thời gian chạy. API tập trung vào AsposeOcr.Recognize(), chấp nhận một OcrInput được tạo từ một hoặc nhiều tệp (InputType.SingleImage hoặc InputType.PDF) và trả về một OcrOutput — một RecognitionResult cho mỗi hình ảnh hoặc trang PDF, theo thứ tự nguồn. Mỗi RecognitionResult cung cấp toàn bộ văn bản trang thông qua RecognitionText và các dòng đã nhận dạng riêng lẻ, mỗi dòng có hộp bao giới hạn tọa độ pixel, thông qua RecognitionLinesResult. Các trang PDF được render nội bộ (qua Aspose.PDF.FOSS)` trước khâu nhận dạng, vì vậy không cần bước chuyển đổi PDF-sang-hình ảnh riêng. Aspose.OCR FOSS cho .NET được cấp phép MIT. Cài đặt nó bằng dotnet add package Aspose.OCR.FOSS. Đối với dòng sản phẩm doanh nghiệp, xem Aspose.OCR — Enterprise Product Family.

Nhận dạng Văn bản trong Hình ảnh và PDF

  • AsposeOcr.Recognize(OcrInput) là điểm vào duy nhất cho cả ảnh và PDF
  • OcrInput chấp nhận InputType.SingleImage hoặc InputType.PDF; thêm một hoặc nhiều đường dẫn tệp
    bằng OcrInput.Add()
  • Đối với InputType.PDF, mỗi trang được nhận dạng và trả về theo thứ tự nguồn
  • Kết quả là một OcrOutput — một RecognitionResult cho mỗi ảnh hoặc trang PDF

Nơi Nhận Dạng Văn Bản Được Sử Dụng

  • Chuyển đổi tài liệu đã quét thành văn bản có thể tìm kiếm và sao chép
  • Trích xuất văn bản từ các PDF đã quét không có lớp văn bản nhúng
  • Xử lý các biểu mẫu, biên lai và hoá đơn đã quét trong quy trình hàng loạt
  • Lập chỉ mục cho các kho lưu trữ lớn các hình ảnh đã quét để tìm kiếm toàn văn bản

Văn bản cấp dòng và các hộp bao

  • RecognitionResult.RecognitionText trả về toàn bộ văn bản trang đã nhận dạng
  • RecognitionResult.RecognitionLinesResult trả về một RecognitionResult.LinesResult cho mỗi dòng văn bản được phát hiện
  • Mỗi RecognitionResult.LinesResult.TextInLine chứa văn bản đã nhận dạng của dòng đó
  • Mỗi RecognitionResult.LinesResult.Line là một System.Drawing.Rectangle cung cấp tọa độ pixel của dòng trong ảnh nguồn

Nơi Dữ Liệu Cấp Dòng Được Sử Dụng

  • Vẽ các lớp phủ vùng được nhận dạng lên trên hình ảnh nguồn
  • Xây dựng lớp văn bản có thể tìm kiếm được đặt lên trên trang đã quét
  • Xem xét độ chính xác nhận dạng từng dòng trong quá trình QA
  • Điều khiển công cụ che mờ hoặc chú thích dựa trên tọa độ dòng

Hoạt động hoàn toàn offline, không có dịch vụ bên ngoài

  • Cả ba mô hình ONNX (phát hiện, tinh chỉnh, nhận dạng Latin) đều là tài nguyên assembly được nhúng — không cần tải xuống riêng biệt
  • Quá trình nhận dạng chạy hoàn toàn trên CPU cục bộ thông qua Microsoft.ML.OnnxRuntime
  • OcrInput có thể chứa nhiều tệp; OcrOutput giữ nguyên thứ tự gốc của chúng
  • Các loại đầu vào được hỗ trợ chỉ là InputType.SingleImage và InputType.PDF — bất kỳ loại nào khác sẽ ném ra NotSupportedException

Nơi Nhận Dạng Ngoại Tuyến Quan Trọng

  • Môi trường không có kết nối air-gapped hoặc được quy định, nơi tài liệu không thể rời khỏi mạng
  • Các pipeline CI/CD không có quyền truy cập mạng bên ngoài trong quá trình xây dựng
  • Nhận dạng hàng loạt với khối lượng lớn, trong đó chi phí OCR đám mây theo mỗi lần gọi là mối quan ngại
  • Xử lý tài liệu tại chỗ (on-premises) với độ trễ dự đoán được, chỉ nội bộ

Nhận dạng văn bản trong tài liệu PDF

Nhận dạng mọi trang của một PDF và in văn bản của mỗi trang theo thứ tự nguồn.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);
foreach (RecognitionResult page in output)
{
    Console.WriteLine(page.RecognitionText);
}

Nhận dạng văn bản trong một hình ảnh duy nhất

Nhận dạng một hình ảnh raster đơn và in ra văn bản đã nhận dạng.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("scan.png");
RecognitionResult result = api.Recognize(input)[0];
Console.WriteLine(result.RecognitionText);

Đọc các dòng đã nhận dạng và các hộp bao quanh của chúng

Lặp lại các dòng đã nhận dạng và in ra văn bản của mỗi dòng cùng với tọa độ pixel của nó.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("document.jpg");
RecognitionResult result = api.Recognize(input)[0];
foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
    System.Drawing.Rectangle bounds = line.Line;
    Console.WriteLine($"x={bounds.X}, y={bounds.Y}, width={bounds.Width}, height={bounds.Height}: {line.TextInLine}");
}

Câu Hỏi Thường Gặp

Mô hình cấp phép là gì?

Aspose.OCR FOSS for .NET được cấp phép theo MIT. Bạn có thể sử dụng, chỉnh sửa và phân phối lại nó, bao gồm trong các sản phẩm thương mại, mà không phải trả phí cấp phép bổ sung.

Làm sao để tôi cài đặt Aspose.OCR FOSS for .NET?

Xem phần cài đặt ở trên để biết lệnh cài đặt hiện tại.

Nó nhận dạng những ngôn ngữ nào?

Văn bản Latin. Không có tham số lựa chọn ngôn ngữ, và các chữ viết không phải Latin không được mô hình nhận dạng nhúng bao phủ.

Có cần 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ộ thông 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.

  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt