縮略圖通常是顯示文件內容並使滾動瀏覽更容易的小圖像。 Microsoft PowerPoint 顯示幻燈片的縮略圖,可以輕鬆滾動和打開所需的幻燈片。在某些情況下,您可能想要製作自己的 PowerPoint 查看器應用程序並動態生成幻燈片縮略圖。對於此類情況,本文將教您如何使用 C++ 以編程方式生成 PowerPoint PPTX 或 PPT 演示文稿的縮略圖。
用於為 PowerPoint PPTX/PPT 文件生成縮略圖的 C++ API
為了生成 PowerPoint 文件的縮略圖,我們將使用簡單易用的 Aspose.Slides for C++ API。它是一個強大的 API,提供了許多可幫助您創建、讀取和修改 PowerPoint 文件的功能。 API 還提供生成 PowerPoint 文件縮略圖的能力。首先,您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。
PM> Install-Package Aspose.Slides.Cpp
使用 C++ 為 PowerPoint PPTX/PPT 文件生成縮略圖
以下是使用 C++ 生成 PowerPoint 文件縮略圖的步驟。
- 使用 Presentation 類加載 PowerPoint 文件。
- 循環播放演示文稿的幻燈片。
- 使用 ISlide->GetThumbnail(float scaleX, float scaleY) 方法生成每張幻燈片的縮略圖。
- 使用 Bitmap->Save(const String & filename, const Imaging::ImageFormatPtr & format) 方法保存縮略圖。
以下示例代碼顯示瞭如何使用 C++ 生成 PowerPoint 文件的縮略圖。
// 源文件路徑
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
// 加載演示文稿文件
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// 循環播放幻燈片
for (SharedPtr<ISlide> slide : presentation->get_Slides())
{
// 生成縮略圖
SharedPtr<System::Drawing::Bitmap> bitmap = slide->GetThumbnail(1, 1);
// 保存 JPEG 文件
bitmap->Save(String::Format(u"OutputDirectory\\GenerateThumbnail_out_{0}.jpg", slide->get_SlideNumber()), System::Drawing::Imaging::ImageFormat::get_Jpeg());
}
使用用戶定義的維度生成縮略圖
在生成 PowerPoint 文件的縮略圖時,您還可以根據需要指定縮略圖的尺寸。要在生成縮略圖時指定自定義尺寸,請按照以下步驟操作。
- 使用 Presentation 類加載 PowerPoint 文件。
- 為縮略圖設置所需的尺寸。
- 循環播放演示文稿的幻燈片。
- 使用 ISlide->GetThumbnail(float scaleX, float scaleY) 方法生成每張幻燈片的縮略圖。
- 使用 Bitmap->Save(const String & filename, const Imaging::ImageFormatPtr & format) 方法保存縮略圖。
以下示例代碼顯示瞭如何使用 C++ 生成具有自定義尺寸的縮略圖。
// 源文件路徑
const String sourceFilePath = u"SourceDirectory\\Slides\\SamplePresentation.pptx";
// 加載演示文稿文件
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// 用戶定義維度
int desiredX = 1200;
int desiredY = 800;
// 獲取 X 和 Y 的縮放值
float ScaleX = (float)(1.0 / presentation->get_SlideSize()->get_Size().get_Width()) * desiredX;
float ScaleY = (float)(1.0 / presentation->get_SlideSize()->get_Size().get_Height()) * desiredY;
// 循環播放幻燈片
for (SharedPtr<ISlide> slide : presentation->get_Slides())
{
// 生成縮略圖
SharedPtr<System::Drawing::Bitmap> bitmap = slide->GetThumbnail(ScaleX, ScaleY);
// 保存 JPEG 文件
bitmap->Save(String::Format(u"OutputDirectory\\GenerateThumbnailWithCustomDimensions_out_{0}.jpg", slide->get_SlideNumber()), System::Drawing::Imaging::ImageFormat::get_Jpeg());
}
獲得免費許可證
為了在沒有評估限制的情況下試用 API,您可以申請免費的臨時許可證。
結論
在本文中,您了解瞭如何使用 C++ 為 PowerPoint PPTX/PPT 文件生成縮略圖。此外,您還了解瞭如何生成具有自定義尺寸的縮略圖。要了解有關 Aspose.Slides for C++ API 提供的功能的更多信息,您可以訪問官方文檔。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。