Mẫu được sử dụng rộng rãi để tạo tài liệu tùy chỉnh. Bài viết này hướng dẫn cách tìm và thay thế văn bản và từ trong tài liệu PDF bằng C#. Chúng tôi sẽ thảo luận riêng về cách thay thế các từ và cụm từ theo chương trình, thay thế các từ bằng tìm kiếm phân biệt chữ hoa chữ thường, thay thế bằng các biểu thức thông thường. Cuối cùng, chúng ta cũng sẽ tìm hiểu cách ẩn chuỗi đã tìm kiếm bằng C#.

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

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

GroupDocs giới thiệu GroupDocs.Redaction dành cho .NET, API để sắp xếp lại, ẩn hoặc xóa nội dung và thậm chí cả siêu dữ liệu của tài liệu, bản trình bày, bảng tính, tệp PDF và hình ảnh trong ứng dụng .NET. Để biết thêm chi tiết về API, hãy truy cập tài liệu của nó.

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 bất kỳ trình chỉnh sửa PDF nào hoặc bất kỳ phần mềm bên thứ ba nào khác để chỉnh sửa. Sau đây là ảnh chụp màn hình của tài liệu PDF được sử dụng trong các ví dụ bên dưới. Cách tiếp cận tương tự sẽ hoạt động đối với các định dạng tài liệu khác mà hầu như không có hoặc rất ít thay đổi trong mã.

Tìm và thay thế từ hoặc cụm từ trong PDF bằng C#

Bạn có thể sử dụng tính năng này để ẩn mọi dữ liệu bí mật và cũng để tạo một tài liệu tùy chỉnh mới từ mẫu. 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 PDF với một số văn bản khác trong ứng dụng C#.

  • Tải tệp PDF bằng lớp Redactor.
  • Tìm cụm từ hoặc từ chính xác bằng cách sử dụng ExactPhraseRedaction và [ReplacementOptions](https://apireference.groupdocs.com/ redaction/net/groupdocs.redaction.redactions/replacementoptions).
  • Áp dụng thao tác biên tập bằng phương pháp Apply().
  • Lưu tài liệu mới cùng với 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ó ẩn tất cả các lần xuất hiện của “John Doe” bằng cách thay thế nó bằng từ “[censored]”.

// 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.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

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

Tìm và thay thế văn bản hoặc cụm từ phân biệt chữ hoa chữ thường trong PDF bằng C#

Bạn có thể thực hiện tìm kiếm & chỉnh sửa phân biệt chữ hoa chữ thường. Đoạn mã sau thay thế sự tồn tại phân biệt chữ hoa chữ thường của từ “John Doe” chứ không phải “john doe” trong C#.

// 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.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

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

Thay thế văn bản trong PDF bằng biểu thức chính quy (RegEx) bằng C#

Bạn cũng có thể thay thế bất kỳ mẫu văn bản cụ thể nào bằng các biểu thức thông thường. Các bước sau đây cho phép bạn sắp xếp lại PDF sau khi tìm kiếm bằng biểu thức chính quy (RegEx) trong ứng dụng .NET của bạn.

  • Tải tài liệu PDF 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).
  • Đưa các thay đổi vào tài liệu bằng phương pháp Apply().
  • Lưu tài liệu đã biên tập lại bằng phương pháp Save() thích hợp.

Đoạn mã sau cho biết cách tìm một mẫu văn bản nhất định trong tài liệu PDF bằng RegEx và 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.pdf"))
{
  redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

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

Thay thế văn bản bằng hộp màu trong C#

Nếu bạn chỉ muốn ẩn nội dung đã tìm kiếm (thông tin cá nhân) của tệp PDF của mình, bạn chỉ cần che nó lại. API cho phép bạn ẩn văn bản đã tìm kiếm. Mã C# sau đây đặt hình chữ nhật màu đen trên văn bản riêng tư được đề cập.

// Tìm văn bản trong PDF 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.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

Đầ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, chúng ta đã học cách tìm văn bản nhất định trong tệp PDF bằng các kỹ thuật tìm kiếm khác nhau. Sau đó, chúng tôi đã thảo luận cách sắp xếp lại các tệp PDF bằng cách thay thế hoặc ẩn văn bản trong ứng dụng .NET bằng C#. Chính xác hơn, chúng tôi chỉ đơn giản là tìm kiếm các từ, cụm từ, tìm kiếm có phân biệt chữ hoa chữ thường và bằng cách sử dụng các biểu thức chính quy trong C#. Cuối cùng, 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 ẩn nó bằng một hộp hình chữ nhật trên đó.

Để biết thêm chi tiết 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