Доступ или изменение свойств файлов PowerPoint с помощью C++

Файлы PowerPoint содержат метаданные или свойства документа, предоставляющие дополнительную информацию о презентации. К ним относятся такие сведения, как название, дата, автор и т. д. презентации. В этой статье вы узнаете, как получить доступ к свойствам презентаций PowerPoint и изменить их с помощью C++.

C++ API для доступа и изменения свойств презентаций PowerPoint

Aspose.Slides for C++ — это C++ API для работы с файлами PowerPoint. Он позволяет создавать, читать и обновлять файлы PowerPoint без необходимости в дополнительном программном обеспечении. Кроме того, API позволяет вам получать доступ и изменять свойства презентаций PowerPoint. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.

PM> Install-Package Aspose.Slides.Cpp

Типы свойств в презентациях PowerPoint

В презентациях PowerPoint есть два типа свойств: встроенные и настраиваемые. Встроенные свойства хранят общую информацию о презентациях, такую как название, дата и т. д. С другой стороны, настраиваемые свойства хранят пользовательскую информацию в парах ключ/значение. В следующих разделах рассказывается, как добавлять, получать доступ и изменять встроенные и настраиваемые свойства презентаций PowerPoint.

Доступ к встроенным свойствам в презентациях PowerPoint с помощью C++

Ниже приведены шаги для доступа к встроенным свойствам в презентациях PowerPoint.

В следующем примере кода показано, как получить доступ к встроенным свойствам в презентациях PowerPoint с помощью C++.

// Путь к файлу
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";

// Загрузите файл презентации
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Получить ссылку на свойства документа
System::SharedPtr<IDocumentProperties> documentProperties = presentation->get_DocumentProperties();

// Распечатайте значения свойств
System::Console::WriteLine(u"Category : {0}", documentProperties->get_Category());
System::Console::WriteLine(u"Current Status : {0}", documentProperties->get_ContentStatus());
System::Console::WriteLine(u"Creation Date : {0}", documentProperties->get_CreatedTime().ToString());
System::Console::WriteLine(u"Author : {0}", documentProperties->get_Author());
System::Console::WriteLine(u"Description : {0}", documentProperties->get_Comments());
System::Console::WriteLine(u"KeyWords : {0}", documentProperties->get_Keywords());
System::Console::WriteLine(u"Last Modified By : {0}", documentProperties->get_LastSavedBy());
System::Console::WriteLine(u"Supervisor : {0}", documentProperties->get_Manager());
System::Console::WriteLine(u"Modified Date : {0}", documentProperties->get_LastSavedTime().ToString());
System::Console::WriteLine(u"Presentation Format : {0}", documentProperties->get_PresentationFormat());
System::Console::WriteLine(u"Last Print Date : {0}", documentProperties->get_LastPrinted().ToString());
System::Console::WriteLine(u"Is Shared between producers : {0}", documentProperties->get_SharedDoc());
System::Console::WriteLine(u"Subject : {0}", documentProperties->get_Subject());
System::Console::WriteLine(u"Title : {0}", documentProperties->get_Title());

Изменение встроенных свойств в презентациях PowerPoint с помощью C++

Ниже приведены шаги по изменению встроенных свойств в презентациях PowerPoint.

В следующем примере кода показано, как изменить встроенные свойства PowerPoint с помощью C++.

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\ModifyBuiltinProperties_out.pptx";

// Загрузите файл презентации
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Получить ссылку на свойства документа
System::SharedPtr<IDocumentProperties> documentProperties = presentation->get_DocumentProperties();

// Изменить встроенные свойства
documentProperties->set_Author(u"Aspose.Slides for C++");
documentProperties->set_Title(u"Modifying Presentation Properties");
documentProperties->set_Subject(u"Aspose Subject");
documentProperties->set_Comments(u"Aspose Comments");
documentProperties->set_Manager(u"Aspose Manager");

// Сохранить презентацию
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Добавление пользовательских свойств в презентации PowerPoint с помощью C++

Ниже приведены шаги по добавлению настраиваемых свойств в презентации PowerPoint.

В следующем примере кода показано, как добавить настраиваемые свойства в презентации PowerPoint.

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\AddCustomProperties_out.pptx";

// Загрузите файл презентации
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Получить ссылку на свойства документа
auto documentProperties = presentation->get_DocumentProperties();

// Добавление пользовательских свойств
documentProperties->idx_set(u"New Custom", ObjectExt::Box<int32_t>(12));
documentProperties->idx_set(u"My Name", ObjectExt::Box<String>(u"Aspose"));
documentProperties->idx_set(u"Custom", ObjectExt::Box<int32_t>(124));

// Получение имени свойства по определенному индексу
String getPropertyName = documentProperties->GetCustomPropertyName(2);

// Удаление выбранного свойства
documentProperties->RemoveCustomProperty(getPropertyName);

// Сохранить презентацию
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Доступ и изменение пользовательских свойств в презентациях PowerPoint

Ниже приведены шаги для доступа и изменения настраиваемых свойств в презентациях PowerPoint.

В следующем примере кода показано, как получить доступ и изменить настраиваемые свойства в презентациях PowerPoint с помощью C++.

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\AccessAndModifyCustomProperties_out.pptx";

// Загрузите файл презентации
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Создайте ссылку на объект DocumentProperties, связанный с презентацией.
System::SharedPtr<IDocumentProperties> documentProperties = presentation->get_DocumentProperties();

// Доступ к пользовательским свойствам
for (int32_t i = 0; i < documentProperties->get_CountOfCustomProperties(); i++)
{
	// Распечатать имя и значение настраиваемых свойств
	System::Console::WriteLine(u"Custom Property Name : {0}", documentProperties->GetCustomPropertyName(i));
	System::Console::WriteLine(u"Custom Property Value : {0}", documentProperties->idx_get(documentProperties->GetCustomPropertyName(i)));

	// Изменить пользовательское свойство
	documentProperties->SetCustomPropertyValue(documentProperties->GetCustomPropertyName(i), String::Format(u"Title : {0}", i));
}

// Сохранить презентацию
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Получить бесплатную лицензию

Чтобы попробовать API без ограничений на пробную версию, вы можете запросить бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как получить доступ к встроенным свойствам презентаций PowerPoint и изменить их. Кроме того, вы увидели, как добавлять, получать доступ и изменять пользовательские свойства PowerPoint с помощью Aspose.Slides for C++ API. Это надежный API с множеством дополнительных функций для автоматизации задач, связанных с PowerPoint. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на наш бесплатный форум поддержки.

Смотрите также