C# 复制幻灯片(包括格式、背景、图片等)到同/另一个PPT文档

复制幻灯片是使用PowerPoint过程中的一个比较常见的操作,在复制一张幻灯片时一般有以下两种情况:

  • 在同一个PPT文档内复制
  • 从一个PPT文档复制到另一个PPT文档

在微软 PowerPoint 中复制幻灯片很简单,只需要选中幻灯片,然后复制粘贴就可以了,但作为一名程序猿,我肯定需要用编程的方式来实现它。下面就分享一下我是如何使用C#及免费PPT组件来实现在同一个PPT文档内复制幻灯片及从一个PPT文档里复制幻灯片到另一个PPT文档。

首先我准备了两个PPT文档(如下图),其中第一个PPT文档的幻灯片中含有文字,图片,背景色等内容:

C# 复制幻灯片(包括格式、背景、图片等)到同/另一个PPT文档

一、在同一个PPT文档内复制

将PPT文档的第一页复制到该PPT文档的第二页的位置:

using Spire.Presentation;

namespace 复制幻灯片<br/>
{<br/>
    class Program<br/>
    {<br/>
        static void Main(string[] args)<br/>
        {<br/>
            //加载PPT文档<br/>
            Presentation ppt = new Presentation();<br/>
            ppt.LoadFromFile("示例.pptx");

            //获取需要复制的幻灯片<br/>
            ISlide slide = ppt.Slides[];

            //将该幻灯片复制/插入到指定位置<br/>
            int index = ;<br/>
            ppt.Slides.Insert(index, slide);

            //保存文档<br/>
            ppt.SaveToFile("输出.pptx", Spire.Presentation.FileFormat.Pptx2010);<br/>
            System.Diagnostics.Process.Start("输出.pptx");<br/>
        }<br/>
    }<br/>
}

运行结果:

C# 复制幻灯片(包括格式、背景、图片等)到同/另一个PPT文档

二、从一个PPT文档复制到另一个PPT文档

这部分的代码与上一部分很相似,只需要加载另一个PPT文档即可。

using Spire.Presentation;

namespace 复制幻灯片<br/>
{<br/>
    class Program<br/>
    {<br/>
        static void Main(string[] args)<br/>
        {<br/>
            //加载第一个PPT文档<br/>
            Presentation ppt = new Presentation();<br/>
            ppt.LoadFromFile("示例.pptx");

            //获取需要复制的幻灯片<br/>
            ISlide slide = ppt.Slides[];

            //加载另一个PPT文档<br/>
            Presentation ppt1 = new Presentation();<br/>
            ppt1.LoadFromFile("表格.pptx");

            //将幻灯片从第一个PPT文档复制到第二个PPT文档的指定位置<br/>
            int index = ;<br/>
            ppt1.Slides.Insert(index, slide);

            //保存文档<br/>
            ppt1.SaveToFile("输出1.pptx", Spire.Presentation.FileFormat.Pptx2010);<br/>
            System.Diagnostics.Process.Start("输出1.pptx");<br/>
        }<br/>
    }<br/>
}

运行结果: