Có thể có nhiều lý do để thay thế một từ hoặc cụm từ trong tài liệu. Cho dù bạn muốn xóa nội dung nhạy cảm trước khi chia sẻ công khai tài liệu hay bạn muốn ẩn/xóa tất cả thông tin cá nhân như ID email hoặc Số an sinh xã hội, bạn cần phải sắp xếp lại nội dung tài liệu. Bài viết này hướng dẫn bạn cách sắp xếp lại các tài liệu Word theo chương trình trong các ứng dụng .NET của bạn bằng C#. Chúng tôi sẽ thảo luận riêng về cách sắp xếp lại bằng cách ẩn văn bản cũng như cách tìm và thay thế văn bản, từ hoặc cụm từ bằng các kỹ thuật khác nhau.

Các chủ đề sau đây sẽ được đề cập dưới đây:

.NET Redaction API để thay thế văn bản

GroupDocs.Redaction dành cho .NET là API chỉnh sửa tài liệu cho phép tìm và sau đó thay thế dữ liệu dự kiến từ các tài liệu có định dạng tệp khác nhau. Cùng với việc biên tập văn bản và rasterization, API cung cấp các tính năng biên tập siêu dữ liệu, chú thích, bảng tính và hình ảnh. Định dạng tệp được hỗ trợ của tài liệu Word, bảng tính, bản trình bày, hình ảnh và tài liệu PDF có sẵn tại tài liệu.

Bạn có thể tải xuống trình cài đặt DLL hoặc MSI từ phần tải xuống hoặc cài đặt API trong ứng dụng .NET của bạn qua [NuGet](https://www.nuget.org /packages/groupdocs.redaction).

PM> Install-Package GroupDocs.Redaction

Không cần cài đặt MS Office hoặc bất kỳ phần mềm bên thứ ba nào khác trong quá trình này. Bây giờ chúng ta hãy bắt đầu và xem xét các cách tiếp cận khác nhau để xử lý việc tìm và thay thế văn bản trong tài liệu. Sau đây là ảnh chụp màn hình của tài liệu Word được sử dụng trong các ví dụ minh họa. Các phương pháp tương tự sẽ hoạt động đối với các định dạng tài liệu khác mà không có bất kỳ thay đổi nào trong mã.

Tìm và thay thế các từ hoặc cụm từ trong tài liệu Word bằng C#

Bước sau đây giải thích cách tìm bất kỳ từ/cụm từ nào trong tài liệu Word, rồi thay thế tất cả các lần xuất hiện bằng một số văn bản khác trong ứng dụng C#.

  • Tải tài liệu Word (DOC/DOCX) bằng lớp Redactor.
  • Tìm cụm từ hoặc từ chính xác bằng cách sử dụng lớp ExactPhraseRedaction với [ReplacementOptions](https://apireference.groupdocs.com /redaction/net/groupdocs.redaction.redactions/replacementoptions).
  • Sử dụng phương pháp Áp dụng của Redactor để áp dụng chỉnh sửa.
  • Lưu các thay đổi bằng phương pháp Save.

Đoạn mã sau tìm và thay thế từ trong C#. Chính xác hơn, nó thay thế tất cả các lần xuất hiện của “John Doe” bằng “[đã kiểm duyệt]”.

// Tìm cụm từ chính xác và thay thế nó bằng một số văn bản khác bằng C#
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
  redactor.Save();
}

Đầu ra của mã như sau.

Tìm kiếm và thay thế phân biệt chữ hoa chữ thường trong tệp Word bằng C#

Tương tự, bạn có thể thực hiện chỉnh sửa phân biệt chữ hoa chữ thường đối với tài liệu Word bằng cách tìm từ chính xác và thay thế từ đó bằng bất kỳ từ nào khác. Đoạn mã sau thay thế sự tồn tại của từ “John Doe” trong tệp DOCX bằng C#, nhưng lần này, tìm kiếm sẽ phân biệt chữ hoa chữ thường.

// Tìm cụm từ chính xác (phân biệt chữ hoa chữ thường) và thay thế nó bằng một số văn bản khác bằng C#
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
  redactor.Save();
}

Đầu ra của mã như sau.

Thay thế văn bản trong tệp Word bằng Biểu thức chính quy (RegEx) bằng C#

Để tìm và thay thế bất kỳ mẫu văn bản nào trong tệp Word (DOC, DOCX), bạn có thể sử dụng cụm từ thông dụng. Các bước sau đây cho phép bạn sắp xếp lại tài liệu Word bằng RegEx bằng C#.

  • Tải tài liệu Word bằng lớp Redactor.
  • Tìm đối sánh biểu thức chính quy bằng cách sử dụng lớp RegexRedaction với [ReplacementOptions](https://apireference.groupdocs.com/redaction/ net/groupdocs.redaction.redactions/replacementoptions).
  • Sử dụng phương pháp Áp dụng để thay thế tất cả các văn bản đối sánh biểu thức chính quy.
  • Sử dụng phương pháp Save để tải tệp Word đã được chỉnh sửa lại.

Đoạn mã sau cho biết cách tìm một mẫu văn bản trong tệp Word bằng RegEx, sau đó thay thế/ẩn nó bằng một số văn bản khác bằng C#.

// Tìm văn bản bằng biểu thức chính quy và thay thế nó bằng một số văn bản khác bằng C#
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
  redactor.Save();
}

Đầu ra của đoạn mã trên như sau.

Ẩn văn bản bí mật trong tài liệu Word bằng Hộp màu bằng C#

Nếu bạn không muốn thay thế nội dung riêng tư của mình mà chỉ muốn che nội dung đó, API cho phép bạn ẩn nội dung đó bằng cách vẽ một hộp lên trên nội dung đó. Đoạn mã sau đặt hình chữ nhật màu đen trên văn bản dự định thành văn bản bôi đen bằng C#.

// Tìm văn bản và ẩn nó bằng cách vẽ hình chữ nhật lên trên nó bằng C#
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
  redactor.Save();
}

Đầu ra của đoạn mã trên như sau.

Nhận giấy phép API miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng API mà không bị giới hạn đánh giá.

Sự kết luận

Để kết thúc, bạn đã học cách tìm văn bản trong tệp Word (DOC, DOCX) bằng các kỹ thuật khác nhau và thay thế các kết quả tìm được theo những cách khác nhau. Chính xác hơn, chúng ta đã thảo luận cách tìm văn bản, từ hoặc cụm từ ngay cả khi đó là tìm kiếm phân biệt chữ hoa chữ thường hoặc sử dụng biểu thức chính quy trong C#. Sau đó, chúng tôi đã thay thế kết quả tìm kiếm bằng một số văn bản khác hoặc bằng cách đặt hộp hình chữ nhật màu trên văn bản được tìm kiếm.

Để biết thêm về API, hãy truy cập tài liệu. Nếu có thắc mắc, hãy liên hệ với chúng tôi qua diễn đàn.

Xem thêm