Aujourd’hui, nous sommes sur le point d’apprendre quelques façons de supprimer par programme ou de nettoyer entièrement les métadonnées des documents ainsi que des images à l’aide de C#. Dans un article précédent, nous avons discuté de la suppression des propriétés sélectives ainsi que de toutes les propriétés de métadonnées disponibles des documents et des images à l’aide de Java. Il est parfois important de cacher au destinataire des informations personnelles qui sont jointes au document. Voici les rubriques qui vous aideront à nettoyer vos fichiers des métadonnées à l’aide de C#.

API de suppression des métadonnées .NET

Pour réaliser ce qui est prévu, j’utiliserai l’API GroupDocs.Metadata for .NET qui permet aux développeurs .NET d’ajouter, de modifier, d’extraire, de supprimer ou de compléter les métadonnées de nombreux formats pris en charge de documents, images et autres fichiers. L’API prend en charge les normes de métadonnées telles que EXIF, XMP, IPTC, balise ID3, etc. Vous pouvez télécharger les DLL ou le programme d’installation MSI, ou l’installer via NuGet.

Install-Package GroupDocs.Metadata

Supprimer les métadonnées des documents à l’aide de C

Afin de supprimer toutes les propriétés des métadonnées sans appliquer de filtre spécifique, utilisez la méthode Sanitize. Voici les étapes pour nettoyer les métadonnées des documents tels que DOCX, PDF, XLSX, etc. à l’aide de GroupDocs.Metadata pour .NET.

  • Commencez par créer l’objet de classe Metadata et passez le chemin du document cible en paramètre.
  • Utilisez la méthode Sanitize pour effacer toutes les métadonnées disponibles. Il renvoie le nombre de propriétés de métadonnées supprimées.
  • Appelez la méthode Save pour enregistrer le fichier de sortie avec les métadonnées supprimées.

L’exemple de code C# suivant montre comment supprimer et effacer les métadonnées d’un document PDF.

/*
* Nettoyez toutes les propriétés de métadonnées détectées de Word, Excel, 
* PowerPoint, PDF et autres documents utilisant C#
*/
using (Metadata metadata = new Metadata("filePath/document.pdf"))
{
	var affected = metadata.Sanitize();
	metadata.Save("filePath/output.pdf");
}

Supprimer les métadonnées des images à l’aide de C#

Que vous souhaitiez supprimer des métadonnées de vos documents ou de vos fichiers image, le processus restera le même. Seul le document source sera modifié en conséquence.

  • Créez l’objet de la classe Metadata et passez le chemin du document en paramètre.
  • Appelez la méthode Sanitize pour supprimer toutes les propriétés de métadonnées disponibles.
  • Enregistrez le fichier de sortie à l’aide de la méthode Save.

L’exemple de code C# suivant montre comment supprimer les métadonnées d’une image JPG.

/*
* Nettoyez ou supprimez toutes les propriétés de métadonnées détectées de PNG, JPG/JPEG,
* WebP, BMP, GIF, TIFF et autres images utilisant C#
*/
using (Metadata metadata = new Metadata("filePath/document.jpg"))
{
	var affected = metadata.Sanitize();
	metadata.Save("filePath/output.jpg");
}

Supprimer les métadonnées sélectives des documents et des images à l’aide de C#

S’il n’est pas nécessaire de supprimer toutes les métadonnées disponibles des fichiers, et que nous voulons simplement supprimer uniquement les propriétés de métadonnées sélectives. Les étapes suivantes vous permettent de localiser et de supprimer les propriétés de métadonnées ciblées à l’aide du nom spécifique de la propriété.

  • Créez un objet de la classe Metadata pour charger le document source ou le fichier image.
  • Créez des spécifications personnalisées pour trouver les propriétés des métadonnées.
  • Appelez la méthode RemoveProperties avec les spécifications personnalisées créées.
  • Enregistrez le fichier de sortie à l’aide de la méthode Save.
// Supprimez les propriétés de métadonnées des documents et des images qui satisfont le filtre personnalisé à l'aide de C#
using (Metadata metadata = new Metadata("filePath/document.docx"))
{
	// Supprimez toutes les propriétés qui :
	// contient le nom de l'auteur du document OU
	// il fait référence au dernier éditeur OU 
	// la valeur de la propriété est une chaîne ET égale à la chaîne donnée "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");
}

Conclusion

Nous avons appris comment supprimer les métadonnées des documents et des images à l’aide de C#. Après avoir parcouru cet article, vous vous sentirez à l’aise pour créer votre propre application de nettoyage de métadonnées à l’aide de .NET. Il peut prendre en charge la suppression des métadonnées des formats de documents MS Word, des feuilles de calcul, des présentations, des fichiers PDF, des images, des e-mails, des livres électroniques, des dessins, des fichiers zip et bien d’autres formats de fichiers pris en charge par l’API.

Vous pouvez explorer plus en détail l’API de manipulation des métadonnées .NET à partir de la documentation.

Voir également