如何在 C# .Net 中將多個 PDF 文件合併為一個文件

如何使用 REST API 在 C# 中合併 PDF 文件。

PDF(便攜式文檔格式)廣泛用於共享文檔,同時保留其格式和佈局。在某些情況下,您可能需要將多個 PDF 文件合併到一個文檔中以簡化信息或提高可訪問性。 GroupDocs.Merger Cloud SDK for .Net 提供了一種強大而直觀的方式來以編程方式合併 PDF 文件,從而節省您的時間和精力。在本文中,我們將探討如何使用 REST API 在 C# 中合併和組合 PDF 文件。

本文應涵蓋以下主題:

C# REST API 合併 PDF 文件和 C# SDK 安裝

GroupDocs.Merger Cloud SDK for .NET 是一個強大而可靠的解決方案,允許開發人員將 PDF 合併功能合併到他們的 C# 應用程序中。它提供了一套全面的特性和功能來無縫合併和組合 PDF 文件。通過使用 SDK,您可以將多個 支持的文檔格式 合併到一個文檔中,同時保留其原始格式、佈局和內容。 SDK 可以集成到基於 C# 的應用程序中,以簡化您的開發過程。

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

dotnet add package GroupDocs.Merger-Cloud --version 23.4.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# 中將多個 PDF 文件合併為一個文件

現在我們已經設置了開發環境並安裝了 SDK,讓我們繼續合併 PDF 文件。按著這些次序:

上傳文件

首先,使用以下任一方法將PDF文檔上傳至雲存儲:

  • 使用儀表板
  • 使用 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_PDF_Files

  {
    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, "*.pdf", 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);
      }

    }
  }
}

因此,上傳的 PDF 文件將在雲端儀表板的 文件部分 中可用。

在 C# 中合併 PDF 文檔

以下是演示如何在 C# 中以編程方式將多個 PDF 文檔合併到單個文件的步驟和示例代碼片段。

  • 首先,創建 DocumentApi 類的一個實例。
  • 其次,創建 JoinItem 類的實例。
  • 第三,為 FileInfo 中的第一個 JoinItem 設置輸入文件路徑。
  • 然後,為第二個輸入文件創建一個新的 JoinItem 實例。
  • 現在,為 FileInfo 中的第二個 JoinItem 提供輸入文件路徑。
  • 您可以添加更多 JoinItems 以合併更多 PDF 文件。
  • 接下來,創建 JoinOptions 類的實例。
  • 添加以逗號分隔的已創建連接項列表。
  • 另外,在雲端設置輸出文件路徑。
  • 現在,創建 JoinRequest 的實例並傳遞 JoinOptions 參數。
  • 最後,通過調用 DocumentApi 的 join() 方法並傳遞 JoinRequest 參數來獲取結果。

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

// 如何使用 REST API 在 C# 中將多個 PDF 文件合併為一個文件
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
{
  // 如何使用 C# 將 PDF 文件合併為一個文件
  class Merge_PDF_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/sample-file-one.pdf"
          }
        };

        var item2 = new JoinItem
        {
          FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
          {
            FilePath = "csharp-testing/sample-file-two.pdf"
          }
        };

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

        var request = new JoinRequest(options);
        var response = documentApi.Join(request);
        Console.WriteLine("Successfully merged PDF files in C#: " + response.Path);
      }
      catch (Exception e)
      {
        Console.WriteLine("Exception when calling GroupDocs Api: " + e.Message);
      }

    }
  }
}

只需幾行代碼,您現在就可以使用 GroupDocs.Merger Cloud SDK for .Net 輕鬆合併 PDF 文件。

下載文件

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

// 從雲端下載結果文件
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.pdf", myStorage);
        // 下載文件
        Stream downloadResponse = fileApi.DownloadFile(downloadRequest);

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

    }
  }
}

使用 REST API 在 C# 中合併 PDF 文件的特定頁面

GroupDocs.Merger Cloud SDK 提供各種高級選項,可根據您的要求自定義 PDF 合併過程。您可以按照以下步驟以編程方式輕鬆地將多個 PDF 文件的特定頁面合併到一個文件中:

  • 首先,創建 DocumentApi 類的一個實例。
  • 其次,創建 JoinItem 類的實例。
  • 第三,為 FileInfo 中的第一個 JoinItem 設置輸入文件路徑。
  • 接下來,提供以逗號分隔的要加入的頁面列表。
  • 然後,為第二個輸入文件創建一個新的 JoinItem 實例。
  • 現在,為 FileInfo 中的第二個 JoinItem 提供輸入文件路徑。
  • 設置 StartPageNumber、EndPageNumber 和 RangeMode 值。
  • 您可以添加更多 JoinItems 以合併更多 PDF 文件。
  • 接下來,創建 JoinOptions 類的實例。
  • 添加以逗號分隔的已創建連接項列表。
  • 另外,在雲端設置輸出文件路徑。
  • 現在,創建 JoinRequest 的實例並傳遞 JoinOptions 參數。
  • 最後通過調用DocumentApi的join()方法並傳入JoinRequest參數獲取結果。

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

// 如何在 C# 中合併多個 PDF 文件的特定頁面
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
{
  // 在 C# 中將 PDF 文件合併為一個文件
  class Merge_PDF_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/sample-file-one.pdf"
          },
          Pages = new List<int?> { 1, 4, 7 }
        };

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

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

        var request = new JoinRequest(options);
        var response = documentApi.Join(request);
        Console.WriteLine("Successfully combined two PDF files into one in CSharp: " + response.Path);
      }
      catch (Exception e)
      {
        Console.WriteLine("Exception when calling GroupDocs Api: " + e.Message);
      }

    }
  }
}

免費在線 PDF 合併

如何免費在線將PDF文件合二為一?請嘗試使用以下在線 PDF 合併 應用程序,從任何設備將多個 PDF 文件合併為一個文件。

加起來

總之,適用於 .Net 的 GroupDocs.Merger Cloud SDK 為在 C# 應用程序中合併 PDF 文件提供了可靠且高效的解決方案。這篇博文教會了我們:

  • 如何在雲端的 C# .NET 中將多個 PDF 文件合併為一個文件;
  • 以編程方式從雲端上傳和下載 PDF 文件;
  • 如何在 C# 中將多個 PDF 文件的特定頁面組合成一個文件;
  • 和免費的在線 PDF 文件合併工具。

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

最後,我們繼續撰寫關於不同文件格式的新博客文章,並使用 REST API 解析它們。因此,請聯繫以獲取最新更新。

問一個問題

如果您對 PDF Merger API 有任何疑問,請隨時通過我們的論壇與我們聯繫。

常見問題

是否可以使用 C# 合併來自不同 PDF 文件的特定頁面?

是的,使用 GroupDocs.Merger Cloud SDK for .NET,您可以指定頁面範圍以合併來自不同 PDF 文件的特定頁面。這使您可以根據需要靈活地提取和組合相關信息。

如何安裝在線 PDF 合併庫?

您可以從 GroupDocs 官方網站 獲取適用於 .Net 的 GroupDocs.Merger Cloud SDK。按照提供的安裝說明在您的 C# 應用程序中設置 SDK

如何免費在線合併多個PDF文件?

請訪問在線 PDF 合併工具,在幾秒鐘內免費合併兩個或多個 PDF 文件。

也可以看看

如果您想了解更多相關主題,我們建議您閱讀下面列出的文章: