C# 中的 PPTX 演示文稿

在 C# 中合併和組合 PowerPoint PPT/PPTX 演示文稿

作為 C#.Net 開發人員,您可能需要合併多個 PPTPPTX 文件以編程方式合併為一個文件。您可能想要合併或合併多個 PowerPoint 演示文稿的原因有很多。例如,創建包含來自多個來源的信息的演示文稿或包含相關信息的演示文稿。合併或組合多個 PowerPoint 演示文稿可以幫助您創建更好、更一致的演示文稿。在本文中,我將向您展示如何在 C# 中合併和組合 PowerPoint PPT/PPTX 演示文稿。

本文將討論以下主題:

用於合併 PowerPoint PPT 和 SDK 安裝的 C# REST API

為了合併 PowerPoint 文件,我將使用 GroupDocs.Merger Cloud API 的 .NET SDK。一個安全、可靠、高性能的Cloud SDK,可將多個文檔合併為一個,並將單個文件拆分為多個文檔。它還提供重新排序或替換文檔頁面、更改頁面方向、管理文檔密碼以及對任何 支持的文件格式 輕鬆執行其他操作的功能。目前,它支持 Java、PHP、Ruby、Android 和 Node.js SDK 作為 Cloud API 的文檔合併家族成員

您可以從 NuGet 包管理器 或在 .NET CLI 中使用以下命令將 GroupDocs.Merger-Cloud 安裝到您的 Visual Studio 項目:

dotnet add package GroupDocs.Merger-Cloud --version 22.5.0

接下來,在開始執行步驟和可用代碼示例之前,從 儀表板 獲取您的客戶端 ID 和客戶端密碼。在代碼中添加 Client ID 和 Client Secret,如下所示:

//從 https://dashboard.groupdocs.cloud 獲取 clientId 和 clientSecret(需要免費註冊)。
string clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
string clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
string myStorage = "test-internal-storage";

var configuration = new Configuration(clientId, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";

使用 REST API 在 C# 中將多個 PPT 或 PPTX 文件合併為一個文件

您可以按照以下簡單步驟合併兩個或多個 PowerPoint 文件或合併特定的 PPTX 幻燈片:

上傳 PowerPoint 文件

首先,使用以下任一方法將PowerPoint PPTX文檔上傳至雲端:

  • 使用儀表板
  • 使用瀏覽器中的 Upload File API 一個一個地上傳所有文件
  • 使用下面給出的代碼示例以編程方式上傳:
// 使用 C# 上傳文件
using System;
using System.IO;
using GroupDocs.Merger.Cloud.Sdk.Api;
using GroupDocs.Merger.Cloud.Sdk.Client;
using GroupDocs.Merger.Cloud.Sdk.Model;
using GroupDocs.Merger.Cloud.Sdk.Model.Requests;

namespace GroupDocs.Merger.CSharp
{
  class Upload_PowerPoint_Presentations

  {
    static void Main(string[] args)
    {
      
      try
      {
        // 創建必要的 API 實例
        var storageApi = new StorageApi(configuration);
        var fileApi = new FileApi(configuration);

        var path = @"H:\groupdocs-cloud-data";

        var files = Directory.GetFiles(path, "*.pptx", SearchOption.AllDirectories);
        foreach (var file in files)
        {
          var relativeFilePath = file.Replace(path, string.Empty).Trim(Path.DirectorySeparatorChar);

          var response = storageApi.ObjectExists(new ObjectExistsRequest(relativeFilePath, myStorage));
          if (response.Exists != null && !response.Exists.Value)
          {
            var fileStream = File.Open(file, FileMode.Open);

            fileApi.UploadFile(new UploadFileRequest(relativeFilePath, fileStream, myStorage));
            fileStream.Close();
          }
        }

        Console.WriteLine("File Uploaded to Cloud Storage.");
      }
      catch (Exception e)
      {
        Console.WriteLine("Exception when calling GroupDocs API: " + e.Message);
      }

    }
  }
}

結果,PowerPoint PPTX 文件將上傳到雲存儲。

將多個 PowerPoint PPTX 合併為一個

現在,您可以在雲端以編程方式合併多個 PowerPoint 文件。按照下面提到的步驟,以編程方式將多個 PPTX 文檔合併到一個文件中是一種安全且快速的方法:

  • 首先,創建 DocumentApi 的實例
  • 其次,創建 JoinItem 的實例
  • 第三,為 FileInfo 中的第一個 JoinItem 設置輸入文件路徑
  • 然後,為第二個 PPTX 演示文稿創建 JoinItem 的新實例
  • 為 FileInfo 中的第二個 JoinItem 提供輸入文件路徑
  • 您可以添加更多 JoinItems 以合併更多 PPTX 文件
  • 接下來,創建 JoinOptions 的實例
  • 添加以逗號分隔的已創建連接項列表
  • 還要在雲端設置輸出文件路徑
  • 現在,使用連接選項作為參數創建 JoinRequest 的實例
  • 最後,通過 JoinRequest 調用 DocumentApi 的 join() 方法得到結果

以下代碼片段顯示瞭如何使用 REST API 在 C# 中合併多個 PowerPoint 文件:

// 如何使用 REST API 在 C# 中將多個 PPT/PPTX 文件合併為一個文件
using System;
using GroupDocs.Merger.Cloud.Sdk.Api;
using GroupDocs.Merger.Cloud.Sdk.Client;
using GroupDocs.Merger.Cloud.Sdk.Model;
using GroupDocs.Merger.Cloud.Sdk.Model.Requests;

namespace GroupDocs.Merger.CSharp
{
  // 如何使用 CSharp 將 PowerPoint 文件合併為一個文件
  class Combine_PowerPoint_Presentations

  {
    static void Main(string[] args)
    {

      try
      {
        // 創建必要的 API 實例
        var documentApi = new DocumentApi(configuration);
        var item1 = new JoinItem
        {
          FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
          {
            FilePath = "csharp-testing/two-slides-file.pptx"
          }
        };

        var item2 = new JoinItem
        {
          FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
          {
            FilePath = "csharp-testing/one-slide-file.pptx"
          }
        };

        var options = new JoinOptions
        {
          JoinItems = new List<JoinItem> { item1, item2 },
          OutputPath = "csharp-testing/merged-file.pptx"
        };

        var request = new JoinRequest(options);
        var response = documentApi.Join(request);
        Console.WriteLine("Successfully merged PowerPoint PPTX slides online using REST API: " + response.Path);
      }
      catch (Exception e)
      {
        Console.WriteLine("Exception when calling GroupDocs Api: " + e.Message);
      }

    }
  }
}

輸入文件

您可以在下圖中看到輸入的 PowerPoint 文件:

如何在線合併 PowerPoint 演示文稿

合併兩個 PowerPoint 演示文稿

輸出文件

您可以在下圖中看到輸出:

C#如何將多個PPT文件合併為一個文件

將多個 PowerPoint 演示文稿合併為一個

下載合併文件

上面的代碼示例將合併後的 PPTX 文件保存在雲端。您可以使用以下代碼片段下載它:


// 從雲端下載結果文件
using System;
using GroupDocs.Conversion.Cloud.Sdk.Api;
using GroupDocs.Conversion.Cloud.Sdk.Client;
using GroupDocs.Conversion.Cloud.Sdk.Model.Requests;

namespace GroupDocs.Merger.CSharp
{
  // 下載輸出文件
  class Download_File
  {
    static void Main(string[] args)
    {
      try
      {
        // 初始化接口
        var fileApi = new FileApi(configuration);
        // 創建下載文件請求
        var downloadRequest = new DownloadFileRequest("csharp-testing/merged-file.pptx", myStorage);
        // 下載文件
        Stream downloadResponse = fileApi.DownloadFile(downloadRequest);

        // 將文件保存在工作目錄中
        using (var fileStream = System.IO.File.Create("H:\\groupdocs-cloud-data\\merged-file.pptx"))
        {
          downloadResponse.Seek(0, SeekOrigin.Begin);
          downloadResponse.CopyTo(fileStream);
        }
      }
      catch (Exception e)
      {
        Console.WriteLine("Exception when calling GroupDocs FileApi: " + e.Message);
      }

    }
  }
}

如何使用 C# 合併多個 PowerPoint 文件的特定幻燈片

您可以按照下面提到的步驟以編程方式輕鬆地將多張 PowerPoint 幻燈片中的特定頁面合併到一個文件中:

  • 首先,創建 DocumentApi 的實例
  • 其次,創建 JoinItem 的實例
  • 為 FileInfo 中的第一個 JoinItem 設置輸入文件路徑
  • 現在,定義要合併的頁碼列表
  • 接下來,創建 JoinItem 類的另一個實例
  • 為 FileInfo 中的第二個 JoinItem 設置輸入文件路徑
  • 定義起始頁碼和結束頁碼
  • 現在,將頁面範圍模式定義為 OddPages
  • 創建 JoinOptions 的實例
  • 添加以逗號分隔的已創建連接項列表
  • 接下來在雲端設置輸出文件路徑
  • 然後,使用 JoinOptions 創建 JoinRequest 的實例
  • 最後,通過使用 JoinRequest 調用 DocumentApi 的 join() 方法來合併幻燈片

以下代碼片段顯示瞭如何在 C# 中使用 REST API 合併來自多個 PowerPoint 文件的特定頁面:

// 如何在 C# 中合併多個 PowerPoint 文件的特定幻燈片
using System;
using GroupDocs.Merger.Cloud.Sdk.Api;
using GroupDocs.Merger.Cloud.Sdk.Client;
using GroupDocs.Merger.Cloud.Sdk.Model;
using GroupDocs.Merger.Cloud.Sdk.Model.Requests;
using System.Collections.Generic;

namespace GroupDocs.Merger.CSharp
{
  // 將 PPTX 幻燈片合併為一個 PPT
  class Merge_PowerPoint_Files
  {
    static void Main(string[] args)
    { 

      try
      {
        
        // 創建必要的 API 實例
        var documentApi = new DocumentApi(configuration);
        var item1 = new JoinItem
        {
          FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
          {
            FilePath = "csharp-testing/input-sample-file-one.pptx"
          },
          Pages = new List<int?> { 1, 4, 7 }
        };

        var item2 = new JoinItem
        {
          FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
          {
            FilePath = "csharp-testing/input-sample-file-two.pptx"
          },
          StartPageNumber = 1,
          EndPageNumber = 5,
          RangeMode = JoinItem.RangeModeEnum.OddPages
        };

        var options = new JoinOptions
        {
          JoinItems = new List<JoinItem> { item1, item2 },
          OutputPath = "csharp-testing/merged-file.pptx"
        };

        var request = new JoinRequest(options);
        var response = documentApi.Join(request);
        Console.WriteLine("Successfully combine several powerpoints into one using CSharp: " + response.Path);
      }
      catch (Exception e)
      {
        Console.WriteLine("Exception when calling GroupDocs Api: " + e.Message);
      }

    }
  }
}

如何使用幻燈片範圍在 C# 中合併 PowerPoint 演示文稿

您可以按照以下步驟使用幻燈片範圍模式以編程方式將多張 PowerPoint 幻燈片合併到一個文件中:

  • 首先,創建 DocumentApi 的實例
  • 其次,創建 JoinItem 的實例
  • 為 FileInfo 中的第一個 JoinItem 設置輸入文件路徑
  • 接下來創建 JoinItem 的另一個實例
  • 為 FileInfo 中的第二個 JoinItem 設置輸入文件路徑
  • 定義起始頁碼和結束頁碼
  • 將頁面範圍模式定義為 OddPages
  • 現在,創建 JoinOptions 的實例
  • 添加以逗號分隔的已創建連接項列表
  • 接下來在雲端設置輸出文件路徑
  • 使用 JoinOptions 創建 JoinRequest 的實例
  • 最後,通過使用 JoinRequest 調用 DocumentApi 的 join() 方法來組合演示

以下代碼片段顯示瞭如何使用 REST API 在 C# 中將多個 PowerPoint 演示文稿與頁面範圍合併:

// 如何使用幻燈片範圍在 C# 中組合 PowerPoint 演示文稿
using System;
using GroupDocs.Merger.Cloud.Sdk.Api;
using GroupDocs.Merger.Cloud.Sdk.Client;
using GroupDocs.Merger.Cloud.Sdk.Model;
using GroupDocs.Merger.Cloud.Sdk.Model.Requests;
using System.Collections.Generic;

namespace GroupDocs.Merger.CSharp
{
  // 將 PPT 文件合併成一個 PPT
  class Merge_PowerPoint_Files
  {
    static void Main(string[] args)
    { 

      try
      {
        // 創建必要的 API 實例
        var documentApi = new DocumentApi(configuration);
        var item1 = new JoinItem
        {
          FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
          {
            FilePath = "csharp-testing/input-sample-file-one.pptx"
          }
        };

        var item2 = new JoinItem
        {
          FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
          {
            FilePath = "csharp-testing/input-sample-file-two.pptx"
          },
          StartPageNumber = 1,
          EndPageNumber = 5,
          RangeMode = JoinItem.RangeModeEnum.OddPages
        };

        var options = new JoinOptions
        {
          JoinItems = new List<JoinItem> { item1, item2 },
          OutputPath = "csharp-testing/merged-file.pptx"
        };

        var request = new JoinRequest(options);
        var response = documentApi.Join(request);
        Console.WriteLine("Successfully combined PowerPoint slides from different files: " + response.Path);
      }
      catch (Exception e)
      {
        Console.WriteLine("Exception when calling GroupDocs Api: " + e.Message);
      }

    }
  }
}

在線合併 PowerPoint 演示文稿

如何免費在線將 PowerPoint 文件合併為一個文件?請嘗試使用以下 免費在線 PPTX 合併應用程序 將來自任何設備的多個 PowerPoint 演示文稿合併為一個文件。

加起來

我們到這裡結束這篇文章。在這篇博文中,我們了解到:

  • 如何在雲端合併多個 PowerPoint 文件;
  • 以編程方式上傳 PowerPoint 文件,然後從雲端下載合併後的 PPTX 文件;
  • 如何將多個 PowerPoint 文件的特定頁面組合成一個文件;
  • 如何將多個 PowerPoint 文件的一系列頁面合併為一個文件;
  • 並免費在線合併 PowerPoint 演示文稿。

此外,您可以使用 文檔 了解有關 GroupDocs.Merge Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。 GitHub 上免費提供 GroupDocs.Merger Cloud SDK for .Net 的完整源代碼。

此外,groupdocs.cloud 正在撰寫有關新主題的其他博文。請與我們保持聯繫以獲取最新更新。

問一個問題

關於如何合併多個 PPT 或 PPTX 文件的任何疑問,請隨時在 免費支持論壇 中提問。

常問問題

  • 如何在C#中將PPT文件合併為一個文件?

請按照 此鏈接 學習 C# 代碼片段,了解如何快速輕鬆地合併來自不同文件的 PowerPoint 幻燈片。

  • 如何使用 REST API 將多個 PowerPoint 文件快速合併為一個文件?

創建 DocumentApi 實例,設置輸入文件路徑,創建 JoinOptions 實例並使用 JoinRequest 調用 documentApi.Join() 方法以快速自動合併 PowerPoint 文件。

  • 如何安裝在線PPT合併庫?

您可以下載並安裝 PPT 合併 API 以編程方式處理和合併 PowerPoint 演示文稿。

  • 如何免費在線合併 PowerPoint 幻燈片?

請訪問PPT 合併免費,在幾秒鐘內快速在線合併和組合兩個或多個 PowerPoint 文件。

  • 如何免費在線將多張PowerPoint PPT合併為一張?

打開我們的在線PPTX合併 在文件放置區域內單擊以上傳 PowerPoint 文件或拖放 PowerPoint 文件。 單擊立即合併按鈕,PPT 合併應用程序會將所有 PowerPoint 文件合併為一個。 在線合併 PPT 文件後,輸出文件的下載鏈接將立即可用。

  • 如何在 Windows 上合併 PowerPoint 演示文稿?

請訪問此鏈接免費合併PPT。這個免費的 PPT 合併應用程序將通過單擊將 PPT 在窗口中合併在一起。

如何將多個PPTX合併為一個

如何在不改變格式的情況下合併PPT幻燈片

也可以看看