使用 C++ 訪問或修改 PowerPoint 文件的屬性

PowerPoint 文件包含提供有關演示文稿的附加信息的元數據或文檔屬性。其中包括演示文稿的標題、日期、作者等信息。在本文中,您將了解如何使用 C++ 訪問和修改 PowerPoint 演示文稿中的屬性。

用於訪問和修改 PowerPoint 演示文稿屬性的 C++ API

Aspose.Slides for C++ 是一個用於處理 PowerPoint 文件的 C++ API。它使您能夠創建、閱讀和更新 PowerPoint 文件,而無需額外的軟件。此外,API 允許您訪問和修改 PowerPoint 演示文稿的屬性。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。

PM> Install-Package Aspose.Slides.Cpp

PowerPoint 演示文稿中的屬性類型

PowerPoint 演示文稿中有兩種類型的屬性:內置屬性和自定義屬性。內置屬性存儲有關演示文稿的一般信息,如標題、日期等。另一方面,自定義屬性將自定義信息存儲在鍵/值對中。以下部分介紹如何添加、訪問和修改 PowerPoint 演示文稿的內置和自定義屬性。

使用 C++ 訪問 PowerPoint 演示文稿中的內置屬性

以下是訪問 PowerPoint 演示文稿中的內置屬性的步驟。

以下示例代碼顯示如何使用 C++ 訪問 PowerPoint 演示文稿中的內置屬性。

// 文件路徑
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());

使用 C++ 修改 PowerPoint 演示文稿中的內置屬性

以下是修改 PowerPoint 演示文稿中的內置屬性的步驟。

以下示例代碼顯示如何使用 C++ 修改內置 PowerPoint 屬性。

// 文件路徑
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);

使用 C++ 在 PowerPoint 演示文稿中添加自定義屬性

以下是在 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 演示文稿中訪問和修改自定義屬性的步驟。

以下示例代碼顯示如何使用 C++ 訪問和修改 PowerPoint 演示文稿中的自定義屬性。

// 文件路徑
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\AccessAndModifyCustomProperties_out.pptx";

// 加載演示文稿文件
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// 創建對與 Presentation 關聯的 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 演示文稿中的內置屬性。此外,您還了解瞭如何使用 Aspose.Slides for C++ API 添加、訪問和修改自定義 PowerPoint 屬性。它是一個強大的 API,具有許多用於自動執行與 PowerPoint 相關的任務的附加功能。您可以通過訪問 官方文檔 來詳細探索 API。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。

也可以看看