PowerPoint 演示文稿用於許多場景,例如會議、演示文稿、討論等。可能會有不同的演示文稿由不同的人創建或在不同的會議中使用單獨的演示文稿。您可能需要合併這些演示文稿以用於共享或文檔目的。手動執行此任務非常耗時。有效的方法是以編程方式實現這一點。在本文中,您將學習如何使用 C++ 合併 PowerPoint 演示文稿。
- 用於合併 PowerPoint 演示文稿的 C++ API
- 使用 C++ 合併 PowerPoint 演示文稿
- 使用 C++ 合併特定的 PowerPoint 幻燈片
- 使用幻燈片母版合併 PowerPoint 演示文稿
- 獲得免費許可證
用於合併 PowerPoint 演示文稿的 C++ API
Aspose.Slides for C++ 是一個 C++ 庫,它提供了一系列用於處理 PowerPoint 演示文稿的功能。 API 允許您在不使用 Microsoft PowerPoint 的情況下創建、修改和轉換 PowerPoint 演示文稿。此外,API 提供了合併不同 PowerPoint 文件的能力。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。
PM> Install-Package Aspose.Slides.Cpp
使用 C++ 合併 PowerPoint 演示文稿
使用 Aspose.Slides for C++ 合併兩個演示文稿的過程輕而易舉。為此,您加載兩個演示文稿,循環瀏覽源演示文稿幻燈片,並將它們的克隆添加到目標演示文稿中。以下是合併兩個 PowerPoint 演示文稿的步驟。
- 使用 Presentation 類加載目標 PowerPoint 文件。
- 創建 Presentation 類的另一個實例來表示源 PowerPoint 文件。
- 使用 Presentation->getSlides() 方法從源演示文稿中檢索幻燈片並迭代它們。
- 在循環內,使用 Presentation->getSlides()->AddClone (System::SharedPtr sourceSlide) 方法。
- 最後,使用 Presentation->Save (System::String name, Export::SaveFormat format) 方法保存合併後的演示文稿文件。
以下是使用 C++ 合併 PowerPoint 演示文稿的示例代碼。
// 文檔目錄的路徑。
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation2.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";
// 實例化演示類
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);
for (SharedPtr<ISlide> slide : presentation2->get_Slides())
{
// 將幻燈片從源合併到目標
presentation1->get_Slides()->AddClone(slide);
}
// 保存演示文稿
presentation1->Save(outputFilePath, SaveFormat::Pptx);
下圖顯示了源文件、目標文件和合併的演示文稿文件。
目的地介紹
來源介紹
合併演示
使用 C++ 合併特定的 PowerPoint 幻燈片
在某些情況下,您可能對整個演示文稿不感興趣,而是想添加一部分幻燈片。為此,您在循環瀏覽源演示幻燈片時添加必要的條件。以下是合併所選 PowerPoint 幻燈片的步驟。
- 首先,使用 Presentation 類加載目標 PowerPoint 文件。
- 創建 Presentation 類的另一個實例來表示源 PowerPoint 文件。
- 使用 Presentation->getSlides() 方法從源演示文稿中檢索幻燈片並迭代它們。
- 在循環內,使用 Presentation->getSlides()->AddClone (System::SharedPtr sourceSlide) 方法。
- 最後,使用 Presentation->Save (System::String name, Export::SaveFormat format) 方法保存合併後的演示文稿文件。
以下是使用 C++ 合併所選 PowerPoint 幻燈片的示例代碼。
// 文檔目錄的路徑。
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation2.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";
// 加載演示文稿文件
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);
for (int i = 0; i < presentation2->get_Slides()->get_Count(); i++)
{
// 僅合併偶數張幻燈片
if (i % 2 == 0)
{
presentation1->get_Slides()->AddClone(presentation2->get_Slides()->idx_get(i));
}
}
// 保存演示文稿
presentation1->Save(outputFilePath, SaveFormat::Pptx);
下圖顯示了合併的演示文稿文件。源和目標演示文稿文件與前面示例中使用的相同。
合併演示
使用幻燈片母版合併 PowerPoint 演示文稿
在前兩個示例中,源和目標表示的設計是相同的。下圖顯示了合併具有不同設計的演示文稿的結果。
目的地介紹
來源介紹
合併演示
您可以在合併的演示文稿圖像中看到,第三張幻燈片在合併過程中保留了其原始樣式。如果您希望源幻燈片使用目標演示文稿樣式,請使用以下步驟。
- 使用 Presentation 類加載目標 PowerPoint 文件。
- 創建 Presentation 類的另一個實例來表示源 PowerPoint 文件。
- 使用 Presentation->getSlides()->AddClone (System::SharedPtr sourceSlide, 系統::SharedPtr destMaster, bool allowCloneMissingLayout) 方法。
- 最後,使用 Presentation->Save (System::String name, Export::SaveFormat format) 方法保存合併後的演示文稿文件。
以下是使用幻燈片母版合併 PowerPoint 演示文稿的示例代碼。
// 文檔目錄的路徑。
const String sourceFilePath1 = u"SourceDirectory\\SamplePresentation.pptx";
const String sourceFilePath2 = u"SourceDirectory\\SamplePresentation3.pptx";
const String outputFilePath = u"OutputDirectory\\mergedPresentation.pptx";
// 加載演示文稿文件
SharedPtr<Presentation> presentation1 = MakeObject<Presentation>(sourceFilePath1);
SharedPtr<Presentation> presentation2 = MakeObject<Presentation>(sourceFilePath2);
// 使用幻燈片母版合併第一張幻燈片
presentation1->get_Slides()->AddClone(presentation2->get_Slides()->idx_get(0), presentation1->get_Masters()->idx_get(0), true);
// 保存演示文稿
presentation1->Save(outputFilePath, SaveFormat::Pptx);
下圖顯示了上述示例代碼生成的合併演示文稿。
合併演示
獲得免費許可證
您可以通過申請 免費的臨時許可證 來試用沒有評估限制的 API。
結論
在本文中,您學習瞭如何使用 C++ 合併多個 PowerPoint 演示文稿。您已經了解瞭如何合併完整的演示文稿或選定的幻燈片。此外,您還學習瞭如何使用目標演示文稿的樣式來組合演示文稿。 Aspose.Slides for C++ 提供了許多用於處理 PowerPoint 文件的附加功能。您可以使用 官方文檔 詳細探索 API。如果您有任何疑問,請隨時在論壇 上與我們聯繫。