C# 复制幻灯片(包括格式、背景、图片等)到同/另一个PPT文档

C#复制幻灯片
本文介绍如何使用C#及Spire.Presentation组件在同一个PPT文档内或跨文档复制包含格式、背景、图片等内容的幻灯片。

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

运行结果:

 

转载于:https://www.cnblogs.com/Yesi/p/5643985.html

《VSTO开发者指南》是为有兴趣把技能迁移到下一代Office开发的VBA开发者写的。你可以得到编写Word 2003、Excel 2003和Outlook 2003托管代码程序的易懂且实用的介绍,还将学到如何用VSTO 2005 SE为最受欢迎的Office 2003和Microsoft Office 2007应用程序创建插件。作为这方面的专家,作者通过丰富的代码示例来展示受欢迎的VSTO功能,例如智能标记和操作窗格。示例代码也向你演示了如何定制Microsoft Office 2007新的uI功能,包括功能区、自定义任务窗格和Outlook窗体区域。  Visual Studio Tools for Office(VSTO)的目标受众是“专业开发者”。这个术语有多重含义,而我们听到的最受认可的定义是“通过写代码获取报酬的人”。换句话说,这是他的主业。他不是部门开发者,比如说,把写Excel宏作为他的会计任务的一部分的会计人员,或者定制Word来增加他的生产力的办公人员。相反,他是一个有兴趣把Microsoft Office作为开发平台的.NET开发者。   我们相信传统的Office开发者也会对VSTO感兴趣。在加入Microsoft之前,我们俩都是VBA开发者,定制Office应用程序,并且我们非常有兴趣了解托管代码。在这方面,我们不认为我们是唯一的。有上百万VBA开发者,许多都有兴趣学习下一代Office开发。现在的VSTO图书和文档通常都不是为VBA开发者写的;它假设开发者熟悉Visual Studio、面向对象编程和.NET Framework。这就不难理解它把重点更多地放在VSTO的功能和如何使用笨重的Office对象模型。   我们想为VBA开发者写一本书。虽然你可能不熟悉.NET编程,但你有一个重要的优势:Office对象模型的知识。作为一个Office开发者,你很可能非常熟悉Office应用程序,在操作Office对象模型方面也有丰富的经验。我们认为学习托管代码的最佳环境是你已经熟悉的地方:Office开发。   VSTO把Office开发带到.NET的世界,和VBA相比,它有优点也有缺点。使用VSTO,你可以更好地定制Word、Excel和Outlook,比如说,创建自定义任务窗格、向文档添加智能标记和把文档上的对象绑定到数据源。使用VSTO 2005 SE,你可以为六个Office应用程序创建插件、定制新的2007 Microsoft Office System的功能区和创建应用程序级别的自定义任务窗格。   我们有幸和为VSTO设计、编码、测试和写文档的人一起工作,并从他们那里学到了很多。我们得到了内部人士对VSTO的看法,我们希望以一种易懂和有趣的方式把这些信息传递给你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值