天天看點

C# 複制幻燈片(包括格式、背景、圖檔等)到同/另一個PPT文檔

C# 複制幻燈片(包括格式、背景、圖檔等)到同/另一個PPT文檔

複制幻燈片是使用PowerPoint過程中的一個比較常見的操作,在複制一張幻燈片時一般有以下兩種情況:

  • 在同一個PPT文檔内複制
  • 從一個PPT文檔複制到另一個PPT文檔

在微軟 PowerPoint 中複制幻燈片很簡單,隻需要選中幻燈片,然後複制粘貼就可以了,但作為一名程式猿,我肯定需要用程式設計的方式來實作它。下面就分享一下我是如何使用C#及免費PPT元件來實作在同一個PPT文檔内複制幻燈片及從一個PPT文檔裡複制幻燈片到另一個PPT文檔。

首先我準備了兩個PPT文檔(如下圖),其中第一個PPT文檔的幻燈片中含有文字,圖檔,背景色等内容:

C# 複制幻燈片(包括格式、背景、圖檔等)到同/另一個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");
        }
    }
}      

運作結果:

C# 複制幻燈片(包括格式、背景、圖檔等)到同/另一個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];

            //加載另一個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");
        }
    }
}      
C# 複制幻燈片(包括格式、背景、圖檔等)到同/另一個PPT文檔

繼續閱讀