将 PowerPoint 转换为 PNG 以 C#

概述

本文解释了如何使用 C# 将 PowerPoint 演示文稿转换为 PNG 格式。 内容包括以下主题。

C# PowerPoint 转 PNG

有关将 PowerPoint 转换为 PNG 的 C# 示例代码,请参见下面的部分,即 将 PowerPoint 转换为 PNG。 代码可以在 Presentation 对象中加载多种格式,如 PPT、PPTX 和 ODP,然后将其幻灯片缩略图保存为 PNG 格式。 其他类似的 PowerPoint 转图像转换,如 JPG、BMP、TIFF 和 SVG,已在这些文章中讨论。

关于 PowerPoint 转 PNG 转换

PNG(可移植网络图形)格式不如 JPEG(联合图像专家组)流行,但仍然非常流行。

用例: 当您有一个复杂的图像而且大小不是问题时,PNG 是比 JPEG 更好的图像格式。

将 PowerPoint 转换为 PNG

请按照以下步骤操作:

  1. 实例化 Presentation 类。
  2. Presentation.Slides 集合中获取 ISlide 接口的幻灯片对象。
  3. 使用 ISlide.GetImage 方法获取每个幻灯片的缩略图。
  4. 使用 IPresentation.Save(String, SaveFormat, ISaveOptions 方法将幻灯片缩略图保存为 PNG 格式。

这段 C# 代码演示了如何将 PowerPoint 演示文稿转换为 PNG。 Presentation 对象可以加载 PPT、PPTX、ODP 等,然后将演示文稿对象中的每个幻灯片转换为 PNG 格式或其他图像格式。

using (Presentation pres = new Presentation("pres.pptx"))
{
    for (var index = 0; index < pres.Slides.Count; index++)
    {
        ISlide slide = pres.Slides[index];

        using (IImage image = slide.GetImage())
        {
            image.Save($"slide_{index}.png", ImageFormat.Png);
        }
    }
}

以自定义尺寸转换 PowerPoint 为 PNG

如果您想获得特定比例的 PNG 文件,可以设置 desiredXdesiredY 的值,这决定了生成缩略图的尺寸。

这段 C# 代码演示了所述操作:

using (Presentation pres = new Presentation("pres.pptx"))
{
    float scaleX = 2f;
    float scaleY = 2f;
    for (var index = 0; index < pres.Slides.Count; index++)
    {
        ISlide slide = pres.Slides[index];

        using (IImage image = slide.GetImage(scaleX, scaleY))
        {
            image.Save($"slide_{index}.png", ImageFormat.Png);
        }
    }
}

以自定义大小转换 PowerPoint 为 PNG

如果您想获得特定大小的 PNG 文件,可以为 imageSize 传递您首选的 widthheight 参数。

这段代码演示了如何在指定图像大小的情况下将 PowerPoint 转换为 PNG:

using (Presentation pres = new Presentation("pres.pptx"))
{
    Size size = new Size(960, 720);
    for (var index = 0; index < pres.Slides.Count; index++)
    {
        ISlide slide = pres.Slides[index];

        using (IImage image = slide.GetImage(size))
        {
            image.Save($"slide_{index}.png", ImageFormat.Png);
        }
    }
}