PackageCustomParts

Document.PackageCustomParts property

Obtient ou définit la collection de parties personnalisées (contenu arbitraire) liées au package OOXML à l’aide de « relations inconnues ».

public CustomPartCollection PackageCustomParts { get; set; }

Remarques

Ne confondez pas ces parties personnalisées avec les données XML personnalisées. Si vous devez accéder aux parties XML personnalisées, utilisez leCustomXmlParts propriété.

Cette collection contient des parties OOXML dont le parent est le package OOXML et dont les cibles sont d’une « relation inconnue ». Pour plus d’informations, voirCustomPart.

Aspose.Words charge et enregistre les pièces personnalisées dans des documents OOXML uniquement.

Cette propriété ne peut pas êtrenul.

Exemples

Montre comment accéder à la collection de pièces personnalisées arbitraires d’un document.

Document doc = new Document(MyDir + "Custom parts OOXML package.docx");

Assert.AreEqual(2, doc.PackageCustomParts.Count);

// Clonez la deuxième partie, puis ajoutez le clone à la collection.
CustomPart clonedPart = doc.PackageCustomParts[1].Clone();
doc.PackageCustomParts.Add(clonedPart);
Assert.AreEqual(3, doc.PackageCustomParts.Count);

// Énumère la collection et imprime chaque partie.
using (IEnumerator<CustomPart> enumerator = doc.PackageCustomParts.GetEnumerator())
{
    int index = 0;
    while (enumerator.MoveNext())
    {
        Console.WriteLine($"Part index {index}:");
        Console.WriteLine($"\tName:\t\t\t\t{enumerator.Current.Name}");
        Console.WriteLine($"\tContent type:\t\t{enumerator.Current.ContentType}");
        Console.WriteLine($"\tRelationship type:\t{enumerator.Current.RelationshipType}");
        Console.WriteLine(enumerator.Current.IsExternal ?
            "\tSourced from outside the document" :
            $"\tStored within the document, length: {enumerator.Current.Data.Length} bytes");
        index++;
    }
}

// Nous pouvons supprimer des éléments de cette collection individuellement ou tous en même temps.
doc.PackageCustomParts.RemoveAt(2);

Assert.AreEqual(2, doc.PackageCustomParts.Count);

doc.PackageCustomParts.Clear();

Assert.AreEqual(0, doc.PackageCustomParts.Count);

Voir également