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 narzędzia do czyszczenia metadanych platformy .NET
- Usuń metadane z dokumentów za pomocą C#
- Wyczyść metadane z obrazów za pomocą C#
- Usuń selektywne metadane z dokumentów i obrazów za pomocą 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.