Hôm nay chúng ta sắp tìm hiểu một số cách để lập trình xóa hoặc xóa hoàn toàn siêu dữ liệu của tài liệu cũng như hình ảnh bằng C#. Trong một bài đăng trước đó, chúng tôi đã thảo luận về việc xóa tính chọn lọc cũng như tất cả các thuộc tính siêu dữ liệu có sẵn khỏi tài liệu và hình ảnh bằng Java. Đôi khi điều quan trọng là phải ẩn thông tin cá nhân khỏi người nhận, được đính kèm với tài liệu. Sau đây là các chủ đề sẽ giúp bạn xóa các tệp của mình khỏi siêu dữ liệu bằng C#.

API xóa siêu dữ liệu .NET

Để đạt được những gì đã lên kế hoạch, tôi sẽ sử dụng GroupDocs.Metadata for .NET API cho phép các nhà phát triển .NET thêm, sửa đổi, trích xuất, xóa hoặc hoàn toàn siêu dữ liệu từ nhiều định dạng được hỗ trợ của tài liệu, hình ảnh, và các tập tin khác. API hỗ trợ các tiêu chuẩn siêu dữ liệu như EXIF, XMP, IPTC, thẻ ID3, v.v. Bạn có thể tải xuống trình cài đặt DLL hoặc MSI hoặc cài đặt nó qua NuGet.

Install-Package GroupDocs.Metadata

Xóa siêu dữ liệu khỏi tài liệu bằng C#

Để xóa tất cả các thuộc tính siêu dữ liệu mà không áp dụng bất kỳ bộ lọc cụ thể nào, hãy sử dụng phương pháp Sanitize. Sau đây là các bước để xóa siêu dữ liệu khỏi các tài liệu như DOCX, PDF, XLSX, v.v. bằng cách sử dụng GroupDocs.Metadata for .NET.

  • Bắt đầu bằng cách tạo đối tượng lớp Siêu dữ liệu và chuyển đường dẫn của tài liệu đích làm tham số.
  • Sử dụng phương pháp Sanitize để xóa tất cả siêu dữ liệu hiện có. Nó trả về số thuộc tính siêu dữ liệu đã bị xóa.
  • Gọi phương thức Save để lưu tệp đầu ra với siêu dữ liệu đã bị xóa.

Mẫu mã C# sau đây cho biết cách xóa và xóa siêu dữ liệu khỏi tài liệu PDF.

/*
* Xóa tất cả các thuộc tính siêu dữ liệu được phát hiện khỏi Word, Excel, 
* PowerPoint, PDF và các tài liệu khác sử dụng C#
*/
using (Metadata metadata = new Metadata("filePath/document.pdf"))
{
	var affected = metadata.Sanitize();
	metadata.Save("filePath/output.pdf");
}

Xóa siêu dữ liệu khỏi hình ảnh bằng C#

Cho dù bạn muốn xóa siêu dữ liệu khỏi tài liệu hay khỏi tệp hình ảnh của mình, quy trình sẽ vẫn như cũ. Chỉ có tài liệu nguồn sẽ được thay đổi cho phù hợp.

  • Tạo đối tượng của lớp Siêu dữ liệu và chuyển đường dẫn tài liệu làm tham số.
  • Gọi phương thức Sanitize để xóa mọi thuộc tính siêu dữ liệu có sẵn.
  • Lưu tập tin đầu ra bằng phương pháp Save.

Mẫu mã C# sau đây cho biết cách xóa siêu dữ liệu khỏi hình ảnh JPG.

/*
* Làm sạch hoặc xóa tất cả các thuộc tính siêu dữ liệu được phát hiện khỏi PNG, JPG/JPEG,
* WebP, BMP, GIF, TIFF và các hình ảnh khác bằng C#
*/
using (Metadata metadata = new Metadata("filePath/document.jpg"))
{
	var affected = metadata.Sanitize();
	metadata.Save("filePath/output.jpg");
}

Xóa siêu dữ liệu chọn lọc khỏi tài liệu và hình ảnh bằng C#

Nếu không bắt buộc phải xóa tất cả siêu dữ liệu có sẵn khỏi tệp và chúng tôi chỉ muốn xóa chỉ các thuộc tính siêu dữ liệu có chọn lọc. Các bước sau đây cho phép bạn định vị và xóa thuộc tính siêu dữ liệu được nhắm mục tiêu bằng cách sử dụng tên cụ thể của thuộc tính.

  • Tạo một đối tượng thuộc lớp Siêu dữ liệu để tải tài liệu nguồn hoặc tệp hình ảnh.
  • Tạo thông số kỹ thuật được cá nhân hóa để tìm các thuộc tính siêu dữ liệu.
  • Gọi phương thức RemoveProperties với thông số kỹ thuật được cá nhân hóa đã tạo.
  • Lưu tập tin đầu ra bằng phương pháp Save.
// Xóa thuộc tính siêu dữ liệu khỏi tài liệu và hình ảnh đáp ứng bộ lọc tùy chỉnh bằng C#
using (Metadata metadata = new Metadata("filePath/document.docx"))
{
	// Xóa tất cả các thuộc tính:
	// chứa tên của tác giả tài liệu HOẶC
	// nó đề cập đến trình soạn thảo cuối cùng HOẶC 
	// giá trị thuộc tính là một chuỗi VÀ bằng chuỗi đã cho "GroupDocs"
	var affected = metadata.RemoveProperties(
		p => p.Tags.Contains(Tags.Person.Creator) ||
			 p.Tags.Contains(Tags.Person.Editor) ||
			 p.Value.Type == MetadataPropertyType.String && p.Value.ToString().Contains("GroupDocs"));
	Console.WriteLine("Properties removed: {0}", affected);

	metadata.Save("outputPath/document.docx");
}

Sự kết luận

Chúng tôi đã học cách xóa siêu dữ liệu khỏi tài liệu và hình ảnh bằng C#. Sau khi xem qua bài viết này, bạn sẽ cảm thấy thoải mái khi xây dựng ứng dụng dọn dẹp siêu dữ liệu của riêng mình bằng .NET. Nó có thể hỗ trợ xóa siêu dữ liệu khỏi các định dạng tài liệu MS Word, bảng tính, bản trình bày, tệp PDF, hình ảnh, email, sách điện tử, bản vẽ, tệp zip, v.v. các định dạng tệp được API hỗ trợ.

Bạn có thể khám phá thêm API thao tác siêu dữ liệu .NET từ tài liệu.

Xem thêm