将 PowerPoint 转换为 JPG 的 C#

概述

本文解释了如何使用 C# 将 PowerPoint 演示文稿转换为 JPG 格式。它涵盖以下主题:

C# PowerPoint 转 JPG

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

关于 PowerPoint 转 JPG 转换

使用 Aspose.Slides .NET API 您可以将 PowerPoint PPT 或 PPTX 演示文稿转换为 JPG 图像。还可以将 PPT/PPTX 转换为 BMP、PNG 或 SVG。 借助此功能,您可以轻松实现自己的演示文稿查看器,创建每个幻灯片的缩略图。如果您希望保护演示幻灯片不被版权保护,或以只读模式演示演示文稿,这可能很有用。 Aspose.Slides 允许将整个演示文稿或特定幻灯片转换为图像格式。

todo:image_alt_text

将 PowerPoint PPT/PPTX 转换为 JPG

以下是将 PPT/PPTX 转换为 JPG 的步骤:

  1. 创建 Presentation 类的实例。
  2. Presentation.Slides 集合中获取 ISlide 类型的幻灯片对象。
  3. 创建每个幻灯片的缩略图,然后将其转换为 JPG。ISlide.GetImage(float scaleX, float scaleY) 方法用于获取幻灯片的缩略图,它返回一个 Bitmap 对象作为结果。GetImage 方法必须从所需的 ISlide 类型的幻灯片中调用,结果缩略图的比例传递到该方法中。
  4. 获取幻灯片缩略图后,从缩略图对象中调用 Image.Save(string filename, ImageFormat format) 方法。将结果文件名和图像格式传递给该方法。
const int imageScale = 1;

using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt"))
{
    foreach (ISlide slide in pres.Slides)
    {
        // 创建全尺度图像
        using (IImage thumbnail = slide.GetImage(imageScale, imageScale))
        {
            // 将图像以 JPEG 格式保存到磁盘
			string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber);
            thumbnail.Save(imageFileName, ImageFormat.Jpeg);
        }
    }
}

使用自定义尺寸将 PowerPoint PPT/PPTX 转换为 JPG

要更改生成的缩略图和 JPG 图像的尺寸,可以通过将 ScaleXScaleY 值传递到 ISlide.GetImage(float scaleX, float scaleY) 方法中来设置它们:

using (Presentation pres = new Presentation("PowerPoint-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 slide in pres.Slides)
    {
        // 创建全尺度图像
        using (IImage thumbnail = slide.GetImage(scaleX, scaleY))
        {
            // 将图像以 JPEG 格式保存到磁盘
			string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber);
            thumbnail.Save(imageFileName, ImageFormat.Jpeg);
        }
    }
}

在将演示文稿保存为图像时呈现注释

Aspose.Slides for .NET 提供了一种功能,让您在将演示文稿的幻灯片转换为图像时渲染注释。以下 C# 代码演示了该操作:

using (Presentation presentation = new Presentation("test.pptx"))
{
    IRenderingOptions options = new RenderingOptions
    {
        SlidesLayoutOptions = new NotesCommentsLayoutingOptions
        {
            NotesPosition = NotesPositions.BottomTruncated,
            CommentsAreaColor = Color.Red,
            CommentsAreaWidth = 200,
            CommentsPosition = CommentsPositions.Right
        }
    };

    using (IImage image = presentation.Slides[0].GetImage(options))
    {
        image.Save("OutPresBitmap.png", ImageFormat.Png);
    }

    System.Diagnostics.Process.Start("OutPresBitmap.png");
}

另请参见

查看其他将 PPT/PPTX 转换为图像的选项,例如: