CustomPart

CustomPart class

Représente une partie personnalisée (contenu arbitraire), qui n’est pas définie par la norme ISO/IEC 29500.

public class CustomPart

Constructeurs

Nom La description
CustomPart() Default_Constructor

Propriétés

Nom La description
ContentType { get; set; } Spécifie le type de contenu de cette partie personnalisée.
Data { get; set; } Contient les données de cette pièce personnalisée.
IsExternal { get; set; } Faux si cette partie personnalisée est stockée dans le package OOXML.Vrai si cette pièce personnalisée est une cible externe.
Name { get; set; } Obtient ou définit le nom absolu de cette partie dans le package OOXML ou l’URL cible.
RelationshipType { get; set; } Obtient ou définit le type de relation entre la pièce parente et cette pièce personnalisée.

Méthodes

Nom La description
Clone() Fait une copie “assez profonde” de l’objet. Ne duplique pas les octets duData valeur.

Remarques

Cette classe représente une partie OOXML qui est la cible d’une “relation inconnue”. Toutes les relations non définies dans la norme ISO/IEC 29500 sont considérées comme des “relations inconnues”. Les relations inconnues sont autorisées dans un document Office Open XML à condition qu’elles soient conformes aux directives de balisage des relations.

Microsoft Word conserve les parties personnalisées pendant les cycles d’ouverture/d’enregistrement. Quelques informations supplémentaires peuvent être trouvées ici http://blogs.msdn.com/dmahugh/archive/2006/11/25/arbitrary-content-in-an-opc-package.aspx

Aspose.Words effectue également des allers-retours avec des parties personnalisées et permet en outre d’accéder par programme à ces parties via leCustomPart etCustomPartCollection objets.

Ne confondez pas les parties personnalisées avec les données XML personnalisées. UtilisationCustomXmlPart si vous avez besoin de pour accéder aux données XML personnalisées.

Exemples

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

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

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

// Clone la deuxième partie, puis ajoute 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 à la fois.
doc.PackageCustomParts.RemoveAt(2);

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

doc.PackageCustomParts.Clear();

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

Voir également