在 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 的其他功能。此外,您可以随时通过我们的 论坛 让我们知道您的查询。

也可以看看