Как объединить несколько файлов PDF в один на С# .Net

Как объединить PDF-файлы в C# с помощью REST API.

PDF(Portable Document Format) широко используется для обмена документами с сохранением их форматирования и макета. В некоторых сценариях может потребоваться объединить несколько файлов PDF в один документ, чтобы упростить информацию или улучшить доступность. GroupDocs.Merger Cloud SDK для .Net предоставляет мощный и интуитивно понятный способ программного объединения PDF-файлов, что экономит ваше время и усилия. В этой статье мы рассмотрим, как объединять и объединять PDF-файлы в C# с помощью REST API.

В этой статье должны быть раскрыты следующие темы:

C# REST API для объединения PDF-файлов и установки C# SDK

GroupDocs.Merger Cloud SDK для .NET — это мощное и надежное решение, которое позволяет разработчикам включать возможности слияния PDF-файлов в свои приложения C#. Он предлагает полный набор возможностей и функций для беспрепятственного слияния и объединения PDF-файлов. Используя SDK, вы можете объединить несколько поддерживаемых форматов документов в один документ, сохранив их исходное форматирование, макет и содержимое. SDK можно интегрировать в приложение на основе C#, чтобы упростить процесс разработки.

Вы можете установить GroupDocs.Merger Cloud SDK для .NET в свой проект из диспетчера пакетов NuGet или с помощью следующей команды в .NET CLI:

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

Затем соберите идентификатор клиента и секрет клиента с панели управления, прежде чем приступить к выполнению шагов и доступных примеров кода. Добавьте идентификатор клиента и секрет клиента в код, как показано ниже:

//Получите clientId и clientSecret с https://dashboard.groupdocs.cloud (требуется бесплатная регистрация).
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";

Объединение нескольких PDF-файлов в один на C# с помощью REST API

Теперь, когда у нас настроена среда разработки и установлен 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-файл будет доступен в разделе файлов вашей панели управления в облаке.

Объединение PDF-документов в C#

Вот шаги и пример фрагмента кода, который демонстрирует, как программно объединить несколько документов PDF в один файл на C#.

  • Во-первых, создайте экземпляр класса DocumentApi.
  • Во-вторых, создайте экземпляр класса JoinItem.
  • В-третьих, установите путь к входному файлу для первого элемента JoinItem в файле FileInfo.
  • Затем создайте новый экземпляр JoinItem для второго входного файла.
  • Теперь укажите путь к входному файлу для второго элемента JoinItem в файле FileInfo.
  • Вы можете добавить дополнительные элементы JoinItem, чтобы объединить больше PDF-файлов.
  • Затем создайте экземпляр класса JoinOptions.
  • Добавьте разделенный запятыми список созданных элементов объединения.
  • Также задайте путь к выходному файлу в облаке.
  • Теперь создайте экземпляр JoinRequest и передайте параметр JoinOptions.
  • Наконец, получите результаты, вызвав метод join() DocumentApi и передав параметр JoinRequest.

В следующем фрагменте кода показано, как объединить несколько PDF-файлов в один на C# с помощью REST API:

// Как объединить несколько PDF-файлов в один на C# с помощью REST API
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
{
  // Как объединить PDF-файлы в один с помощью C#
  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);
      }

    }
  }
}

Всего несколько строк кода, и теперь вы можете легко объединять PDF-файлы с помощью GroupDocs.Merger Cloud SDK для .Net.

Загрузите файл

Приведенный выше пример кода сохранит объединенный 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
      {
        // инициализировать API
        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);
      }

    }
  }
}

Объединение определенных страниц PDF-файлов в C# с использованием REST API

Пакет SDK GroupDocs.Merger Cloud предлагает различные дополнительные параметры для настройки процесса объединения PDF-файлов в соответствии с вашими требованиями. Вы можете легко объединить определенные страницы из нескольких файлов PDF в один файл программно, выполнив следующие действия:

  • Во-первых, создайте экземпляр класса DocumentApi.
  • Во-вторых, создайте экземпляр класса JoinItem.
  • В-третьих, установите путь к входному файлу для первого элемента JoinItem в файле FileInfo.
  • Затем укажите через запятую список страниц, к которым нужно присоединиться.
  • Затем создайте новый экземпляр JoinItem для второго входного файла.
  • Теперь укажите путь к входному файлу для второго элемента JoinItem в файле FileInfo.
  • Задайте значения StartPageNumber, EndPageNumber и RangeMode.
  • Вы можете добавить дополнительные элементы JoinItem, чтобы объединить больше PDF-файлов.
  • Затем создайте экземпляр класса JoinOptions.
  • Добавьте разделенный запятыми список созданных элементов объединения.
  • Также задайте путь к выходному файлу в облаке.
  • Теперь создайте экземпляр JoinRequest и передайте параметр JoinOptions.
  • Наконец, получите результаты, вызвав метод join() DocumentApi и передав параметр JoinRequest.

В следующем фрагменте кода показано, как объединить определенные страницы из двух PDF-файлов в C# .NET с помощью REST API:

// Как объединить определенные страницы нескольких PDF-файлов в 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
{
  // Объединить 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 Merger, чтобы объединить несколько файлов PDF в один файл с любого устройства.

Подведение итогов

В заключение отметим, что пакет SDK GroupDocs.Merger Cloud для .Net представляет собой надежное и эффективное решение для слияния файлов PDF в приложениях C#. Этот пост в блоге научил нас:

  • как объединить несколько файлов PDF в один на C# .NET в облаке;
  • программно загружать и скачивать файл PDF из облака;
  • как объединить определенные страницы нескольких PDF-файлов в один файл на C#;
  • и бесплатный онлайн-инструмент для слияния PDF-файлов.

Кроме того, вы можете узнать больше о GroupDocs.Merge Cloud API, используя документацию. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. Полный исходный код GroupDocs.Merger Cloud SDK для .Net находится в свободном доступе на GitHub.

Наконец, мы продолжаем писать новые статьи в блогах о разных форматах файлов и анализируем их с помощью REST API. Поэтому, пожалуйста, свяжитесь с нами для получения последних обновлений.

Задайте вопрос

Если у вас есть какие-либо вопросы об API PDF Merger, свяжитесь с нами через наш форум.

Часто задаваемые вопросы

Можно ли объединить определенные страницы из разных файлов PDF с помощью С#?

Да, используя GroupDocs.Merger Cloud SDK для .NET, вы можете указать диапазоны страниц для объединения определенных страниц из разных PDF-файлов. Это дает вам возможность извлекать и комбинировать необходимую информацию по мере необходимости.

Как я могу установить онлайн-библиотеку слияния PDF?

Вы можете получить SDK GroupDocs.Merger Cloud SDK для .Net с официального веб-сайта GroupDocs. Следуйте инструкциям по установке, чтобы настроить SDK в приложении C#.

Как объединить несколько файлов PDF онлайн бесплатно?

Воспользуйтесь онлайн-инструментом для слияния PDF, чтобы бесплатно и за считанные секунды объединить два или более PDF-файла.

Смотрите также

Если вы хотите узнать больше по связанным темам, мы рекомендуем прочитать статьи, перечисленные ниже: