在 C# 中生成 PPTX 縮略圖

縮略圖 通常用於創建較大圖像的小尺寸版本。它們使查看或滾動圖像列表變得更容易。 MS PowerPoint 還為您提供演示文稿中幻燈片的縮略圖。使用幻燈片的縮略圖,您可以輕鬆瀏覽演示文稿並導航到特定幻燈片。在本文中,您將學習如何使用 C# 生成 PowerPoint PPTX 或 PPT 的縮略圖。這在您需要創建自己的基於 Web 或桌面的 PowerPoint 查看器等場景中可能很有用。

.NET API 為 PowerPoint PPTX/PPT 生成縮略圖

為了為 PPTX 或 PPT 演示文稿生成縮略圖,我們將使用 Aspose.Slides for .NET。它是一個功能強大的 API,可讓您創建和操作 PowerPoint 和 OpenOffice 文檔。此外,它還允許您將演示文稿轉換為其他文件格式。您可以 下載 API 或使用 NuGet 安裝它。

PM> Install-Package Aspose.Slides.NET

使用 C# 為 PPTX 或 PPT 生成縮略圖

以下是使用 C# 生成 PPTX 演示文稿縮略圖的步驟。

  1. 首先,創建一個 Presentation 類的實例來加載演示文稿。
  2. 循環遍歷 Presentation.Slides 集合中的每個 ISlide
  3. 使用 ISlide.GetThumbnail(1f, 1f) 方法生成每張幻燈片的縮略圖,並將縮略圖的引用獲取到 Bitmap 對像中。
  4. 最後,使用 Bitmap.Save(String, System.Drawing.Imaging.ImageFormat) 方法將縮略圖保存為您想要的圖像格式。

以下代碼示例顯示如何使用 C# 生成 PPTX 演示文稿的縮略圖。

// 加載 PowerPoint 演示文稿
using (Presentation pres = new Presentation("presentation.pptx"))
{
    foreach (ISlide sld in pres.Slides)
    {
        // 創建全尺寸圖像
        Bitmap bmp = sld.GetThumbnail(1f, 1f);

        // 以 JPEG 格式將圖像保存到磁盤
        bmp.Save(String.Format("slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
    }
}

使用用戶定義的維度生成縮略圖

您還可以根據需要自定義縮略圖的尺寸。這可以使用 Presentation.SlideSize.Size.WidthPresentation.SlideSize.Size.Height 屬性來實現。以下是執行此操作的步驟。

  1. 首先,創建一個 Presentation 類的實例來加載演示文稿。
  2. 然後,設置所需的縮略圖尺寸並使用 WidthHeight 屬性縮放值。
  3. 循環遍歷 Presentation.Slides 集合中的每個 ISlide
  4. 使用 ISlide.GetThumbnail(Single, Single) 方法生成每張幻燈片的縮略圖,並將縮略圖的引用獲取到 Bitmap 對像中。
  5. 最後,使用 Bitmap.Save(String, System.Drawing.Imaging.ImageFormat) 方法將縮略圖保存為您想要的圖像格式。

以下代碼示例顯示瞭如何生成具有自定義尺寸的 PPTX 縮略圖。

// 加載 PowerPoint 演示文稿
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // 用戶定義維度
    int desiredX = 1200;
    int desiredY = 800;

    // 獲取 X 和 Y 的縮放值
    float ScaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX;
    float ScaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY;

    foreach (ISlide sld in pres.Slides)
    {
        // 創建全尺寸圖像
        Bitmap bmp = sld.GetThumbnail(ScaleX, ScaleY);

        // 以 JPEG 格式將圖像保存到磁盤
        bmp.Save(String.Format("slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
    }
}

獲取免費的 API 許可證

通過申請臨時許可,您可以在沒有評估限制的情況下使用 Aspose.Slides for .NET。

結論

在本文中,您學習瞭如何使用 C# 生成 PowerPoint PPTX 或 PPT 的縮略圖。此外,您還了解瞭如何生成具有所需尺寸的縮略圖。此外,您可以訪問 文檔 來探索 API 的其他功能。此外,您可以隨時通過我們的 論壇 讓我們知道您的疑問。

也可以看看