Сьогодні ми збираємося дізнатися про деякі способи програмного видалення або повного очищення метаданих документів, а також зображень за допомогою C#. У попередній публікації ми обговорювали видалення вибіркових, а також усіх доступних властивостей метаданих з документів і зображень за допомогою Java. Іноді важливо приховати від одержувача особисту інформацію, яка додається до документа. Нижче наведено теми, які допоможуть вам очистити файли від метаданих за допомогою C#.
- .NET Metadata Cleaner API
- Видалення метаданих із документів за допомогою C#
- Очищення метаданих із зображень за допомогою C#
- Видаліть вибіркові метадані з документів і зображень за допомогою C#
.NET Metadata Removing API
Щоб досягти запланованого, я буду використовувати API GroupDocs.Metadata for .NET, який дозволяє розробникам .NET додавати, змінювати, витягувати, видаляти або повністю метадані з багатьох підтримуваних форматів документів, зображення та інші файли. API підтримує такі стандарти метаданих, як EXIF, XMP, IPTC, тег ID3 тощо. Ви можете завантажити DLL-файли або інсталятор MSI або встановити його за допомогою NuGet.
Install-Package GroupDocs.Metadata
Видалення метаданих із документів за допомогою C#
Щоб видалити всі властивості метаданих без застосування будь-якого конкретного фільтра, скористайтеся методом Sanitize. Нижче наведено кроки для очищення метаданих із таких документів, як DOCX, PDF, XLSX тощо, за допомогою GroupDocs.Metadata for .NET.
- Почніть зі створення об’єкта класу Metadata і передайте шлях до цільового документа як параметр.
- Використовуйте метод Sanitize, щоб очистити всі доступні метадані. Він повертає кількість вилучених властивостей метаданих.
- Викличте метод Save, щоб зберегти вихідний файл із видаленими метаданими.
У наведеному нижче прикладі коду C# показано, як видалити та очистити метадані з документа PDF.
/*
* Очистити всі виявлені властивості метаданих із Word, Excel,
* PowerPoint, PDF та інші документи за допомогою C#
*/
using (Metadata metadata = new Metadata("filePath/document.pdf"))
{
var affected = metadata.Sanitize();
metadata.Save("filePath/output.pdf");
}
Видалення метаданих із зображень за допомогою C#
Незалежно від того, чи хочете ви видалити метадані зі своїх документів чи файлів зображень, процес залишиться незмінним. Відповідним чином буде змінено лише вихідний документ.
- Створіть об’єкт класу Metadata і передайте шлях до документа як параметр.
- Викличте метод Sanitize, щоб видалити всі доступні властивості метаданих.
- Збережіть вихідний файл за допомогою методу Save.
У наведеному нижче прикладі коду C# показано, як видалити метадані із зображення JPG.
/*
* Очистіть або видаліть усі виявлені властивості метаданих із PNG, JPG/JPEG,
* WebP, BMP, GIF, TIFF та інші зображення за допомогою C#
*/
using (Metadata metadata = new Metadata("filePath/document.jpg"))
{
var affected = metadata.Sanitize();
metadata.Save("filePath/output.jpg");
}
Видаліть вибіркові метадані з документів і зображень за допомогою C#
Якщо не потрібно видаляти всі доступні метадані з файлів, і ми просто хочемо видалити лише вибіркові властивості метаданих. Наступні кроки дозволяють знайти та видалити цільові властивості метаданих за допомогою конкретного імені властивості.
- Створіть об’єкт класу Metadata, щоб завантажити вихідний документ або файл зображення.
- Створіть персоналізовані специфікації, щоб знайти властивості метаданих.
- Викличте метод RemoveProperties зі створеними персоналізованими специфікаціями.
- Збережіть вихідний файл за допомогою методу Save.
// Видаліть властивості метаданих із документів і зображень, які задовольняють настроюваний фільтр, за допомогою C#
using (Metadata metadata = new Metadata("filePath/document.docx"))
{
// Видаліть усі властивості, які:
// містить ім'я автора документа АБО
// це стосується останнього редактора АБО
// значенням властивості є рядок І дорівнює заданому рядку "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");
}
Висновок
Ми дізналися, як видалити метадані з документів і зображень за допомогою C#. Ознайомившись із цією статтею, вам буде зручно створювати власну програму очищення метаданих за допомогою .NET. Він підтримує видалення метаданих із форматів документів MS Word, електронних таблиць, презентацій, PDF-файлів, зображень, електронних листів, електронних книг, малюнків, zip-файлів і багатьох інших формати файлів, які підтримуються API.
Ви можете додатково вивчити .NET Metadata Manipulation API з документації.