Propriétés de Présentation - Accéder ou Modifier les Propriétés de Présentation PowerPoint en C#
Exemple en Direct
Essayez Aspose.Slides Metadata l’application en ligne pour voir comment travailler avec les propriétés de document via l’API Aspose.Slides :
À Propos des Propriétés de Présentation
Comme nous l’avons décrit précédemment, Aspose.Slides pour .NET prend en charge deux types de propriétés de document, qui sont les propriétés Intégrées et Personnalisées. Ainsi, les développeurs peuvent accéder aux deux types de propriétés en utilisant l’API Aspose.Slides pour .NET. Aspose.Slides pour .NET fournit une classe IDocumentProperties qui représente les propriétés de document associées à un fichier de présentation via la propriété Presentation.DocumentProperties. Les développeurs peuvent utiliser la propriété IDocumentProperties exposée par l’objet Presentation pour accéder aux propriétés de document des fichiers de présentation comme décrit ci-dessous :
Gérer les Propriétés de Présentation
Microsoft PowerPoint fournit une fonctionnalité pour ajouter certaines propriétés aux fichiers de présentation. Ces propriétés de document permettent de stocker des informations utiles avec les documents (fichiers de présentation). Il existe deux types de propriétés de document comme suit :
- Propriétés Défines par le Système (Intégrées)
- Propriétés Définies par l’Utilisateur (Personnalisées)
Les propriétés Intégrées contiennent des informations générales sur le document telles que le titre du document, le nom de l’auteur, les statistiques du document, etc. Les propriétés Personnalisées sont celles qui sont définies par les utilisateurs sous forme de paires Nom/Valeur, où le nom et la valeur sont tous deux définis par l’utilisateur. En utilisant Aspose.Slides pour .NET, les développeurs peuvent accéder et modifier les valeurs des propriétés intégrées ainsi que des propriétés personnalisées. Microsoft PowerPoint 2007 permet de gérer les propriétés de document des fichiers de présentation. Tout ce que vous avez à faire est de cliquer sur l’icône Office, puis sur l’item de menu Préparer | Propriétés | Propriétés Avancées de Microsoft PowerPoint 2007. Après avoir sélectionné l’item de menu Propriétés Avancées, une boîte de dialogue apparaîtra vous permettant de gérer les propriétés de document du fichier PowerPoint. Dans la Boîte de Dialogue des Propriétés, vous pouvez voir qu’il y a plusieurs onglets comme Général, Résumé, Statistiques, Contenu et Personnalisé. Tous ces onglets permettent de configurer différents types d’informations liées aux fichiers PowerPoint. L’onglet Personnalisé est utilisé pour gérer les propriétés personnalisées des fichiers PowerPoint.
Accéder aux Propriétés Intégrées
Ces propriétés, exposées par l’objet IDocumentProperties, incluent : Creator(Author), Description, Keywords Created (Date de Création), Modified Date de Modification, Printed Date du Dernier Impression, LastModifiedBy, Keywords, SharedDoc (Est partagé entre différents producteurs ?), PresentationFormat, Subject et Title
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir_PresentationProperties(); | |
// Instantiate the Presentation class that represents the presentation | |
Presentation pres = new Presentation(dataDir + "AccessBuiltin Properties.pptx"); | |
// Create a reference to IDocumentProperties object associated with Presentation | |
IDocumentProperties documentProperties = pres.DocumentProperties; | |
// Display the builtin properties | |
System.Console.WriteLine("Category : " + documentProperties.Category); | |
System.Console.WriteLine("Current Status : " + documentProperties.ContentStatus); | |
System.Console.WriteLine("Creation Date : " + documentProperties.CreatedTime); | |
System.Console.WriteLine("Author : " + documentProperties.Author); | |
System.Console.WriteLine("Description : " + documentProperties.Comments); | |
System.Console.WriteLine("KeyWords : " + documentProperties.Keywords); | |
System.Console.WriteLine("Last Modified By : " + documentProperties.LastSavedBy); | |
System.Console.WriteLine("Supervisor : " + documentProperties.Manager); | |
System.Console.WriteLine("Modified Date : " + documentProperties.LastSavedTime); | |
System.Console.WriteLine("Presentation Format : " + documentProperties.PresentationFormat); | |
System.Console.WriteLine("Last Print Date : " + documentProperties.LastPrinted); | |
System.Console.WriteLine("Is Shared between producers : " + documentProperties.SharedDoc); | |
System.Console.WriteLine("Subject : " + documentProperties.Subject); | |
System.Console.WriteLine("Title : " + documentProperties.Title); |
Modifier les Propriétés Intégrées
Modifier les propriétés intégrées des fichiers de présentation est aussi simple que d’y accéder. Vous pouvez simplement attribuer une valeur de chaîne à n’importe quelle propriété souhaitée et la valeur de la propriété serait modifiée. Dans l’exemple ci-dessous, nous avons démontré comment nous pouvons modifier les propriétés de document intégrées du fichier de présentation.
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir_PresentationProperties(); | |
// Instantiate the Presentation class that represents the Presentation | |
Presentation presentation = new Presentation(dataDir + "ModifyBuiltinProperties.pptx"); | |
// Create a reference to IDocumentProperties object associated with Presentation | |
IDocumentProperties documentProperties = presentation.DocumentProperties; | |
// Set the builtin properties | |
documentProperties.Author = "Aspose.Slides for .NET"; | |
documentProperties.Title = "Modifying Presentation Properties"; | |
documentProperties.Subject = "Aspose Subject"; | |
documentProperties.Comments = "Aspose Description"; | |
documentProperties.Manager = "Aspose Manager"; | |
// Save your presentation to a file | |
presentation.Save(dataDir + "DocumentProperties_out.pptx", SaveFormat.Pptx); |
Ajouter des Propriétés de Présentation Personnalisées
Aspose.Slides pour .NET permet également aux développeurs d’ajouter des valeurs personnalisées pour les propriétés de document de présentation. Un exemple est donné ci-dessous qui montre comment définir les propriétés personnalisées pour une présentation.
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir_PresentationProperties(); | |
// Instantiate the Presentation class | |
Presentation presentation = new Presentation(); | |
// Getting Document Properties | |
IDocumentProperties documentProperties = presentation.DocumentProperties; | |
// Adding Custom properties | |
documentProperties["New Custom"] = 12; | |
documentProperties["My Name"] = "Mudassir"; | |
documentProperties["Custom"] = 124; | |
// Getting property name at particular index | |
String getPropertyName = documentProperties.GetCustomPropertyName(2); | |
// Removing selected property | |
documentProperties.RemoveCustomProperty(getPropertyName); | |
// Saving presentation | |
presentation.Save(dataDir + "CustomDocumentProperties_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); |
Accéder et Modifier les Propriétés Personnalisées
Aspose.Slides pour .NET permet également aux développeurs d’accéder aux valeurs des propriétés personnalisées. Un exemple est donné ci-dessous qui montre comment accéder et modifier toutes ces propriétés personnalisées pour une présentation.
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir_PresentationProperties(); | |
// Instanciate the Presentation class that represents the PPTX | |
Presentation presentation = new Presentation(dataDir + "AccessModifyingProperties.pptx"); | |
// Create a reference to DocumentProperties object associated with Prsentation | |
IDocumentProperties documentProperties = presentation.DocumentProperties; | |
// Access and modify custom properties | |
for (int i = 0; i < documentProperties.CountOfCustomProperties; i++) | |
{ | |
// Display names and values of custom properties | |
System.Console.WriteLine("Custom Property Name : " + documentProperties.GetCustomPropertyName(i)); | |
System.Console.WriteLine("Custom Property Value : " + documentProperties[documentProperties.GetCustomPropertyName(i)]); | |
// Modify values of custom properties | |
documentProperties[documentProperties.GetCustomPropertyName(i)] = "New Value " + (i + 1); | |
} | |
// Save your presentation to a file | |
presentation.Save(dataDir + "CustomDemoModified_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); |
Vérifier si la Présentation est Modifiée ou Créée
Aspose.Slides pour .NET fournit une fonctionnalité pour vérifier si une présentation est modifiée ou créée. Un exemple est donné ci-dessous qui montre comment vérifier si la présentation est créée ou modifiée.
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir_PresentationProperties(); | |
IPresentationInfo info = | |
PresentationFactory.Instance.GetPresentationInfo(Path.Combine(RootFolder, "props.pptx")); | |
IDocumentProperties props = info.ReadDocumentProperties(); | |
string app = props.NameOfApplication; | |
string ver = props.AppVersion; |
Définir la Langue par Défaut
Définir la Langue de Vérification
Aspose.Slides fournit la propriété LanguageId (exposée par la classe PortionFormat) pour vous permettre de définir la langue de vérification pour un document PowerPoint. La langue de vérification est la langue pour laquelle l’orthographe et la grammaire dans PowerPoint sont vérifiées.
Ce code C# vous montre comment définir la langue de vérification pour un PowerPoint :
using (Presentation pres = new Presentation(pptxFileName))
{
AutoShape autoShape = (AutoShape)pres.Slides[0].Shapes[0];
IParagraph paragraph = autoShape.TextFrame.Paragraphs[0];
paragraph.Portions.Clear();
Portion newPortion = new Portion();
IFontData font = new FontData("SimSun");
IPortionFormat portionFormat = newPortion.PortionFormat;
portionFormat.ComplexScriptFont = font;
portionFormat.EastAsianFont = font;
portionFormat.LatinFont = font;
portionFormat.LanguageId = "zh-CN"; // définir l'Id d'une langue de vérification
newPortion.Text = "1。";
paragraph.Portions.Add(newPortion);
}
Définir la Langue par Défaut
Ce code C# vous montre comment définir la langue par défaut pour une présentation PowerPoint entière :
LoadOptions loadOptions = new LoadOptions();
loadOptions.DefaultTextLanguage = "en-US";
using (Presentation pres = new Presentation(loadOptions))
{
// Ajoute une nouvelle forme rectangle avec du texte
IAutoShape shp = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 50);
shp.TextFrame.Text = "Nouveau Texte";
// Vérifie la langue de la première portion
Console.WriteLine(shp.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId);
}