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"); } } }
运行结果: