
Tài liệu Microsoft Word là một phần thiết yếu để tạo và chia sẻ nội dung văn bản. Nếu bạn đang phát triển các ứng dụng C# tương tác với các tài liệu này, bạn có thể cần trích xuất văn bản từ chúng. Điều này có thể nhằm các mục đích như phân tích văn bản hoặc trích xuất các phần cụ thể của tài liệu để biên soạn thành một tài liệu mới. Trong bài viết blog này, chúng ta sẽ khám phá các phương pháp để trích xuất văn bản từ tài liệu Word trong C#.
Mục lục
- Thư viện C# cho việc trích xuất văn bản
- Hiểu về việc trích xuất văn bản trong tài liệu Word
- Hướng dẫn từng bước để trích xuất văn bản từ một tài liệu Word
Thư viện C# cho việc trích xuất văn bản
Aspose.Words for .NET là một thư viện mạnh mẽ và thân thiện với người dùng được thiết kế để làm việc với tài liệu Word. Nó cung cấp một bộ tính năng toàn diện, bao gồm trích xuất văn bản, tạo tài liệu, thao tác và chuyển đổi. Với Aspose.Words for .NET, các nhà phát triển có thể quản lý hiệu quả nhiều khía cạnh của tài liệu Word, biến nó thành một công cụ vô giá cho nhu cầu phát triển của bạn.
Để bắt đầu, tải xuống thư viện hoặc cài đặt trực tiếp từ NuGet bằng lệnh sau trong bảng điều khiển quản lý gói:
PM> Install-Package Aspose.Words
Hiểu về việc trích xuất văn bản trong tài liệu Word
Một tài liệu MS Word bao gồm nhiều yếu tố như đoạn văn, bảng và hình ảnh. Do đó, các yêu cầu cho việc trích xuất văn bản có thể khác nhau tùy thuộc vào trường hợp sử dụng cụ thể. Bạn có thể cần trích xuất văn bản giữa các đoạn, đánh dấu, bình luận và nhiều hơn nữa.
Mỗi yếu tố trong một tài liệu Word được đại diện dưới dạng một nút. Do đó, để xử lý hiệu quả một tài liệu, bạn sẽ cần làm việc với những nút này. Hãy cùng khám phá cách trích xuất văn bản từ tài liệu Word trong các tình huống khác nhau.
Hướng dẫn từng bước để trích xuất văn bản từ một tài liệu Word
Trong phần này, chúng ta sẽ triển khai một trình trích xuất văn bản C# cho tài liệu Word. Quy trình trích xuất văn bản sẽ bao gồm các bước sau:
- Xác định các nút cần bao gồm trong quy trình trích xuất.
- Trích xuất nội dung giữa các nút đã chỉ định (bao gồm hoặc không bao gồm các nút bắt đầu và kết thúc).
- Sử dụng các nút đã trích xuất được sao chép để tạo một tài liệu Word mới chứa nội dung đã trích xuất.
Hãy tạo một phương thức có tên ExtractContent sẽ chấp nhận các nút và các tham số khác để thực hiện việc trích xuất văn bản. Phương thức này sẽ phân tích tài liệu và sao chép các nút dựa trên các tham số sau:
- StartNode và EndNode: Đây xác định các điểm bắt đầu và kết thúc cho việc trích xuất nội dung. Chúng có thể là các nút cấp khối (ví dụ: Paragraph, Table) hoặc các nút cấp dòng (ví dụ: Run, FieldStart, BookmarkStart).
- Đối với các trường, hãy truyền đối tượng FieldStart tương ứng.
- Đối với các đánh dấu, hãy sử dụng các nút BookmarkStart và BookmarkEnd.
- Đối với các bình luận, hãy sử dụng các nút CommentRangeStart và CommentRangeEnd.
- IsInclusive: Tham số này xác định liệu các dấu hiệu có được bao gồm trong việc trích xuất hay không. Nếu được đặt là false và các nút giống nhau hoặc liên tiếp được cung cấp, một danh sách rỗng sẽ được trả về.
Dưới đây là triển khai hoàn chỉnh của phương thức ExtractContent để trích xuất nội dung giữa các nút đã chỉ định:
Ngoài ra, một số phương thức trợ giúp là cần thiết cho phương thức ExtractContent để hỗ trợ hoạt động trích xuất văn bản:
Bây giờ chúng ta đã có các phương thức của mình sẵn sàng, chúng ta có thể tiến hành trích xuất văn bản từ một tài liệu Word.
Trích xuất văn bản giữa các đoạn của một tài liệu Word
Để trích xuất nội dung giữa hai đoạn trong một tài liệu DOCX Word, hãy làm theo các bước sau:
- Tải tài liệu Word bằng lớp Document.
- Lấy tham chiếu đến các đoạn bắt đầu và kết thúc bằng phương thức Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean).
- Gọi phương thức ExtractContent(startPara, endPara, True) để trích xuất các nút vào một đối tượng.
- Sử dụng phương thức trợ giúp GenerateDocument(Document, extractedNodes) để tạo một tài liệu với nội dung đã trích xuất.
- Lưu tài liệu mới bằng phương thức Document.Save(string).
Dưới đây là một mẫu mã minh họa cách trích xuất văn bản giữa đoạn thứ 7 và thứ 11 trong một tài liệu Word:
Trích xuất văn bản giữa các loại nút khác nhau
Bạn cũng có thể trích xuất nội dung giữa các loại nút khác nhau. Ví dụ, hãy trích xuất nội dung giữa một đoạn và một bảng và lưu vào một tài liệu Word mới. Các bước như sau:
- Tải tài liệu Word bằng lớp Document.
- Lấy tham chiếu đến các nút bắt đầu và kết thúc bằng phương thức Document.FirstSection.Body.GetChild(NodeType, int, boolean).
- Gọi ExtractContent(startPara, endPara, True) để trích xuất các nút vào một đối tượng.
- Sử dụng phương thức trợ giúp GenerateDocument(Document, extractedNodes) để tạo một tài liệu với nội dung đã trích xuất.
- Lưu tài liệu mới bằng Document.Save(string).
Dưới đây là mẫu mã cho việc trích xuất văn bản giữa một đoạn và một bảng trong C#:
Trích xuất văn bản dựa trên kiểu dáng
Để trích xuất nội dung giữa các đoạn dựa trên kiểu dáng, hãy làm theo các bước sau. Để minh họa, chúng ta sẽ trích xuất nội dung giữa “Heading 1” đầu tiên và “Heading 3” đầu tiên trong tài liệu Word:
- Tải tài liệu Word bằng lớp Document.
- Trích xuất các đoạn vào một đối tượng bằng phương thức trợ giúp ParagraphsByStyleName(Document, “Heading 1”).
- Trích xuất các đoạn vào một đối tượng khác bằng ParagraphsByStyleName(Document, “Heading 3”).
- Gọi ExtractContent(startPara, endPara, True) với các phần tử đầu tiên từ cả hai mảng đoạn.
- Sử dụng phương thức trợ giúp GenerateDocument(Document, extractedNodes) để tạo một tài liệu với nội dung đã trích xuất.
- Lưu tài liệu mới bằng Document.Save(string).
Dưới đây là mẫu mã để trích xuất nội dung giữa các đoạn dựa trên kiểu dáng:
Đọc thêm về việc trích xuất văn bản
Khám phá thêm các tình huống để trích xuất văn bản từ tài liệu Word qua bài viết tài liệu này.
Nhận thư viện trích xuất văn bản Word miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí để trích xuất văn bản mà không có giới hạn đánh giá.
Kết luận
Aspose.Words for .NET là một thư viện đa năng giúp đơn giản hóa quy trình trích xuất văn bản từ tài liệu Word trong C#. Với các tính năng phong phú và API thân thiện với người dùng, bạn có thể làm việc hiệu quả với tài liệu Word và tự động hóa nhiều tình huống trích xuất văn bản khác nhau. Dù bạn đang phát triển các ứng dụng yêu cầu xử lý tài liệu Word hay chỉ đơn giản là trích xuất văn bản, Aspose.Words for .NET là một công cụ thiết yếu cho các nhà phát triển.
Để khám phá thêm các tính năng của Aspose.Words for .NET, hãy xem tài liệu. Nếu bạn có bất kỳ câu hỏi nào, hãy thoải mái liên hệ qua diễn đàn của chúng tôi.
Xem thêm
Mẹo: Bạn có thể muốn xem qua công cụ chuyển đổi Aspose PowerPoint sang Word, điều này minh họa quy trình phổ biến của việc chuyển đổi các bài thuyết trình thành tài liệu Word.