在 .NET 中将 PowerPoint 演示文稿转换为 Word 文档

概述

本文为开发人员提供了使用 Aspose.Slides for .NET 和 Aspose.Words for .NET 将 PowerPoint 和 OpenDocument 演示文稿转换为 Word 文档的解决方案。分步指南将带您逐步完成转换过程的各个阶段。

将演示文稿转换为 Word 文档

按照以下说明将 PowerPoint 或 OpenDocument 演示文稿转换为 Word 文档:

  1. 实例化 Presentation 类并加载演示文稿文件。
  2. 实例化 DocumentDocumentBuilder 类以生成 Word 文档。
  3. 使用 DocumentBuilder.PageSetup 属性将 Word 文档的页面大小设置为与演示文稿相同。
  4. 使用 DocumentBuilder.PageSetup 属性设置 Word 文档的页边距。
  5. 使用 Presentation.Slides 属性遍历所有演示文稿幻灯片。
    • 使用来自 ISlide 接口的 GetImage 方法生成幻灯片图像并将其保存到内存流中。
    • 使用 DocumentBuilder 类的 InsertImage 方法将幻灯片图像添加到 Word 文档中。
  6. 将 Word 文档保存到文件。

假设我们有一个名为 “sample.pptx” 的演示稿,如下所示:

PowerPoint 演示文稿

以下 C# 代码示例演示了如何将 PowerPoint 演示文稿转换为 Word 文档:

// 加载演示文稿文件。
using var presentation = new Presentation("sample.pptx");

// 创建 Document 和 DocumentBuilder 对象。
var document = new Document();
var builder = new DocumentBuilder(document);

// 设置 Word 文档的页面大小。
var slideSize = presentation.SlideSize.Size;
builder.PageSetup.PageWidth = slideSize.Width;
builder.PageSetup.PageHeight = slideSize.Height;

// 设置 Word 文档的页边距。
builder.PageSetup.LeftMargin = 0;
builder.PageSetup.RightMargin = 0;
builder.PageSetup.TopMargin = 0;
builder.PageSetup.BottomMargin = 0;

const float scaleX = 2, scaleY = 2;

// 遍历所有演示文稿幻灯片。
foreach (var slide in presentation.Slides)
{
    // 生成幻灯片图像并保存到内存流中。
    using var image = slide.GetImage(scaleX, scaleY);
    using var imageStream = new MemoryStream();
    image.Save(imageStream, ImageFormat.Png);

    // 将幻灯片图像添加到 Word 文档中。
    imageStream.Seek(0, SeekOrigin.Begin);
    builder.InsertImage(imageStream.ToArray(), builder.PageSetup.PageWidth, builder.PageSetup.PageHeight);

    builder.InsertBreak(BreakType.PageBreak);
}

// 将 Word 文档保存到文件。
document.Save("output.docx");

结果:

Word 文档

常见问题

需要安装哪些组件才能将 PowerPoint 和 OpenDocument 演示文稿转换为 Word 文档?

只需在 C# 项目中添加对应的 NuGet 包 Aspose.Slides for .NETAspose.Words for .NET。这两个库均作为独立的 API 工作,无需安装 Microsoft Office。

是否支持所有 PowerPoint 和 OpenDocument 演示文稿格式?

Aspose.Slides for .NET 支持所有演示文稿格式,包括 PPT、PPTX、ODP 及其他常见文件类型。这确保您可以处理使用不同版本 Microsoft PowerPoint 创建的演示文稿。