博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 合并、拆分PPT幻灯片
阅读量:6477 次
发布时间:2019-06-23

本文共 3989 字,大约阅读时间需要 13 分钟。

概述

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

示例要点

  1. 合并PPT幻灯片(2种方式)
    方式1:加载多个独立的PowerPoint文件,同时将两个文档的数据合并后为一个新的PPT文件
    方式2:将第1个幻灯片中指定的幻灯片数据,写入到第2个幻灯片,并保存为新的PPT文件
  2. 拆分PPT幻灯片
    2.1 按每一页拆分
    2.2 按指定拆分页数

    工具

    :下载安装该控件后,注意在程序中添加引用Sprie.Presentation.dll(如下图)。dll可在安装路径下的Bin文件夹中获取。
    C# 合并、拆分PPT幻灯片

代码示例(供参考)

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

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");        }    }}

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

合并前:
C# 合并、拆分PPT幻灯片

合并后:

C# 合并、拆分PPT幻灯片

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

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");        }    }}

合并前:

C# 合并、拆分PPT幻灯片

合并后:

C# 合并、拆分PPT幻灯片

【示例3】按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文档            }        }    }}

拆分前:

C# 合并、拆分PPT幻灯片
拆分后:
C# 合并、拆分PPT幻灯片

【示例4】按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);        }    }}

拆分前:

C# 合并、拆分PPT幻灯片
拆分后:
C# 合并、拆分PPT幻灯片
以上是C# 合并、拆分PPT幻灯片的全部内容。
(本文完)
转载请注明出处。

转载于:https://blog.51cto.com/eiceblue/2313533

你可能感兴趣的文章
使用startActivityForResult方法(转)
查看>>
so在genymotation中错误问题
查看>>
Visual Studio 原生开发的10个调试技巧(二)
查看>>
Windows内核再次出现0Day漏洞 影响win2000到win10所有版本 反病毒软件恐成瞎子
查看>>
H3C品牌刀片系统强势首发
查看>>
【CSS系列】图像映射
查看>>
First blood
查看>>
kernel笔记——网络收发包流程
查看>>
java 冒泡排序和快速排序 实现
查看>>
C# 中获取CPU序列号/网卡mac地址等
查看>>
分析Linux 文件系统访问控制列表
查看>>
spring中的设计模式(二)
查看>>
VMware内存不足解决方案
查看>>
Nginx基础
查看>>
python列表解析和生成表达式浅要说明
查看>>
Java注解Annotation详解
查看>>
揭开AS程序的外纱(八) -- 容易被忽视的数组实用功能
查看>>
物理内存低于896M各个区到底是怎么映射的
查看>>
linux下的缓存机制及清理buffer/cache/swap的方法梳理
查看>>
安装和配置 Virtual Server
查看>>