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

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

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

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

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

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

                       

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

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

using Spire.Presentation;

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

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

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

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

运行结果:

 

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

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

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

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

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

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

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

运行结果:

 

posted @ 2016-07-06 15:14  E-iceblue  阅读(1853)  评论(0编辑  收藏  举报