使用 C# 合并 PowerPoint 演示文稿 PPT, PPTX

演示文稿合并

当您 将一个演示文稿合并到另一个演示文稿 时,您实际上是在将它们的幻灯片组合到一个演示文稿中,以获得一个文件。

可以合并的内容

使用 Aspose.Slides,您可以合并

  • 整个演示文稿。所有演示文稿中的幻灯片最终被放入一个演示文稿中
  • 特定的幻灯片。所选幻灯片最终放入一个演示文稿中
  • 同一格式的演示文稿(PPT 到 PPT,PPTX 到 PPTX 等)以及不同格式的演示文稿(PPT 到 PPTX,PPTX 到 ODP 等)。

合并选项

您可以应用选项来确定是否

  • 输出演示文稿中的每个幻灯片保留唯一的样式
  • 输出演示文稿中的所有幻灯片使用特定的样式。

要合并演示文稿,Aspose.Slides 提供 AddClone 方法(来自 ISlideCollection 接口)。有几种 AddClone 方法的实现定义演示文稿合并过程中的参数。每个 Presentation 对象都有一个 Slides 集合,因此您可以从要合并幻灯片的演示文稿调用 AddClone 方法。

AddClone 方法返回一个 ISlide 对象,它是源幻灯片的克隆。输出演示文稿中的幻灯片只是源幻灯片的副本。因此,您可以在结果幻灯片上进行更改(例如,应用样式或格式选项或布局),而不必担心源演示文稿会受到影响。

合并演示文稿

Aspose.Slides 提供 AddClone (ISlide) 方法,允许您合并幻灯片,同时保留幻灯片的布局和样式(默认参数)。

以下 C# 代码向您展示了如何合并演示文稿:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

带幻灯片母版的合并演示文稿

Aspose.Slides 提供 AddClone (ISlide, IMasterSlide, Boolean) 方法,允许您合并幻灯片,同时应用幻灯片母版演示文稿模板。这样,如果需要,您可以更改输出演示文稿中幻灯片的样式。

以下 C# 代码演示了所描述的操作:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide, pres2.Masters[0], allowCloneMissingLayout: true);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

如果您希望输出演示文稿中的幻灯片具有不同的幻灯片布局,请在合并时使用 AddClone (ISlide, ILayoutSlide) 方法。

从演示文稿中合并特定幻灯片

以下 C# 代码向您展示了如何选择和合并来自不同演示文稿的特定幻灯片,以获得一个输出演示文稿:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

带幻灯片布局的合并演示文稿

以下 C# 代码向您展示了如何在合并演示文稿的幻灯片时应用您首选的幻灯片布局,以获得一个输出演示文稿:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    foreach (ISlide slide in pres2.Slides)
    {
        pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

合并不同幻灯片大小的演示文稿

要合并具有不同幻灯片大小的 2 个演示文稿,您必须调整其中一个演示文稿的大小以使其与另一个演示文稿的大小匹配。

以下示例代码演示了所描述的操作:

using (Presentation pres1 = new Presentation("pres1.pptx"),
   pres2 = new Presentation("pres2.pptx"))
{
   pres2.SlideSize.SetSize(pres1.SlideSize.Size.Width, pres1.SlideSize.Size.Height, SlideSizeScaleType.EnsureFit);
 
   foreach (ISlide slide in pres2.Slides)
   {
       pres1.Slides.AddClone(slide);
   }
 
   pres1.Save("combined.pptx", SaveFormat.Pptx);
}

将幻灯片合并到演示文稿部分

以下 C# 代码向您展示了如何将特定幻灯片合并到演示文稿中的一个部分:

using (Presentation pres1 = new Presentation("pres1.pptx"),
    pres2 = new Presentation("pres2.pptx"))
{
    for (var index = 0; index < pres2.Slides.Count; index++)
    {
        ISlide slide = pres2.Slides[index];
        pres1.Slides.AddClone(slide, pres1.Sections[0]);
    }

    pres1.Save("combined.pptx", SaveFormat.Pptx);
}

幻灯片将被添加到该部分的末尾。