Dzisiaj nauczymy się kilku sposobów programowego usuwania lub całkowitego czyszczenia metadanych dokumentów oraz obrazów przy użyciu języka C#. We wcześniejszym poście 2 omówiliśmy usuwanie selektywnych i wszystkich dostępnych właściwości metadanych z dokumentów i obrazów przy użyciu języka Java. Czasami ważne jest, aby ukryć przed odbiorcą dane osobowe, które są dołączone do dokumentu. Poniżej przedstawiono tematy, które pomogą Ci wyczyścić pliki z metadanych przy użyciu języka C#.

Interfejs API usuwania metadanych platformy .NET

Aby osiągnąć to, co zaplanowano, użyję GroupDocs.Metadata for .NET API, które pozwala programistom .NET dodawać, modyfikować, wyodrębniać, usuwać lub całkowicie metadane z wielu obsługiwanych formatów dokumentów, obrazy i inne pliki. Interfejs API obsługuje standardy metadanych, takie jak EXIF, XMP, IPTC, tag ID3 itp. Możesz pobrać pliki DLL lub instalator MSI albo zainstalować go za pomocą NuGet.

Install-Package GroupDocs.Metadata

Usuń metadane z dokumentów za pomocą C#

Aby usunąć wszystkie właściwości metadanych bez stosowania żadnego konkretnego filtra, użyj metody Sanitize. Poniżej przedstawiono kroki czyszczenia metadanych z dokumentów takich jak DOCX, PDF, XLSX itp. przy użyciu GroupDocs.Metadata for .NET.

  • Zacznij od utworzenia obiektu klasy Metadata i podaj jako parametr ścieżkę do dokumentu docelowego.
  • Użyj metody Sanitize, aby wyczyścić wszystkie dostępne metadane. Zwraca liczbę usuniętych właściwości metadanych.
  • Wywołaj metodę Save, aby zapisać plik wyjściowy z usuniętymi metadanymi.

Poniższy przykładowy kod C# pokazuje, jak usunąć i wyczyścić metadane z dokumentu PDF.

/*
* Wyczyść wszystkie wykryte właściwości metadanych z programów Word, Excel, 
* PowerPoint, PDF i inne dokumenty przy użyciu języka C#
*/
using (Metadata metadata = new Metadata("filePath/document.pdf"))
{
	var affected = metadata.Sanitize();
	metadata.Save("filePath/output.pdf");
}

Usuń metadane z obrazów za pomocą C#

Niezależnie od tego, czy chcesz usunąć metadane ze swoich dokumentów, czy z plików graficznych, proces pozostanie taki sam. Tylko dokument źródłowy zostanie odpowiednio zmieniony.

  • Utwórz obiekt klasy Metadata i podaj jako parametr ścieżkę dokumentu.
  • Wywołaj metodę Sanitize, aby usunąć wszystkie dostępne właściwości metadanych.
  • Zapisz plik wyjściowy metodą Save.

Poniższy przykładowy kod C# pokazuje, jak usunąć metadane z obrazu JPG.

/*
* Wyczyść lub usuń wszystkie wykryte właściwości metadanych z plików PNG, JPG/JPEG,
* WebP, BMP, GIF, TIFF i inne obrazy przy użyciu C#
*/
using (Metadata metadata = new Metadata("filePath/document.jpg"))
{
	var affected = metadata.Sanitize();
	metadata.Save("filePath/output.jpg");
}

Usuń selektywne metadane z dokumentów i obrazów za pomocą C#

Jeśli nie jest wymagane usunięcie wszystkich dostępnych metadanych z plików, a chcemy tylko usunąć tylko selektywne właściwości metadanych. Poniższe kroki umożliwiają zlokalizowanie i usunięcie docelowych właściwości metadanych przy użyciu określonej nazwy właściwości.

  • Utwórz obiekt klasy Metadata, aby załadować dokument źródłowy lub plik obrazu.
  • Twórz spersonalizowane specyfikacje, aby znaleźć właściwości metadanych.
  • Wywołaj metodę RemoveProperties z utworzoną spersonalizowaną specyfikacją.
  • Zapisz plik wyjściowy za pomocą metody Save.
// Usuń właściwości metadanych z dokumentów i obrazów, które spełniają dostosowany filtr przy użyciu języka C#
using (Metadata metadata = new Metadata("filePath/document.docx"))
{
	// Usuń wszystkie właściwości, które:
	// zawiera nazwisko autora dokumentu LUB
	// odnosi się do ostatniego redaktora LUB 
	// wartość właściwości jest łańcuchem AND równym podanemu ciągowi "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");
}

Wniosek

Poznaliśmy sposoby usuwania metadanych z dokumentów i obrazów przy użyciu języka C#. Po zapoznaniu się z tym artykułem poczujesz się komfortowo, tworząc własną aplikację do czyszczenia metadanych przy użyciu platformy .NET. Może obsługiwać usuwanie metadanych z formatów dokumentów MS Word, arkuszy kalkulacyjnych, prezentacji, plików PDF, obrazów, wiadomości e-mail, e-booków, rysunków, plików ZIP i wielu innych formatów plików obsługiwanych przez API.

Więcej informacji na temat .NET Metadata Manipulation API można znaleźć w dokumentacji.

Zobacz też