您现在的位置是:网站首页> 内容页

C# 合并、拆分PPT幻灯片

  • 亚米直播app官网
  • 2019-10-20
  • 154人已阅读
简介概述通过合并、拆分的功能,将不同的文档中的幻灯片进行组合形成新的的文档,同时也可以将一个多页的PPT文档按页拆分成多个不同的文档。此功能也丰富了编程人员对PPT幻灯片的操作的选择。下面

概述

通过合并、拆分的功能,将不同的文档中的幻灯片进行组合形成新的的文档,同时也可以将一个多页的PPT文档按页拆分成多个不同的文档。此功能也丰富了编程人员对PPT幻灯片的操作的选择。下面将分别从以下几个要点来分别阐述通过C#来合并、拆分PPT幻灯片的方法。

示例要点

1. 合并PPT幻灯片(2种方式)

 方式1加载多个独立的PowerPoint文件,同时将两个文档的数据合并后为一个新的PPT文件

 方式2将第1个幻灯片中指定的幻灯片数据,写入到第2个幻灯片,并保存为新的PPT文件

2. 拆分PPT幻灯片

  2.1 按每一页拆分

  2.2 按指定拆分页数

工具

Free Spire.Presentation for .NET(免费版)

:下载安装该控件后,注意在程序中添加引用Sprie.Presentation.dll(如下图)。dll可在安装路径下的Bin文件夹中获取。

代码示例(供参考)

【示例1】合并PPT幻灯片(方式1)

步骤1 :新建文档

//创建新的Presentation示例并删除默认的空白幻灯片Presentation ppt = new Presentation();ppt.Slides.RemoveAt(0);

步骤2:加载2个需要合并的PPT幻灯片

Presentation ppt1 = new Presentation("test1.pptx",FileFormat.Pptx2010);Presentation ppt2 = new Presentation("test2.pptx",FileFormat.Pptx2010);

步骤3:插入PPT数据到文档

//插入ppt1的数据到pptfor (int i = 0; i < ppt1.Slides.Count; i++){ ppt.Slides.Append(ppt1.Slides[i]);}//插入ppt2中的第1张幻灯片数据到pptppt.Slides.Append(ppt2.Slides[0]);

步骤4:保存文档

ppt.SaveToFile("result.pptx", FileFormat.Pptx2010);

完成代码后,调试程序,生成文档。PPT文档合并效果如下:

合并前:

合并后:

全部代码:

using Spire.Presentation;namespace MergeSlides_PPT{ class Program { static void Main(string[] args) { //创建新的Presentation示例并删除默认的空白幻灯片 Presentation ppt = new Presentation(); ppt.Slides.RemoveAt(0); //加载需要合并的两个幻灯片文档 Presentation ppt1 = new Presentation("test1.pptx", FileFormat.Pptx2010); Presentation ppt2 = new Presentation("test2.pptx", FileFormat.Pptx2010); //插入ppt1的数据 for (int i = 0; i < ppt1.Slides.Count; i++) { ppt.Slides.Append(ppt1.Slides[i]); } //插入ppt2中的第一张幻灯片数据 ppt.Slides.Append(ppt2.Slides[0]); //保存ppt文档 ppt.SaveToFile("result.pptx", FileFormat.Pptx2010); System.Diagnostics.Process.Start("result.pptx"); } }}View Code

 

【示例2】合并PPT幻灯片(方式2)

步骤1:加载幻灯片

//实例化Presentation类的对象,并加载幻灯片文档Presentation ppt1 = new Presentation("test1.pptx", FileFormat.Pptx2010);//获取第一张幻灯片ISlide slide = ppt1.Slides[0];//加载第二个PowerPoint示例文档Presentation ppt2 = new Presentation();ppt2.LoadFromFile("test2.pptx", FileFormat.Pptx2010);

步骤2:合并数据

//将ppt1中获取的第一个幻灯片数据插入到ppt2,并设置为第一页int index = 0;ppt2.Slides.Insert(index, slide);

步骤3:保存文档

ppt2.SaveToFile("Merge2.pptx", FileFormat.Pptx2010);

合并前:

合并后:

全部代码:

using Spire.Presentation;namespace MergeSlides2_PPT{ class Program { static void Main(string[] args) { //实例化Presentation类的对象,并加载幻灯片文档 Presentation ppt1 = new Presentation("test1.pptx", FileFormat.Pptx2010); //获取第一张幻灯片 ISlide slide = ppt1.Slides[0]; //加载第二个PowerPoint示例文档 Presentation ppt2 = new Presentation(); ppt2.LoadFromFile("test2.pptx", FileFormat.Pptx2010); //将ppt1中获取的第一个幻灯片数据插入到ppt2,并设置为第一页 int index = 0; ppt2.Slides.Insert(index, slide); //保存文档2 ppt2.SaveToFile("Merge2.pptx", FileFormat.Pptx2010); System.Diagnostics.Process.Start("Merge2.pptx"); } }}View Code

 

【示例3】按PPT幻灯片每一页拆分

步骤1: 加载测试文档

//实例化Presentation类的对象,并加载测试文档Presentation ppt = new Presentation();ppt.LoadFromFile("test.pptx");

步骤2:拆分ppt文档

//遍历文档中的所有幻灯片for (int i = 0; i < ppt.Slides.Count; i++){ Presentation newppt = new Presentation();//创建一个新的PPT文档 newppt.Slides.RemoveAt(0);//删除新建文档中默认的第一张幻灯片 newppt.Slides.Append(ppt.Slides[i]);//将ppt中的幻灯片按每一页添加到newppt中 newppt.SaveToFile(String.Format("拆分{0}.pptx", i), FileFormat.Pptx2010);//保存newppt文档}

拆分前:

 

拆分后:

全部代码:

using Spire.Presentation;using System;namespace SplitSlides_PPT{ class Program { static void Main(string[] args) { //实例化Presentation类的对象,并加载测试文档 Presentation ppt = new Presentation(); ppt.LoadFromFile("test.pptx"); //遍历文档中的所有幻灯片 for (int i = 0; i < ppt.Slides.Count; i++) { Presentation newppt = new Presentation();//创建一个新的PPT文档 newppt.Slides.RemoveAt(0);//删除新建文档中默认的第一张幻灯片 newppt.Slides.Append(ppt.Slides[i]);//将ppt中的幻灯片按每一页添加到newppt中 newppt.SaveToFile(String.Format("拆分{0}.pptx", i), FileFormat.Pptx2010);//保存newppt文档 } } }}View Code

【示例4】按PPT指定页数来拆分

步骤1:加载文档

//创建文档ppt加载需要拆分的文档 Presentation ppt = new Presentation(); ppt.LoadFromFile("test.pptx");

步骤2:将文档的1-2页拆分,保存为文档1

Presentation ppt1 = new Presentation();ppt1.Slides.RemoveAt(0); for (int i = 0; i < 2; i++){ ppt1.Slides.Append(ppt.Slides[i]);} ppt1.SaveToFile(String.Format("Split1.pptx"), FileFormat.Pptx2010);

步骤3:将文档的3-4页拆分,保存为文档2

Presentation ppt2 = new Presentation();ppt2.Slides.RemoveAt(0); for (int i = 2; i < 4; i++){ ppt2.Slides.Append(ppt.Slides[i]);}ppt2.SaveToFile(String.Format("Split2.pptx"), FileFormat.Pptx2010);

步骤 4:将文档第5页拆分,保存为文档3

Presentation ppt3 = new Presentation();ppt3.Slides.RemoveAt(0); ppt3.Slides.Append(ppt.Slides[4]);ppt3.SaveToFile(String.Format("Split3.pptx"), FileFormat.Pptx2010);

拆分前:

拆分后:

 

全部代码:

using Spire.Presentation;using System;namespace SplitSlides2_PPT{ class Program { static void Main(string[] args) { //创建文档ppt加载需要拆分的文档 Presentation ppt = new Presentation(); ppt.LoadFromFile("test.pptx"); //将文档的1-2页拆分,保存为文档1 Presentation ppt1 = new Presentation(); ppt1.Slides.RemoveAt(0); for (int i = 0; i < 2; i++) { ppt1.Slides.Append(ppt.Slides[i]); } ppt1.SaveToFile(String.Format("Split1.pptx"), FileFormat.Pptx2010); //将文档的3-4页拆分,保存为文档2 Presentation ppt2 = new Presentation(); ppt2.Slides.RemoveAt(0); for (int i = 2; i < 4; i++) { ppt2.Slides.Append(ppt.Slides[i]); } ppt2.SaveToFile(String.Format("Split2.pptx"), FileFormat.Pptx2010); //将文档第5页拆分,保存为文档3 Presentation ppt3 = new Presentation(); ppt3.Slides.RemoveAt(0); ppt3.Slides.Append(ppt.Slides[4]); ppt3.SaveToFile(String.Format("Split3.pptx"), FileFormat.Pptx2010); } }}View Code

 

以上是C# 合并、拆分PPT幻灯片的全部内容。

(本文完)

转载请注明出处。

 

文章评论

Top