Свойства презентации - доступ к свойствам PowerPoint презентации или их модификация на C#

Живой пример

Попробуйте Aspose.Slides Metadata онлайн-приложение, чтобы увидеть, как работать с свойствами документа через API Aspose.Slides:

todo:image_alt_text

О свойствах презентации

Как мы описали ранее, 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);
}