在 .NET 中将 PowerPoint 幻灯片转换为 PNG
概述
本文解释了如何使用 C# 将 PowerPoint 演示文稿转换为 PNG 格式。内容包括以下主题。
- 将 PowerPoint 转换为 PNG (C#)
- 将 PPT 转换为 PNG (C#)
- 将 PPTX 转换为 PNG (C#)
- 将 ODP 转换为 PNG (C#)
- 将 PowerPoint 幻灯片转换为图像 (C#)
在 .NET 中将 PowerPoint 转换为 PNG
有关将 PowerPoint 转换为 PNG 的 C# 示例代码,请参见下面的章节,即 将 PowerPoint 转换为 PNG。代码可以在 Presentation 对象中加载 PPT、PPTX、ODP 等多种格式,然后将幻灯片缩略图保存为 PNG 格式。其他类似的 PowerPoint 转图像转换(如 JPG、BMP、TIFF、SVG)在以下文章中讨论。
关于 PowerPoint 转 PNG 转换
PNG(Portable Network Graphics)格式的流行度不及 JPEG(Joint Photographic Experts Group),但仍然非常常用。
使用场景: 当您需要处理复杂图像且对文件大小没有限制时,PNG 比 JPEG 更合适。
将 PowerPoint 转换为 PNG
按以下步骤操作:
- 实例化 Presentation 类。
- 从 Presentation.Slides 集合中获取 ISlide 接口对应的幻灯片对象。
- 使用 ISlide.GetImage 方法获取每张幻灯片的缩略图。
- 使用 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 文件,可以设置 desiredX 和 desiredY 的值,以决定生成的缩略图尺寸。
以下 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 传入期望的 width 和 height 参数。
以下代码展示了在指定图像大小的情况下将 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);
}
}
}
常见问题
如何仅导出特定形状(例如图表或图片),而不是整张幻灯片?
Aspose.Slides 支持 为单个形状生成缩略图,您可以将形状渲染为 PNG 图像。
服务器上是否支持并行转换?
可以,但请 不要在多个线程之间共享 同一个 Presentation 实例。每个线程或进程应使用独立的实例。
导出为 PNG 时试用版有哪些限制?
评估模式会在输出图像上添加水印,并在授权前执行 其他限制。