Cách Trích Xuất Văn Bản từ PDF trong .NET

Cách Trích Xuất Văn Bản từ PDF trong .NET

Cách Trích Xuất Văn Bản Từ PDF Trong .NET

Hướng dẫn này đề cập đến việc trích xuất văn bản từ các trang PDF bằng cách sử dụng absorber API.


Điều kiện tiên quyết

Yêu cầuChi tiết
Thời gian chạy.NET 8.0 hoặc sau
Góidotnet add package Aspose.Pdf.Foss

Trích xuất toàn bộ văn bản từ một trang

TextAbsorber thu thập tất cả văn bản trên một trang thành một chuỗi duy nhất. Tạo một
đối tượng, truyền nó cho Page.Accept, và đọc kết quả từ thuộc tính Text.
Đây là cách tiếp cận đơn giản nhất khi bạn cần đầu ra văn bản thuần túy mà không có thông tin vị trí.

using var doc = Document.Open(pdfBytes);
var absorber = new TextAbsorber();
doc.Pages[1].Accept(absorber);
Console.WriteLine(absorber.Text);

Trích xuất các đoạn văn bản có cấu trúc

Khi bạn cần siêu dữ liệu vị trí, phông chữ và kích thước cùng với văn bản, hãy sử dụng TextFragmentAbsorber thay thế. Mỗi TextFragment cung cấp các tọa độ giới hạn của nó thông qua thuộc tính Position.

var absorber = new TextFragmentAbsorber();
doc.Pages[1].Accept(absorber);

foreach (var fragment in absorber.TextFragments)
{
    Console.WriteLine($"{fragment.Text} at ({fragment.Position.XIndent}, {fragment.Position.YIndent})");
}

Tìm kiếm bằng biểu thức chính quy

Chuyển một mẫu regex tới TextFragmentAbsorber để tìm văn bản khớp trên
tất cả các trang. Điều này hữu ích cho việc xác định số điện thoại, ngày tháng, hoặc các
mẫu dữ liệu có cấu trúc trong tài liệu.

var absorber = new TextFragmentAbsorber(@"\d{3}-\d{2}-\d{4}");
doc.Pages.Accept(absorber);
foreach (var f in absorber.TextFragments)
    Console.WriteLine(f.Text);

Các lớp chính

ClassMục đích
TextAbsorberTrích xuất toàn bộ văn bản dưới dạng chuỗi
TextFragmentAbsorberTrích xuất văn bản có cấu trúc
TextFragmentVăn bản kèm vị trí và phông chữ
FontRepositoryTra cứu phông chữ

Xem thêm

 Tiếng Việt