当前位置: 移动技术网 > IT编程>开发语言>.net > C# 合并、拆分PPT幻灯片

C# 合并、拆分PPT幻灯片

2018年11月07日  | 移动技术网IT编程  | 我要评论

大闹广昌隆国语,planzet,五笔打字练习在线

概述

通过合并、拆分的功能,将不同的文档中的幻灯片进行组合形成新的的文档,同时也可以将一个多页的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文件夹中获取。

代码示例(供参考)

【示例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的数据到ppt
for (int i = 0; i < ppt1.slides.count; i++)
{
    ppt.slides.append(ppt1.slides[i]);
}

//插入ppt2中的第1张幻灯片数据到ppt
ppt.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幻灯片的全部内容。

(本文完)

转载请注明出处。

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网