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幻灯片

也可以看看