DocumentPropertyCollection

DocumentPropertyCollection class

Classe de base pourBuiltInDocumentProperties etCustomDocumentProperties collections.

Pour en savoir plus, visitez leTravailler avec les propriétés du document article de documentation.

public abstract class DocumentPropertyCollection : IEnumerable<DocumentProperty>

Propriétés

NomLa description
Count { get; }Obtient le nombre d’éléments dans la collection.
Item { get; }Renvoie unDocumentProperty objet par index.
virtual Item { get; }Renvoie unDocumentProperty objet par le nom de la propriété.

Méthodes

NomLa description
Clear()Supprime toutes les propriétés de la collection.
Contains(string)Retoursvrai si une propriété portant le nom spécifié existe dans la collection.
GetEnumerator()Renvoie un objet énumérateur qui peut être utilisé pour parcourir tous les éléments de la collection.
IndexOf(string)Obtient l’index d’une propriété par nom.
Remove(string)Supprime une propriété portant le nom spécifié de la collection.
RemoveAt(int)Supprime une propriété à l’index spécifié.

Remarques

Les noms des propriétés ne sont pas sensibles à la casse.

Les propriétés de la collection sont triées par ordre alphabétique par nom.

Exemples

Montre comment travailler avec les propriétés personnalisées d’un document.

Document doc = new Document();
CustomDocumentProperties properties = doc.CustomDocumentProperties;

Assert.AreEqual(0, properties.Count);

// Les propriétés de document personnalisées sont des paires clé-valeur que nous pouvons ajouter au document.
properties.Add("Authorized", true);
properties.Add("Authorized By", "John Doe");
properties.Add("Authorized Date", DateTime.Today);
properties.Add("Authorized Revision", doc.BuiltInDocumentProperties.RevisionNumber);
properties.Add("Authorized Amount", 123.45);

// La collection trie les propriétés personnalisées par ordre alphabétique.
Assert.AreEqual(1, properties.IndexOf("Authorized Amount"));
Assert.AreEqual(5, properties.Count);

// Imprimez chaque propriété personnalisée dans le document.
using (IEnumerator<DocumentProperty> enumerator = properties.GetEnumerator())
{
    while (enumerator.MoveNext())
        Console.WriteLine($"Name: \"{enumerator.Current.Name}\"\n\tType: \"{enumerator.Current.Type}\"\n\tValue: \"{enumerator.Current.Value}\"");
}

// Affichez la valeur d'une propriété personnalisée à l'aide d'un champ DOCPROPERTY.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty)builder.InsertField(" DOCPROPERTY \"Authorized By\"");
field.Update();

Assert.AreEqual("John Doe", field.Result);

// Nous pouvons trouver ces propriétés personnalisées dans Microsoft Word via "Fichier" -> "Propriétés" -> "Propriétés avancées" -> "Personnalisé".
doc.Save(ArtifactsDir + "DocumentProperties.DocumentPropertyCollection.docx");

// Vous trouverez ci-dessous trois manières de supprimer les propriétés personnalisées d'un document.
// 1 - Supprimer par index :
properties.RemoveAt(1);

Assert.False(properties.Contains("Authorized Amount"));
Assert.AreEqual(4, properties.Count);

// 2 - Supprimer par nom :
properties.Remove("Authorized Revision");

Assert.False(properties.Contains("Authorized Revision"));
Assert.AreEqual(3, properties.Count);

// 3 - Vider toute la collection en une seule fois :
properties.Clear();

Assert.AreEqual(0, properties.Count);

Voir également