PowerPoint 文件包含提供有關演示文稿的附加信息的元數據或文檔屬性。其中包括演示文稿的標題、日期、作者等信息。在本文中,您將了解如何使用 C++ 訪問和修改 PowerPoint 演示文稿中的屬性。
- 用於訪問和修改 PowerPoint 演示文稿屬性的 C++ API
- PowerPoint 演示文稿中的屬性類型
- 訪問 PowerPoint 演示文稿中的內置屬性
- 修改 PowerPoint 演示文稿中的內置屬性
- 在 PowerPoint 演示文稿中添加自定義屬性
- 在 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 演示文稿中的內置屬性的步驟。
- 首先,使用 Presentation 類加載 PowerPoint 文件。
- 使用 Presentation->getDocumentProperties() 方法訪問屬性。
- 使用 IDocumentProperties 對像以及 IDocumentProperties->getCategory()、IDocumentProperties->getAuthor() 等方法讀取各個屬性。
以下示例代碼顯示如何使用 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 演示文稿中的內置屬性的步驟。
- 首先,使用 Presentation 類加載 PowerPoint 文件。
- 使用 Presentation->getDocumentProperties() 方法檢索 IDocumentProperties 對像中的屬性。
- 使用 IDocumentProperties 對象使用 IDocumentProperties->setAuthor(System::String value)、IDocumentProperties->setTitle(System::String value) 等方法修改屬性.
- 最後,使用 Presentation->Save(System::String fname, Export::SaveFormat format) 方法保存演示文稿。
以下示例代碼顯示如何使用 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 演示文稿中添加自定義屬性的步驟。
- 首先,使用 Presentation 類加載 PowerPoint 文件。
- 使用 Presentation->getDocumentProperties() 方法檢索 IDocumentProperties 對像中的屬性。
- 使用 IDocumentProperties->idxset(System::String name, System::SharedPtrSystem::Object值) 方法。
- 最後,使用 Presentation->Save(System::String fname, Export::SaveFormat format) 方法保存演示文稿。
以下示例代碼顯示如何在 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 演示文稿中訪問和修改自定義屬性的步驟。
- 首先,使用 Presentation 類加載 PowerPoint 文件。
- 使用 Presentation->getDocumentProperties() 方法檢索 IDocumentProperties 對像中的屬性。
- 循環遍歷屬性並分別使用 IDocumentProperties->GetCustomPropertyName(int32t index) 和 IDocumentProperties->idxget(System::String name) 方法訪問每個屬性的名稱和值。
- 根據要存儲的值的類型,使用 IDocumentProperties->SetCustomPropertyValue() 方法修改所需的自定義屬性。
- 最後,使用 Presentation->Save(System::String fname, Export::SaveFormat format) 方法保存演示文稿。
以下示例代碼顯示如何使用 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。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。