Free Spire.Presentation for .NET(免费版)
Visual Studio 2013
1. 按PPT幻灯片每一页拆分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文档 } } }}拆分效果前后对比,如下:
2. 按PPT指定页数范围拆分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); } }}拆分效果前后对比,如下: