Cách gộp nhiều File PDF thành 1 trong C# .Net

Cách hợp nhất các tệp PDF trong C# bằng API REST.

PDF(Định dạng Tài liệu Di động) được sử dụng rộng rãi để chia sẻ tài liệu trong khi vẫn giữ nguyên định dạng và bố cục của chúng. Trong một số trường hợp nhất định, bạn có thể cần kết hợp nhiều tệp PDF vào một tài liệu để hợp lý hóa thông tin hoặc cải thiện khả năng truy cập. GroupDocs.Merger Cloud SDK dành cho .Net cung cấp một cách mạnh mẽ và trực quan để hợp nhất các tệp PDF theo chương trình, giúp bạn tiết kiệm thời gian và công sức. Trong bài viết này, chúng ta sẽ khám phá cách hợp nhất và kết hợp các tệp PDF trong C# bằng API REST.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

API C# REST để hợp nhất các tệp PDF và cài đặt C# SDK

GroupDocs.Merger Cloud SDK for .NET là một giải pháp mạnh mẽ và đáng tin cậy cho phép các nhà phát triển kết hợp khả năng hợp nhất PDF vào các ứng dụng C# của họ. Nó cung cấp một bộ tính năng và chức năng toàn diện để hợp nhất và kết hợp các tệp PDF một cách liền mạch. Bằng cách sử dụng SDK, bạn có thể hợp nhất nhiều định dạng tài liệu được hỗ trợ vào một tài liệu duy nhất, giữ nguyên định dạng, bố cục và nội dung ban đầu của chúng. SDK có thể được tích hợp vào ứng dụng dựa trên C# để đơn giản hóa quy trình phát triển của bạn.

Bạn có thể cài đặt GroupDocs.Merger Cloud SDK cho .NET cho dự án của mình từ NuGet Package manager hoặc sử dụng lệnh sau trong .NET CLI:

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

Tiếp theo, thu thập ID khách hàng và Bí mật khách hàng từ bảng điều khiển trước khi bạn bắt đầu làm theo các bước và ví dụ mã có sẵn. Thêm Client ID và Client Secret trong mã như minh họa bên dưới:

//Nhận clientId & clientSecret từ https://dashboard.groupdocs.cloud (yêu cầu đăng ký miễn phí).
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";

Hợp nhất nhiều tệp PDF thành một trong C# bằng API REST

Bây giờ chúng ta đã thiết lập môi trường phát triển và cài đặt SDK, hãy tiến hành hợp nhất các tệp PDF. Thực hiện theo các bước sau:

Tải tệp lên

Đầu tiên, tải tài liệu PDF lên bộ nhớ đám mây bằng bất kỳ phương pháp nào sau đây:

  • Sử dụng bảng điều khiển
  • Tải lên từng tệp một bằng cách sử dụng API tệp tải lên từ trình duyệt
  • Tải lên theo chương trình bằng ví dụ mã được cung cấp bên dưới:
// Tải tệp lên bằng 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
      {
        // Tạo các phiên bản API cần thiết
        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);
      }

    }
  }
}

Do đó, tệp PDF đã tải lên sẽ có sẵn trong phần tệp trên trang tổng quan của bạn trên đám mây.

Hợp nhất tài liệu PDF trong C#

Dưới đây là các bước và một đoạn mã ví dụ trình bày cách hợp nhất nhiều tài liệu PDF thành một tệp duy nhất theo chương trình trong C#.

  • Đầu tiên, tạo một thể hiện của lớp DocumentApi.
  • Thứ hai, tạo một thể hiện của lớp JoinItem.
  • Thứ ba, đặt đường dẫn tệp đầu vào cho JoinItem đầu tiên trong FileInfo.
  • Sau đó, tạo một phiên bản mới của JoinItem cho tệp đầu vào thứ hai.
  • Bây giờ, hãy cung cấp đường dẫn tệp đầu vào cho JoinItem thứ hai trong FileInfo.
  • Bạn có thể thêm nhiều JoinItems để hợp nhất nhiều tệp PDF hơn.
  • Tiếp theo, tạo một thể hiện của lớp JoinOptions.
  • Thêm danh sách các mục tham gia đã tạo được phân tách bằng dấu phẩy.
  • Ngoài ra, hãy đặt đường dẫn tệp đầu ra trên đám mây.
  • Bây giờ, hãy tạo một thể hiện của JoinRequest và chuyển tham số JoinOptions.
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức join() của DocumentApi và chuyển tham số JoinRequest.

Đoạn mã sau cho biết cách hợp nhất nhiều tệp PDF thành một trong C# bằng API REST:

// Cách hợp nhất nhiều tệp PDF thành một trong C# bằng API REST
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ách hợp nhất các tệp PDF thành một bằng C#
  class Merge_PDF_Files

  {
    static void Main(string[] args)
    {

      try
      {
        // Tạo các phiên bản API cần thiết
        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);
      }

    }
  }
}

Chỉ với một vài dòng mã, giờ đây bạn có thể dễ dàng hợp nhất các tệp PDF bằng cách sử dụng GroupDocs.Merger Cloud SDK dành cho .Net.

Tải xuống tệp

Ví dụ mã trên sẽ lưu tệp PDF đã hợp nhất trên đám mây. Bạn có thể tải xuống bằng đoạn mã sau:

// Tải xuống tệp kết quả từ đám mây
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
{
  // Tải xuống tệp đầu ra
  class Download_File
  {
    static void Main(string[] args)
    {
      try
      {
        // khởi tạo api
        var fileApi = new FileApi(configuration);
        // tạo yêu cầu tệp tải xuống
        var downloadRequest = new DownloadFileRequest("csharp-testing/merged-file.pdf", myStorage);
        // Tải tập tin
        Stream downloadResponse = fileApi.DownloadFile(downloadRequest);

        // lưu tệp trong thư mục làm việc
        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);
      }

    }
  }
}

Hợp nhất các trang cụ thể của tệp PDF trong C# bằng API REST

GroupDocs.Merger Cloud SDK cung cấp nhiều tùy chọn nâng cao khác nhau để tùy chỉnh quy trình hợp nhất PDF theo yêu cầu của bạn. Bạn có thể dễ dàng kết hợp các trang cụ thể từ nhiều tệp PDF thành một tệp theo chương trình bằng cách thực hiện theo các bước bên dưới:

  • Đầu tiên, tạo một thể hiện của lớp DocumentApi.
  • Thứ hai, tạo một thể hiện của lớp JoinItem.
  • Thứ ba, đặt đường dẫn tệp đầu vào cho JoinItem đầu tiên trong FileInfo.
  • Tiếp theo, cung cấp danh sách các trang được phân tách bằng dấu phẩy để tham gia.
  • Sau đó, tạo một phiên bản mới của JoinItem cho tệp đầu vào thứ hai.
  • Bây giờ, hãy cung cấp đường dẫn tệp đầu vào cho JoinItem thứ hai trong FileInfo.
  • Đặt các giá trị StartPageNumber, EndPageNumber và RangeMode.
  • Bạn có thể thêm nhiều JoinItems để hợp nhất nhiều tệp PDF hơn.
  • Tiếp theo, tạo một thể hiện của lớp JoinOptions.
  • Thêm danh sách các mục tham gia đã tạo được phân tách bằng dấu phẩy.
  • Ngoài ra, hãy đặt đường dẫn tệp đầu ra trên đám mây.
  • Bây giờ, hãy tạo một thể hiện của JoinRequest và chuyển tham số JoinOptions.
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức join() của DocumentApi và chuyển tham số JoinRequest.

Đoạn mã sau cho biết cách hợp nhất các trang cụ thể từ hai tệp PDF trong C# .NET bằng API REST:

// Cách hợp nhất các trang cụ thể của nhiều tệp PDF trong C#
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
{
  // Kết hợp các tệp PDF thành một trong C#
  class Merge_PDF_Files
  {
    static void Main(string[] args)
    { 

      try
      {
        
        // Tạo các phiên bản API cần thiết
        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);
      }

    }
  }
}

Sáp nhập PDF trực tuyến miễn phí

Làm cách nào để hợp nhất các tệp PDF thành một trực tuyến miễn phí? Vui lòng thử ứng dụng Sáp nhập PDF trực tuyến sau đây để kết hợp nhiều tệp PDF thành một tệp từ bất kỳ thiết bị nào.

Tổng hợp

Tóm lại, GroupDocs.Merger Cloud SDK dành cho .Net cung cấp một giải pháp đáng tin cậy và hiệu quả để hợp nhất các tệp PDF trong các ứng dụng C#. Bài đăng trên blog này đã dạy chúng ta:

  • cách kết hợp nhiều tệp PDF thành một trong C# .NET trên đám mây;
  • lập trình tải lên và tải xuống tệp PDF từ đám mây;
  • cách kết hợp các trang cụ thể của nhiều tệp PDF thành một tệp duy nhất trong C#;
  • và công cụ hợp nhất tệp PDF trực tuyến miễn phí.

Ngoài ra, bạn có thể tìm hiểu thêm về GroupDocs.Merge Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham khảo API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt. Mã nguồn hoàn chỉnh của GroupDocs.Merger Cloud SDK dành cho .Net được cung cấp miễn phí trên GitHub.

Cuối cùng, chúng tôi tiếp tục viết các bài blog mới trên các định dạng tệp khác nhau và phân tích cú pháp chúng bằng API REST. Vì vậy, vui lòng liên hệ để cập nhật thông tin mới nhất.

Đặt một câu hỏi

Trong trường hợp bạn có bất kỳ thắc mắc nào về API Sáp nhập PDF, vui lòng liên hệ với chúng tôi qua diễn đàn của chúng tôi.

câu hỏi thường gặp

Có thể hợp nhất các trang cụ thể từ các tệp PDF khác nhau bằng C# không?

Có, bằng cách sử dụng GroupDocs.Merger Cloud SDK for .NET, bạn có thể chỉ định phạm vi trang để hợp nhất các trang cụ thể từ các tệp PDF khác nhau. Điều này cho phép bạn linh hoạt trích xuất và kết hợp thông tin liên quan khi cần.

Làm cách nào tôi có thể cài đặt thư viện hợp nhất PDF trực tuyến?

Bạn có thể lấy GroupDocs.Merger Cloud SDK cho .Net từ trang web GroupDocs chính thức. Làm theo hướng dẫn cài đặt được cung cấp để thiết lập SDK trong ứng dụng C# của bạn.

Làm cách nào để hợp nhất nhiều tệp PDF trực tuyến miễn phí?

Vui lòng truy cập công cụ Hợp nhất PDF trực tuyến để hợp nhất và kết hợp hai hoặc nhiều tệp PDF miễn phí trong vài giây.

Xem thêm

Nếu bạn muốn tìm hiểu thêm về các chủ đề liên quan, chúng tôi khuyên bạn nên đọc các bài viết được liệt kê bên dưới: