Разделить PDF на несколько файлов с помощью С#

PDF — один из наиболее часто используемых форматов файлов с высокой переносимостью. Как разработчик, вы, возможно, сталкивались со сценарием программного разделения больших PDF-файлов. В одной из статей мы научились разбивать PDF-файлы на Java. Сегодня в этой статье обсуждаются различные способы разделения PDF-файлов с помощью C# в приложениях .NET.

.NET API для разделения файлов PDF

Чтобы разделить файлы PDF, мы будем использовать GroupDocs.Merge for .NET. Это API, который позволяет быстро интегрировать функции с помощью очень небольшого количества строк кода. Помимо разделения, он поддерживает объединение, обмен или обрезку документов разных форматов файлов.

Вы можете загрузить DLL или MSI установщик из раздела загрузок или установить API в своем приложении .NET через NuGet.

PM> Install-Package GroupDocs.Merger

Разделить файл PDF на многостраничные файлы с помощью С#

Следующие шаги помогут вам разделить PDF-файлы на многостраничные файлы с помощью C#.

  • Определите формат выходного файла (файлов).
  • Определите интервалы между страницами с помощью SplitOptions.
  • Загрузите файл PDF с помощью класса Merge.
  • Разделите загруженный PDF-файл в соответствии с заданным интервалом, используя метод Split().

В следующем примере кода показано, как разделить PDF-файлы на многостраничные файлы.

/*
 * Разделить PDF-файлы на многостраничные файлы с помощью C#
 */
// Определить формат выходного файла(ов)
string filePathOut = "path/splitPDF_{0}.{1}";

// Определите интервалы разделения и режим разделения
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 }, SplitMode.Interval);

// Загрузите файл PDF и разделите PDF в соответствии с параметрами разделения
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
} 

Извлечение страниц из файлов PDF по диапазону

Следующие шаги помогут вам извлечь страницы из PDF-файла с помощью C# путем разделения в соответствии с заданным диапазоном:

  • Определите формат выходного файла (файлов).
  • Укажите диапазон страниц с помощью SplitOptions.
  • Загрузите файл PDF с помощью класса Merge.
  • Используйте метод Split(), чтобы разделить загруженный PDF-файл в соответствии с заданным диапазоном.

В следующем фрагменте кода показано, как разделить PDF и извлечь страницы, указав диапазон.

/*
 * Разделить PDF-файл по заданному диапазону на одностраничные файлы с использованием С#
 */
// Определить формат выходного файла(ов)
string filePathOut = "path/splitPDF_{0}.{1}";

// Определить диапазон для извлечения в виде одностраничных документов
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);

// Загрузите файл PDF и разделите PDF в соответствии с параметрами разделения
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

Извлечение четных/нечетных страниц из PDF-файлов с помощью С#

Следующие шаги показывают, как извлечь четные/нечетные страницы из файла PDF путем разделения в заданном диапазоне, просто применяя фильтры в C#:

  • Определите формат выходного файла (файлов).
  • Укажите диапазон страниц с помощью SplitOptions.
  • Примените фильтр для четных, нечетных или всех страниц, используя RangeMode.
  • Загрузите файл PDF с помощью класса Merge.
  • Используйте метод Split() для разделения загруженного PDF-файла в соответствии с заданным фильтром.

В следующем фрагменте кода показано, как извлечь все нечетные/четные страницы в определенном диапазоне файла PDF.

/*
 * Разделить PDF-файл по заданному диапазону и фильтру (четные/нечетные страницы) на файлы с одной страницей с помощью С#
 */
// Определить формат выходного файла(ов)
string filePathOut = "path/splitPDF_{0}.{1}";

// Определите диапазон и фильтр, чтобы извлечь все нечетные страницы в заданном диапазоне в виде одностраничных документов.
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, RangeMode.OddPages);

// Загрузите файл PDF и разделите PDF в соответствии с параметрами разделения
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

Разделить файл PDF на несколько одностраничных файлов

Следующие шаги показывают, как мы можем разделить PDF-файл для извлечения страниц в виде нескольких одностраничных файлов на C#:

  • Определите формат выходного файла (файлов).
  • Определите точные номера страниц с помощью SplitOptions.
  • Загрузите файл PDF с помощью класса Merge.
  • Разделите загруженный PDF-файл на определенные страницы, используя метод Split().

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

/*
 * Разделить файл PDF на файлы с одной страницей с помощью С#
 */
// Определить формат выходного файла(ов)
string filePathOut = "path/splitPDF_{0}.{1}";

// Определите страницы для извлечения как одностраничный документ
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });

// Загрузите файл PDF и разделите PDF в соответствии с параметрами разделения
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

Сводка изменений кода

Во всех сценариях меняется способ определения SplitOptions. Вот сводка изменений в каждом фрагменте кода для каждого сценария. Вы можете использовать следующие настройки в соответствии с вашими требованиями в вашем коде. Здесь я использовал файл PDF с 10 страницами.

  • Для многостраничных файлов используйте интервал: [1,2], [3,4,5], [6,7], [8,9,10].
new SplitOptions(outputFile,  new int[] { 3, 6, 8 }, SplitMode.Interval)
  • Извлечь страницы в диапазоне: [3], [4], [5], [6]
new SplitOptions(outputFile, 3, 6);
  • Диапазон с фильтром: [3], [5], [7]
new SplitOptions(outputFile, 3, 8, (Integer)RangeMode.OddPages);
  • Отдельные страницы: [3], [4], [9]
new SplitOptions(outputFile, new int[] { 3, 4, 9 });

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию, чтобы использовать API без ограничений пробной версии.

Вывод

В заключение мы обсудили способы разделения PDF-файлов с помощью C#. Во-первых, мы разделяем файл PDF на многостраничные и одностраничные документы. Мы также извлекли страницы из файлов PDF. Сначала мы извлекли все страницы, а затем четные/нечетные страницы в заданном диапазоне. Вы можете попробовать создать собственное приложение .NET для разделения PDF-файлов с помощью API GroupDocs.Merger.

Чтобы узнать больше об API, посетите документацию. По вопросам обращайтесь к нам через форум.

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