C# 合并、拆分PPT幻灯片 _.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > C# 合并、拆分PPT幻灯片

C# 合并、拆分PPT幻灯片

 2019/1/8 15:39:36  Miaonly  程序员俱乐部  我要评论(0)
  • 摘要:概述通过合并、拆分的功能,将不同的文档中的幻灯片进行组合形成新的文档,同时也可以将一个多页的PPT文档按页拆分成多个不同的文档。此功能也丰富了编程人员对PPT幻灯片的操作的选择。下面将分别从以下几个要点来分别阐述通过C#来合并、拆分PPT幻灯片的方法。示例要点1.合并PPT幻灯片(2种方式)方式1:加载多个独立的PowerPoint文件,同时将两个文档的数据合并后为一个新的PPT文件方式2:将第1个幻灯片中指定的幻灯片数据,写入到第2个幻灯片,并保存为新的PPT文件2.拆分PPT幻灯片2
  • 标签:

概述

class="MsoNormal">通过合并、拆分的功能,将不同的文档中的幻灯片进行组合形成新的文档,同时也可以将一个多页的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)?

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文档合并效果如下:

?

?

合并前:



?

合并后:


?

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

?

?

合并前:


?

?合并后:

?

?

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

?

?

拆分前:


?

拆分后:

?


?

【示例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幻灯片的全部内容。

?

(本文完)

?

  • 大小: 22.1 KB
  • 大小: 182.6 KB
  • 大小: 157.9 KB
  • 大小: 178.8 KB
  • 大小: 144.1 KB
  • 大小: 96.9 KB
  • 大小: 93.7 KB
  • 大小: 91.7 KB
  • 大小: 108.3 KB
  • 查看图片附件
  • 相关文章
发表评论
用户名: 匿名