Управление свойствами презентаций PowerPoint в C#
Обзор
Aspose.Slides for .NET поддерживает два типа свойств документа: Встроенные и Пользовательские. Оба типа свойств легко доступны и управляются с помощью API Aspose.Slides for .NET.
Для работы со свойствами документа Aspose.Slides предоставляет интерфейс IDocumentProperties, доступный через свойство Presentation.DocumentProperties. Разработчики могут использовать интерфейс IDocumentProperties объекта Presentation для безболезненного чтения, изменения и управления свойствами презентации, как показано в примерах ниже.
Управление свойствами презентации
Microsoft PowerPoint предоставляет возможность добавлять свойства к файлам презентаций. Эти свойства документа позволяют хранить полезную информацию вместе с файлами. Существует два типа свойств документа:
- Системные (встроенные) свойства
- Пользовательские (настраиваемые) свойства
Встроенные свойства содержат общую информацию о документе, такую как заголовок, имя автора, статистика документа и т.д.
Пользовательские свойства определяются пользователями как пары Имя/Значение, где и имя, и значение задаются пользователем.
С помощью Aspose.Slides for .NET разработчики могут получать доступ и изменять как встроенные, так и пользовательские свойства.
Microsoft PowerPoint позволяет пользователям управлять свойствами документа, щёлкнув по значку Office, затем выбрав File → Info → Properties. После выбора Advanced Properties открывается диалог, где можно управлять всеми свойствами презентации.
В диалоговом окне Properties есть несколько вкладок, таких как General, Summary, Statistics, Contents и Custom. Каждая вкладка предоставляет параметры для настройки определённых видов информации, относящейся к файлу PowerPoint. Вкладка Custom используется для управления пользовательскими свойствами.
Доступ к встроенным свойствам
Эти свойства, объявленные интерфейсом IDocumentProperties, включают: Creator (Автор), Description, Keywords, Created (Дата создания), Modified (Дата изменения), Printed (Дата последней печати), LastModifiedBy, SharedDoc (указание, общедоступен ли документ между разными производителями), PresentationFormat, Subject, Title и многое другое.
// Создайте экземпляр класса Presentation, представляющего файл презентации.
using Presentation presentation = new Presentation("AccessBuiltInProperties.pptx");
// Get a reference to the object of type IDocumentProperties associated with the presentation.
IDocumentProperties documentProperties = presentation.DocumentProperties;
// Display the Built-in properties.
Console.WriteLine("Category : " + documentProperties.Category);
Console.WriteLine("Content status : " + documentProperties.ContentStatus);
Console.WriteLine("Creation date : " + documentProperties.CreatedTime);
Console.WriteLine("Author : " + documentProperties.Author);
Console.WriteLine("Comments : " + documentProperties.Comments);
Console.WriteLine("Key words : " + documentProperties.Keywords);
Console.WriteLine("Last modified by : " + documentProperties.LastSavedBy);
Console.WriteLine("Manager : " + documentProperties.Manager);
Console.WriteLine("Modified date : " + documentProperties.LastSavedTime);
Console.WriteLine("Presentation format : " + documentProperties.PresentationFormat);
Console.WriteLine("Last print date : " + documentProperties.LastPrinted);
Console.WriteLine("Is shared between producers : " + documentProperties.SharedDoc);
Console.WriteLine("Subject : " + documentProperties.Subject);
Console.WriteLine("Title : " + documentProperties.Title);
Изменение встроенных свойств
Изменять встроенные свойства файлов презентаций так же просто, как их получать. Достаточно присвоить строковое значение нужному свойству, и значение свойства будет обновлено. В примере ниже показано, как изменить встроенные свойства документа презентации.
// Создайте экземпляр класса Presentation, представляющего файл презентации.
using Presentation presentation = new Presentation("ModifyBuiltInProperties.pptx");
// Получите ссылку на объект типа IDocumentProperties, связанный с презентацией.
IDocumentProperties documentProperties = presentation.DocumentProperties;
// Установите встроенные свойства.
documentProperties.Author = "Aspose.Slides for .NET";
documentProperties.Title = "Manage PowerPoint Presentation Properties";
documentProperties.Subject = "Modify Built-in Properties";
documentProperties.Comments = "Aspose description";
documentProperties.Manager = "Aspose manager";
// Сохраните презентацию в файл.
presentation.Save("DocumentProperties_output.pptx", SaveFormat.Pptx);
Добавление пользовательских свойств презентации
Пользовательские свойства презентации позволяют разработчикам хранить дополнительную метаинформацию или специфические данные внутри файла презентации. Aspose.Slides упрощает создание и управление этими пользовательскими свойствами программно. Ниже приведены примеры, демонстрирующие, как добавить пользовательские свойства к вашим презентациям.
// Создайте экземпляр класса Presentation.
using Presentation presentation = new Presentation();
// Получите ссылку на объект типа IDocumentProperties, связанный с презентацией.
IDocumentProperties documentProperties = presentation.DocumentProperties;
// Добавьте пользовательские свойства.
documentProperties["Reviewed by"] = "John Smith";
documentProperties["Confidentiality level"] = "Internal";
documentProperties["Document version"] = 2;
// Сохраните презентацию в файл.
presentation.Save("CustomDocumentProperties_output.pptx", SaveFormat.Pptx);
Доступ и изменение пользовательских свойств
Aspose.Slides также позволяет разработчикам получать доступ к существующим пользовательским свойствам и легко изменять их значения. Эта возможность помогает поддерживать точные метаданные и поддерживает динамические обновления на основе ввода пользователя или бизнес‑логики. Примеры ниже показывают, как получить и обновить значения пользовательских свойств в презентации.
// Создайте экземпляр класса Presentation, представляющего файл PPTX.
using Presentation presentation = new Presentation("AccessAndModifyProperties.pptx");
// Get a reference to the object of type IDocumentProperties associated with the presentation.
IDocumentProperties documentProperties = presentation.DocumentProperties;
// Получите доступ к пользовательским свойствам и измените их.
for (int i = 0; i < documentProperties.CountOfCustomProperties; i++)
{
string propertyName = documentProperties.GetCustomPropertyName(i);
object propertyValue = documentProperties[propertyName];
// Выведите имя и значение пользовательского свойства.
Console.WriteLine("Custom property name : " + propertyName);
Console.WriteLine("Custom property value : " + propertyValue);
// Измените значение пользовательского свойства.
documentProperties[propertyName] = "New Value " + (i + 1);
}
// Сохраните презентацию в файл.
presentation.Save("CustomProperties_output.pptx", SaveFormat.Pptx);
Пример в реальном времени
Попробуйте онлайн‑приложение View & Edit PowerPoint Metadata, чтобы увидеть, как работать со свойствами документа с помощью API Aspose.Slides:
*FAQ
Как удалить встроенное свойство из презентации?
Встроенные свойства являются неотъемлемой частью презентации и полностью удалить их нельзя. Однако вы можете изменить их значения или, если это допускается для конкретного свойства, установить их в пустую строку.
Что произойдет, если я добавлю пользовательское свойство, которое уже существует?
Если добавить пользовательское свойство, которое уже существует, его текущее значение будет перезаписано новым. Нет необходимости предварительно удалять или проверять свойство — Aspose.Slides автоматически обновит его значение.
Могу ли я получить доступ к свойствам презентации, не загружая её полностью?
Да, вы можете получить доступ к свойствам презентации без полной загрузки, используя метод GetPresentationInfo класса PresentationFactory. Затем используйте метод ReadDocumentProperties, предоставляемый интерфейсом IPresentationInfo, чтобы эффективно считать свойства, экономя память и повышая производительность.
