Table des matières
Vue d’ensemble
La gestion des métadonnées de documents à travers différents formats de fichiers peut être difficile. GroupDocs.Metadata pour .NET simplifie cela en offrant un système d’étiquetage (tags) pour unifier les propriétés de métadonnées courantes (p. ex. Titre, Auteur, Date de création) sous forme de tags. Dans ce guide pratique, nous explorerons comment rechercher, ajouter, copier, mettre à jour et supprimer des métadonnées à l’aide de tags avec GroupDocs.Metadata pour .NET.
GroupDocs.Metadata utilise des tags pour labelliser les propriétés de métadonnées importantes dans un fichier, quel que soit le format du document ou la norme de métadonnées. Chaque tag appartient à une catégorie qui regroupe des tags liés pour faciliter la découverte.
Par exemple :
- Content Tags : Décrire le contenu d’un fichier (p. ex. langue, genre, sujet, note)
- Person Tags : Identifier les personnes ou organisations liées au contenu (p. ex. créateur du document, éditeur, entreprise)
- Time Tags : Représenter les horodatages du cycle de vie du fichier (p. ex. date de création, dernière modification, date d’impression)
- (D’autres catégories incluent Légal, Origine, Outil, etc., chacune regroupant les tags pertinents.)
En utilisant ces tags, vous pouvez rechercher et manipuler les métadonnées de manière unifiée à travers les documents Word, les PDFs, les images, et plus encore.
Par exemple, un tag « Auteur » ou Créateur dans la catégorie Personne correspondra à la propriété auteur d’un document Word ou d’un PDF sans que vous ayez à connaître le nom du champ de métadonnées spécifique au format. Cela rend les tags extrêmement utiles pour organiser les fichiers et automatiser les tâches de gestion des métadonnées.
Cas d’utilisation
Dans cette section, nous présenterons différents cas d’utilisation qui mettent en évidence les applications pratiques.
Trouver les propriétés de métadonnées par tag
Un cas d’utilisation courant consiste à trouver les entrées de métadonnées dans un fichier à l’aide de leur tag. Cela est particulièrement utile pour améliorer la recherche – vous pouvez extraire des informations spécifiques de n’importe quel document sans vous soucier de son format.
Étapes
- Charger le fichier dans un objet
Metadata. - Trouver les propriétés en utilisant
FindProperties()avec un prédicat basé sur les tags. Vous pouvez filtrer par un tag spécifique ou par une catégorie entière. - Parcourir les résultats pour inspecter ou utiliser les métadonnées.
// Load the source document (e.g., a PowerPoint file)
using (Metadata metadata = new Metadata("source.pptx"))
{
// Find properties tagged as "last editor" or "last modified time"
var properties = metadata.FindProperties(p =>
p.Tags.Contains(Tags.Person.Editor) ||
p.Tags.Contains(Tags.Time.Modified));
// List the found properties and their values
foreach (var property in properties)
{
Console.WriteLine($"Property name: {property.Name}, Value: {property.Value}");
}
}
Ajouter des propriétés de métadonnées par tag
Il arrive parfois qu’un fichier ne contienne pas certaines métadonnées (p. ex. aucune « Date de dernière impression » enregistrée). En utilisant GroupDocs.Metadata, vous pouvez ajouter une propriété de métadonnées en spécifiant un tag, et l’API la placera dans le paquet de métadonnées approprié si le format le supporte.
Étapes
- Charger le fichier dans un objet
Metadata. - Appeler
AddProperties()avec un prédicat pour identifier où ajouter, et fournir la nouvelle valeur de propriété. - Vérifier la valeur de retour pour voir combien de propriétés ont été ajoutées.
- Enregistrer le document (si vous souhaitez conserver les modifications).
using (Metadata metadata = new Metadata("source.pdf"))
{
if (metadata.FileFormat != FileFormat.Unknown && !metadata.GetDocumentInfo().IsEncrypted)
{
// Add a "Last Printed" date property if it's missing
int affected = metadata.AddProperties(
p => p.Tags.Contains(Tags.Time.Printed),
new PropertyValue(DateTime.Now));
Console.WriteLine("Properties added: " + affected);
metadata.Save("output.pdf");
}
}
Ici nous utilisons Tags.Time.Printed – le tag pour la date « Imprimée » dans la catégorie Temps. Le prédicat p.Tags.Contains(Tags.Time.Printed) cible la propriété de métadonnées « Printed » connue. Si la propriété est absente, AddProperties l’ajoutera avec la valeur que nous avons fournie (DateTime.Now dans ce cas). La méthode renvoie le nombre de propriétés ajoutées (affectées), que nous affichons. Enfin, nous enregistrons le fichier pour conserver les nouvelles métadonnées.
Copier les propriétés de métadonnées par tag
Il arrive parfois que vous souhaitiez copier uniquement certains types de métadonnées, comme les noms d’auteur ou les dates de création. La méthode CopyTo vous permet d’utiliser un prédicat pour filtrer les propriétés à copier. Voici comment copier uniquement les métadonnées liées aux auteurs ou aux dates de création :
Étapes
- Charger les fichiers source et cible à l’aide de la classe
Metadata. - Utiliser la méthode
CopyTopour transférer les métadonnées du source vers le cible. - Enregistrer le fichier cible pour appliquer les métadonnées copiées.
using (Metadata sourceMetadata = new Metadata("source.xlsx"))
using (Metadata targetMetadata = new Metadata("target.pptx"))
{
// Copy only Author (Creator) and Creation Date metadata properties
sourceMetadata.CopyTo(targetMetadata, p =>
p.Tags.Contains(Tags.Person.Creator) ||
p.Tags.Contains(Tags.Time.Created));
// Save the changes
targetMetadata.Save();
}
Dans cet exemple, seules les métadonnées dont les tags correspondent à Créateur (nom d’auteur) et Date de création seront copiées du fichier Excel (source.xlsx) vers la présentation PowerPoint (target.pptx). Cette copie sélective vous donne un contrôle précis sur vos métadonnées, facilitant ainsi le fait de s’assurer que vos documents ne contiennent que les métadonnées souhaitées.
Mettre à jour les propriétés de métadonnées par tag
Au-delà de l’ajout de nouvelles métadonnées, vous devez souvent mettre à jour les valeurs des métadonnées existantes (par exemple, corriger le nom d’un auteur ou standardiser les dates). GroupDocs.Metadata propose la méthode SetProperties() à cette fin. Elle utilise les tags pour trouver les propriétés cibles et met à jour leurs valeurs. Si une propriété cible est absente, SetProperties peut l’ajouter – combinant ainsi mise à jour et ajout en une seule étape.
Étapes
- Charger le fichier dans un objet
Metadata. - Appeler
SetProperties()avec un filtre basé sur les tags et le nouveauPropertyValue. - Inspecter le nombre de propriétés affectées (mise à jour ou ajout) retourné.
- Enregistrer les modifications dans le fichier si nécessaire.
using (Metadata metadata = new Metadata("source.pdf"))
{
// Update all "Created" or "Modified" date properties to now
int affected = metadata.SetProperties(
p => p.Tags.Contains(Tags.Time.Created) || p.Tags.Contains(Tags.Time.Modified),
new PropertyValue(DateTime.Now));
Console.WriteLine("Properties updated or added: " + affected);
metadata.Save("updated.pdf");
}
Dans le prédicat, Tags.Time.Created et Tags.Time.Modified sont les tags pour la date de création et la date de dernière modification respectivement. Le code trouvera toutes les propriétés de métadonnées marquées avec l’un ou l’autre de ces tags et les définira à DateTime.Now. Si, par exemple, une propriété de date de création n’existait pas dans les métadonnées du fichier, la bibliothèque l’ajoutera (car il s’agit d’une propriété standard connue pour ce format).
Supprimer les métadonnées par tag
Pour des raisons de confidentialité ou de conformité, il peut être nécessaire de supprimer certaines métadonnées (p. ex. noms d’auteur ou informations personnelles) des documents. Les tags facilitent le ciblage et la suppression de ces métadonnées à travers différents formats. La méthode RemoveProperties() accepte un prédicat comme les précédents et supprimera toutes les entrées de métadonnées correspondantes.
Étapes
- Charger le fichier dans un objet
Metadata. - Appeler
RemoveProperties()avec un prédicat basé sur les tags identifiant les propriétés à supprimer. - Examiner le nombre de propriétés supprimées renvoyé par la méthode.
- Enregistrer le fichier pour appliquer les modifications.
using (Metadata metadata = new Metadata("source.docx"))
{
// Remove properties that are tagged as Creator or Editor, or any string containing "John"
int removedCount = metadata.RemoveProperties(p =>
p.Tags.Contains(Tags.Person.Creator) ||
p.Tags.Contains(Tags.Person.Editor) ||
(p.Value.Type == MetadataPropertyType.String && p.Value.ToString().Contains("John"))
);
Console.WriteLine("Properties removed: " + removedCount);
metadata.Save("cleaned.docx");
}
Ce prédicat combine plusieurs critères : toute propriété étiquetée comme Créateur ou Éditeur (tous deux appartenant à la catégorie Personne) sera supprimée, de même que toute métadonnée de type chaîne contenant « John » dans sa valeur sera retirée. Dans un scénario réel, vous pourriez utiliser une telle logique pour nettoyer les documents des données personnelles (comme les noms d’auteur ou de client).
Conclusion
Dans cet article, nous avons montré comment la fonctionnalité d’étiquetage de GroupDocs.Metadata pour .NET vous permet d’ajouter, copier, rechercher, mettre à jour et supprimer des métadonnées de manière unifiée à travers de nombreux types de documents. En exploitant des tags tels que Contenu, Personne, Temps, etc., vous pouvez créer des flux de travail qui organisent les fichiers avec des métadonnées cohérentes, améliorent la recherchabilité (trouver tous les fichiers par auteur ou par date, par exemple) et automatisent la catégorisation ou le nettoyage des documents.
Voir aussi
- Documentation GroupDocs.Metadata pour .NET
- Vue d’ensemble du produit GroupDocs.Metadata pour .NET
- Exemples GitHub GroupDocs.Metadata pour .NET
- Notes de version GroupDocs.Metadata pour .NET
Obtenir un essai gratuit
Vous pouvez télécharger une version d’essai gratuite de GroupDocs.Metadata pour .NET depuis releases.groupdocs.com. Vous pouvez également obtenir une licence temporaire pour essayer toutes les fonctionnalités sans restriction depuis ici.