Trong nhiều quy trình công việc, tài liệu PDF đã quét phải được chuyển đổi thành văn bản có thể tìm kiếm hoặc chỉnh sửa. Hướng dẫn Extract Text from Scanned PDFs with Aspose.PDF OCR in C# trình bày cách tận dụng công cụ OCR tích hợp trong Aspose.PDF for .NET để trích xuất văn bản thuần từ các trang dựa trên hình ảnh. Bằng cách làm theo hướng dẫn này, bạn sẽ có một giải pháp sẵn sàng chạy, hoạt động với bất kỳ PDF đã quét nào, bất kể kích thước hay ngôn ngữ.
Trích xuất văn bản từ PDF đã quét bằng Aspose.PDF OCR SDK
PDF được quét chỉ chứa hình ảnh, vì vậy các API trích xuất văn bản thông thường không trả về gì. OCR (Optical Character Recognition) chuyển những hình ảnh đó thành các ký tự có thể đọc được bởi máy, cho phép lập chỉ mục, khai thác dữ liệu và xử lý downstream. Tự động hoá OCR trong C# loại bỏ các bước sao chép‑dán thủ công, cải thiện độ chính xác và mở rộng quy mô cho các lô tài liệu lớn.
Aspose.PDF cung cấp không gian tên Aspose.Pdf.Ocr, bao gồm OcrTextRecognitionOptions, OcrTextAbsorber và các enum ngôn ngữ. Thư viện được phân phối qua NuGet. Cài đặt nó bằng lệnh sau:
Install-Package Aspose.PDF
Để biết thêm thông tin, hãy truy cập trang sản phẩm Aspose.PDF.
Trích xuất văn bản từ PDF đã quét bằng Aspose.PDF OCR trong C#
- Tải PDF đã quét vào một
Aspose.Pdf.Document. - Cấu hình các tùy chọn OCR (ngôn ngữ, độ phân giải, dấu phân trang).
- Áp dụng một
OcrTextAbsorbercho bộ sưu tập trang của tài liệu. - Lấy văn bản đã nhận dạng và lưu lại.
Ví dụ minh họa cách tải một PDF đã quét, cấu hình OCR, trích xuất văn bản và ghi kết quả vào tệp bằng C#.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RecognizeTextWithOcr()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Configure OCR recognition options
var options = new Aspose.Pdf.Ocr.OcrTextRecognitionOptions
{
Language = Aspose.Pdf.Ocr.OcrLanguage.English,
Resolution = 300,
PageSeparator = "\n\n"
};
// Recognize text from all pages
var absorber = new Aspose.Pdf.Ocr.OcrTextAbsorber(options);
document.Pages.Accept(absorber);
// Save recognized text
System.IO.File.WriteAllText(dataDir + "recognized-text.txt", absorber.Text);
}
}
Aspose.PDF Các tính năng quan trọng cho nhiệm vụ này
- Công cụ OCR tích hợp – Không có phụ thuộc bên ngoài; công cụ OCR nằm trong không gian tên
Aspose.Pdf.Ocr. - Lựa chọn ngôn ngữ – enum
OcrLanguagecho phép bạn chỉ định từ điển để nhận dạng tốt hơn. - Kiểm soát độ phân giải – DPI cao hơn cải thiện độ chính xác của ký tự, đặc biệt với các bản quét mờ.
- PageSeparator – Chuỗi có thể tùy chỉnh để tách các trang trong văn bản đầu ra.
- Bộ sưu tập trang an toàn đa luồng – Cho phép xử lý song song các tệp PDF lớn.
Những khả năng này cho phép một giải pháp thư viện duy nhất, mạnh mẽ để trích xuất văn bản từ bất kỳ tệp PDF đã quét nào.
Cài đặt và Thiết lập trong C#
- Mở solution .NET của bạn trong Visual Studio.
- Mở Package Manager Console và chạy
Install-Package Aspose.PDF. - Thêm
using Aspose.Pdf;vàusing Aspose.Pdf.Ocr;vào đầu tệp lớp của bạn. - Đảm bảo bạn có giấy phép tạm thời hoặc đầy đủ; nếu không, đầu ra có thể chứa watermark.
Để biết chi tiết về giấy phép, xem trang giấy phép tạm thời.
Triển khai từng bước trong C#
Phần này trả lời câu hỏi gì? Các bước mã chính xác để trích xuất văn bản là gì?
- Khởi tạo tài liệu
var pdfPath = "path/to/scanned.pdf";
var document = new Document(pdfPath);
- Tạo tùy chọn OCR
var ocrOptions = new OcrTextRecognitionOptions
{
Language = OcrLanguage.English,
Resolution = 300,
PageSeparator = "\n--- Page Break ---\n"
};
- Chạy absorber
var absorber = new OcrTextAbsorber(ocrOptions);
document.Pages.Accept(absorber);
- Truy cập văn bản đã trích xuất
string extractedText = absorber.Text;
- Lưu hoặc xử lý văn bản
System.IO.File.WriteAllText("output.txt", extractedText);
Mã thực hiện cùng luồng như ví dụ toàn diện ở trên nhưng chia logic thành các bước dễ hiểu.
Nhận giấy phép miễn phí
Đánh giá Aspose.PDF mà không tốn phí bằng cách yêu cầu giấy phép tạm thời tại đây: https://purchase.aspose.com/temporary-license/
Các tài nguyên bổ sung miễn phí
Kết luận
Hướng dẫn này đã đưa bạn qua quá trình trích xuất văn bản từ các tệp PDF được quét bằng Aspose.PDF OCR trong C#. Bạn đã học cách cài đặt thư viện, cấu hình các tùy chọn OCR để đạt độ chính xác, triển khai một quy trình trích xuất sạch sẽ và áp dụng các tối ưu hóa hiệu năng cho tài liệu lớn. Với những kỹ thuật này, bất kỳ nhà phát triển .NET nào cũng có thể chuyển các PDF chỉ chứa hình ảnh thành các luồng văn bản có thể tìm kiếm và chỉnh sửa.
Câu hỏi thường gặp
Làm thế nào để tôi trích xuất văn bản từ PDF đã quét trong C# bằng Aspose.PDF?
Tạo mộtDocument, cấu hìnhOcrTextRecognitionOptions, chạy mộtOcrTextAbsorbertrên các trang và đọc thuộc tínhText.Aspose.PDF hỗ trợ những ngôn ngữ OCR nào?
Thư viện hỗ trợ nhiều ngôn ngữ thông qua enumOcrLanguage, bao gồm tiếng Anh, tiếng Pháp, tiếng Đức, tiếng Tây Ban Nha, tiếng Trung và nhiều ngôn ngữ khác.Làm thế nào để cải thiện độ chính xác OCR cho các bản quét có độ phân giải thấp?
TăngResolution(ví dụ, 300 DPI), chọn ngôn ngữ phù hợp và cân nhắc tiền xử lý hình ảnh để tăng độ tương phản.Có an toàn khi xử lý các PDF lớn song song không?
Có, bằng cách chia tài liệu thành các khoảng trang và xử lý mỗi khoảng trên một luồng riêng, đồng thời giám sát việc sử dụng bộ nhớ.Cần giấy phép nào cho các tính năng OCR?
OCR hoàn toàn khả dụng với giấy phép Aspose.PDF for .NET hợp lệ; có thể lấy giấy phép tạm thời để đánh giá.Tôi có thể tìm tài liệu chi tiết về cài đặt OCR ở đâu?
Hướng dẫn cấu hình OCR chi tiết có sẵn trong tài liệu cài đặt OCR của Aspose.PDF tại https://docs.aspose.com/pdf/net/.
