Слияние PDF-файлов в C#

Объединение нескольких PDF-файлов в один PDF-файл может быть полезно в различных сценариях. Например, вы можете хранить похожие документы (т.е. резюме) в одном файле или вы можете поделиться одним файлом, а не оптом. Чтобы выполнить вышеупомянутые или аналогичные требования, в этой статье вы узнаете, как объединить несколько файлов PDF в C#.

C# .NET API для слияния PDF-файлов — скачать бесплатно

Aspose.PDF for .NET — это многофункциональный API для создания, редактирования, чтения или преобразования PDF-документов. Наряду с другими функциями работы с PDF, Aspose.PDF для .NET также позволяет программно комбинировать или объединять PDF-файлы. Вы можете скачать API или установить его с помощью диспетчера пакетов NuGet или консоли диспетчера пакетов в Visual Studio.

Установка через диспетчер пакетов NuGet

Объединение нескольких PDF-файлов в C# .NET

Установка через консоль диспетчера пакетов

PM> Install-Package Aspose.PDF

Объединить два PDF-файла в C#

Процесс объединения двух PDF-файлов в один PDF-файл очень прост и может быть выполнен всего за два шага.

Ниже приведен пример кода для объединения двух PDF-файлов с помощью C#.

// создать объект PdfFileEditor
PdfFileEditor pdfEditor = new PdfFileEditor();
// объединить файлы
pdfEditor.Concatenate("file1.pdf", "file2.pdf", "merged.pdf");

Объединение нескольких PDF-файлов в C#

Если вы хотите объединить более двух файлов PDF, вы можете сделать это, используя массив строк, содержащий пути ко всем файлам PDF, которые нужно объединить. Ниже приведены шаги для выполнения этой операции.

  • Создайте экземпляр класса PdfFileEditor.
  • Создайте массив, содержащий пути объединяемых файлов PDF.
  • Вызовите метод PdfFileEditor.Concatenate(string[], string).

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

// создать объект PdfFileEditor
PdfFileEditor pdfEditor = new PdfFileEditor();
// создать массив путей к файлам PDF
string[] filesArray = new string[3];
filesArray[0] = "file1.pdf";
filesArray[1] = "file2.pdf";
filesArray[2] = "file3.pdf";
// объединить файлы
pdfEditor.Concatenate(filesArray, "merged.pdf");

С# Слияние PDF-файлов с использованием потоков

Возможен случай, когда вы имеете дело не с файлами, расположенными на диске. Вместо этого вы хотите объединить файлы PDF, доступные в виде потоков. В таком случае вы можете объединить файлы PDF напрямую, используя объекты Stream в перегруженных методах PdfFileEditor.Concatenate(). В следующих примерах кода показано, как объединить PDF-файлы с помощью объектов Stream.

Объединить два PDF-файла с помощью Stream Objects

// создать объект PdfFileEditor
PdfFileEditor pdfEditor = new PdfFileEditor();
// выходной поток
FileStream outputStream = new FileStream("Merged.pdf", FileMode.Create);
// входные потоки
FileStream inputStream1 = new FileStream("file1.pdf", FileMode.Open);
FileStream inputStream2 = new FileStream("file2.pdf", FileMode.Open);
// объединить файлы
pdfEditor.Concatenate(inputStream1, inputStream2, outputStream);

Объединение нескольких PDF-файлов с помощью Stream Objects

// создать объект PdfFileEditor
PdfFileEditor pdfEditor = new PdfFileEditor();
// выходной поток
FileStream outputStream = new FileStream("Merged.pdf", FileMode.Create);
// создать массив потоков 
FileStream[] streamArray = new FileStream[3];
streamArray[0] = new FileStream("file1.pdf", FileMode.Open);
streamArray[1] = new FileStream("file2.pdf", FileMode.Open);
streamArray[2] = new FileStream("file3.pdf", FileMode.Open);
// объединить файлы
pdfEditor.Concatenate(streamArray, outputStream);

Вывод

В этой статье вы узнали, как программно объединять PDF-файлы в C# .NET. Кроме того, в этой статье подробно обсуждается, как объединить два PDF-файла или несколько (более двух) PDF-файлов в один PDF-файл. Если вам интересно узнать больше об Aspose.PDF для .NET, ознакомьтесь с документацией.

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