Свойства презентации - доступ к свойствам PowerPoint презентации или их модификация на C#
Живой пример
Попробуйте Aspose.Slides Metadata онлайн-приложение, чтобы увидеть, как работать с свойствами документа через API Aspose.Slides:
О свойствах презентации
Как мы описали ранее, Aspose.Slides для .NET поддерживает два вида свойств документа: Встроенные и Пользовательские свойства. Таким образом, разработчики могут получить доступ к обоим видам свойств с использованием API Aspose.Slides для .NET. Aspose.Slides для .NET предоставляет класс IDocumentProperties, который представляет свойства документа, связанные с файлом презентации через свойство Presentation.DocumentProperties. Разработчики могут использовать свойство IDocumentProperties, представляющее Объект Презентации, для доступа к свойствам документа файлов презентации, как описано ниже:
Управление свойствами презентации
Microsoft PowerPoint предоставляет возможность добавлять некоторые свойства к файлам презентации. Эти свойства документа позволяют хранить полезную информацию вместе с документами (файлами презентации). Существует два вида свойств документа, как указано ниже
- Свойства, определенные системой (встроенные)
- Свойства, определенные пользователем (пользовательские)
Встроенные свойства содержат общую информацию о документе, такую как название документа, имя автора, статистика документа и так далее. Пользовательские свойства - это свойства, которые определяются пользователями в формате Имя/Значение, где имя и значение задаются пользователем. Используя Aspose.Slides для .NET, разработчики могут получать доступ и модифицировать значения встроенных свойств, а также пользовательских свойств. Microsoft PowerPoint 2007 позволяет управлять свойствами документа файлов презентации. Все, что вам нужно сделать, это нажать на значок Office и перейти к меню Подготовить | Свойства | Расширенные свойства в Microsoft PowerPoint 2007. После выбора пункта меню Расширенные свойства появится диалог, позволяющий вам управлять свойствами документа файла PowerPoint. В Диалоге свойств вы увидите много вкладок, таких как Общие, Резюме, Статистика, Содержимое и Пользовательские. Все эти вкладки позволяют настраивать различные виды информации, относящиеся к файлам PowerPoint. Вкладка Пользовательские используется для управления пользовательскими свойствами файлов PowerPoint.
Доступ к встроенным свойствам
Эти свойства, представленные объектом IDocumentProperties, включают: Создатель (Автор), Описание, Ключевые слова, Создано (Дата создания), Изменено, Дата последнего печатания, Последний изменивший, Ключевые слова, SharedDoc (Общая ли между разными производителями?), Формат презентации, Тема и Название
// 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); |
Изменение встроенных свойств
Изменение встроенных свойств файлов презентации так же легко, как и доступ к ним. Вы можете просто назначить строковое значение любому желаемому свойству, и значение свойства будет изменено. В приведенном ниже примере мы продемонстрировали, как можно изменить встроенные свойства документа файла презентации.
// 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); |
Добавить пользовательские свойства презентации
Aspose.Slides для .NET также позволяет разработчикам добавлять пользовательские значения для свойств документа презентации. Пример приведен ниже, который показывает, как установить пользовательские свойства для презентации.
// 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); |
Доступ и изменение пользовательских свойств
Aspose.Slides для .NET также позволяет разработчикам получать доступ к значениям пользовательских свойств. Пример приведен ниже, который показывает, как вы можете получить доступ и изменить все эти пользовательские свойства для презентации.
// 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); |
Проверьте, изменялась ли презентация или создана
Aspose.Slides для .NET предоставляет возможность проверить, была ли презентация изменена или создана. Пример приведен ниже, который показывает, как проверить, была ли презентация создана или изменена.
// 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; |
Установить язык по умолчанию
Установить язык проверки
Aspose.Slides предоставляет свойство LanguageId (представляемое классом PortionFormat), чтобы вы могли установить язык проверки для документа PowerPoint. Язык проверки - это язык, для которого проверяются орфография и грамматика в PowerPoint.
Этот код C# показывает, как установить язык проверки для 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"; // установите идентификатор языка проверки
newPortion.Text = "1。";
paragraph.Portions.Add(newPortion);
}
Установить язык по умолчанию
Этот код C# показывает, как установить язык по умолчанию для всей презентации PowerPoint:
LoadOptions loadOptions = new LoadOptions();
loadOptions.DefaultTextLanguage = "en-US";
using (Presentation pres = new Presentation(loadOptions))
{
// Добавляет новую прямоугольную фигуру с текстом
IAutoShape shp = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 50);
shp.TextFrame.Text = "Новый текст";
// Проверяет язык первой части
Console.WriteLine(shp.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId);
}