在 C# 中合并 PowerPoint 文件

合并 PowerPoint 演示文稿可用于各种场景,例如合并来自多个 PPT/PPTX 的内容、合并由两个或更多人创建的单个演示文稿的部分等。在处理时,手动复制/粘贴内容的方式可能不适合有一些演示文稿。因此,本文让 .NET 开发人员了解如何使用 C# 以编程方式合并 PowerPoint 演示文稿。

.NET PowerPoint 合并 API

Aspose.Slides for .NET 是一个功能丰富的 .NET PowerPoint API,可让您创建和操作演示文稿文档。除此之外,它还允许您使用 C# 或 VB.NET 组合两个或多个 PowerPoint 演示文稿。您可以下载 API 的 DLL 或使用 NuGet 安装它。

使用 C# 合并 PowerPoint 演示文稿

在本节中,您将学习如何将所有幻灯片从一个 PowerPoint 演示文稿克隆和合并到另一个演示文稿中。为此,您可以简单地从源演示文稿中克隆幻灯片并将它们添加到目标演示文稿的末尾。以下是合并两个演示文稿的步骤。

以下代码示例演示如何使用 C# 合并两个 PowerPoint 演示文稿。

// 实例化一个表示目标演示文件的演示对象
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // 实例化一个表示源演示文件的演示对象
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		foreach (ISlide slide in presentation2.Slides)
		{
      // 将幻灯片从源合并到目标 
			presentation1.Slides.AddClone(slide);
		}
	}
  // 保存演示文稿
	presentation1.Save("merged-presentation.pptx", Export.SaveFormat.Pptx);
}

目标介绍

目标简报

源介绍

要合并的源PowerPoint演示文稿

合并演示文稿

合并PowerPoint演示文稿C#

使用 C# 合并 PowerPoint 演示文稿的特定幻灯片

在前面的示例中,您已将源 PPTX 文件中的所有幻灯片合并到目标 PPTX 中。但是,可能存在您只需要合并所选幻灯片的情况。在这种情况下,您可以使用幻灯片的索引指定要合并的幻灯片。以下是执行此操作的步骤。

  • 使用 Presentation 类加载目标演示文稿。
  • 使用 Presentation 类加载源演示文稿。
  • 使用presentation1.Slides.AddClone(presentation2.Slides[int Index]) 方法克隆所需的幻灯片。
  • 将合并的演示文稿另存为新的 PPTX 文件。

以下代码示例展示了如何使用 C# 合并特定的演示文稿幻灯片。

// 实例化一个表示目标演示文件的演示对象
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // 实例化一个表示源演示文件的演示对象
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		// 仅合并演示文稿2的偶数幻灯片(第一张幻灯片位于 0 索引处)
		for (int i = 1; i <= presentation2.Slides.Count; i = i + 2)
		{
			presentation1.Slides.AddClone(presentation2.Slides[i]);
		}
	}
	presentation1.Save("merged-presentation-even.pptx", Export.SaveFormat.Pptx);
}

合并演示文稿

使用 C# 合并的 powerpoint 演示文稿

在合并 PowerPoint 演示文稿时使用幻灯片母版

在前面的两个示例中,您已经合并了保留源演示文稿的设计和模板的幻灯片。但是,在某些情况下,您可能需要根据目标演示文稿修改幻灯片的布局。在这种情况下,您可以使用重载的 [presentation1.Slides.AddClone(presentation2.Slides1, presentation1.Masters[0], true)]12 方法。

以下代码示例演示如何使用 C# 中的幻灯片母版合并 PowerPoint 演示文稿中的幻灯片。

// 实例化表示目标演示文件的 Presentation 对象
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // 实例化表示源演示文件的演示对象
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		// 仅使用幻灯片母版合并前两张幻灯片
		presentation1.Slides.AddClone(presentation2.Slides[0], presentation1.Masters[0], true);
		presentation1.Slides.AddClone(presentation2.Slides[1], presentation1.Masters[0], true);
	}
	presentation1.Save("merged-presentation-master.pptx", Export.SaveFormat.Pptx);
}

合并演示文稿

使用 C# 组合的 powerpoint 演示文稿

结论

在本文中,您学习了如何使用 C# 合并两个或多个 PowerPoint 演示文稿。您可以移植 C# 代码示例,以便使用 VB.NET 合并演示文稿。如果您想进一步了解 Aspose 的 .NET PowerPoint API,可以访问 文档

也可以看看

提示:您可能有兴趣尝试使用 Aspose 的 API 开发的 用于演示的网络查看器应用程序