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

时间:2023-02-03 06:19:23

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

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

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

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

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

C# 复制幻灯片(包括格式、背景、图片等)到同/另一个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[]; //将该幻灯片复制/插入到指定位置
int index = ;
ppt.Slides.Insert(index, slide); //保存文档
ppt.SaveToFile("输出.pptx", Spire.Presentation.FileFormat.Pptx2010);
System.Diagnostics.Process.Start("输出.pptx");
}
}
}

运行结果:

C# 复制幻灯片(包括格式、背景、图片等)到同/另一个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[]; //加载另一个PPT文档
Presentation ppt1 = new Presentation();
ppt1.LoadFromFile("表格.pptx"); //将幻灯片从第一个PPT文档复制到第二个PPT文档的指定位置
int index = ;
ppt1.Slides.Insert(index, slide); //保存文档
ppt1.SaveToFile("输出1.pptx", Spire.Presentation.FileFormat.Pptx2010);
System.Diagnostics.Process.Start("输出1.pptx");
}
}
}

运行结果:

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