Оглавление
Установка через NuGet
PM> Install-Package Spire.PDF
Похожие ссылки
В мире разработки программного обеспечения и управления документами знание того, как разделить PDF на C#, является фундаментальным навыком для разработчиков .NET. Независимо от того, нужно ли вам разделять большие отчеты на более мелкие части, извлекать определенные страницы для распространения или более эффективно организовывать контент, программное разделение файлов PDF может сэкономить значительное количество времени и усилий.

В этом руководстве рассматривается, как разделять файлы PDF на C# с помощью библиотеки Spire.PDF for .NET — надежного решения для обработки PDF без зависимостей.
- Представляем Spire.PDF for .NET
- Разделение документа PDF на C# - Примеры кода
- Расширенные советы по разделению PDF
- Часто задаваемые вопросы (демо на VB.NET)
- Заключение
Представляем Spire.PDF for .NET
Spire.PDF — это многофункциональная библиотека .NET, предлагающая:
- Комплексные возможности для работы с PDF
- Нулевая зависимость от Adobe Acrobat
- Поддержка .NET Framework, .NET Core, .NET 5+, MonoAndroid и Xamarin.iOS
Прежде чем вы сможете начать разделение PDF на несколько файлов в приложениях C#, необходимо установить библиотеку через менеджер пакетов NuGet.
- Откройте свой проект C# в Visual Studio.
- Щелкните правой кнопкой мыши по проекту в обозревателе решений и выберите «Управление пакетами NuGet».
- В окне менеджера пакетов NuGet найдите «Spire.PDF».
- Выберите подходящую версию библиотеки и нажмите «Установить». NuGet загрузит и добавит необходимые ссылки в ваш проект.
Альтернативный метод: вручную загрузите DLL с официального сайта Spire.PDF и сошлитесь на нее в своем проекте.
Разделение документа PDF на C# - Примеры кода
Теперь, когда библиотека настроена в вашем проекте, давайте посмотрим, как разделить PDF в .NET. Существуют различные сценарии разделения PDF, такие как разделение на отдельные страницы или на несколько PDF-файлов на основе определенного количества страниц. Мы рассмотрим оба распространенных случая.
Разделить PDF на отдельные страницы
Ниже приведен пример кода на C# для разделения документа PDF на отдельные PDF-файлы, каждый из которых содержит одну страницу из исходного документа:
using Spire.Pdf;
namespace SplitPDFIntoMultipleFiles
{
class Program
{
static void Main(string[] args)
{
// Укажите путь к входному файлу
string inputFile = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf";
// Укажите выходной каталог
string outputDirectory = "C:\\Users\\Administrator\\Desktop\\Output\\";
// Создайте объект PdfDocument
PdfDocument pdf = new PdfDocument();
// Загрузите PDF-файл
pdf.LoadFromFile(inputFile);
// Разделите PDF на несколько одностраничных PDF-файлов
pdf.Split(outputDirectory + "output-{0}.pdf", 1);
}
}
}
Вызвав метод Split(), вы можете разделить входной PDF-документ (содержащий 10 страниц) на 10 отдельных файлов.

Разделить PDF на несколько файлов по диапазонам страниц
Предположим, вы хотите разделить большой PDF-файл на несколько меньших PDF-файлов, каждый из которых содержит указанное количество страниц. Вы можете создать два или более новых документа PDF, а затем импортировать в них страницу или диапазон страниц из исходного PDF.
Вот общие шаги по разделению файла PDF по страницам на C#:
- Загрузите исходный PDF.
- Создайте два пустых PDF-файла для хранения разделенных страниц.
- Разделите страницы PDF:
- Используйте метод InsertPage() для импорта указанной страницы из исходного PDF в первый новый PDF.
- Используйте метод InsertPageRange() для импорта диапазона страниц из исходного PDF во второй новый PDF.
- Сохраните оба новых PDF-файла в выходной каталог.
Пример кода на C#:
using Spire.Pdf;
namespace SplitPdfByPageRanges
{
class Program
{
static void Main(string[] args)
{
// Укажите путь к входному файлу
string inputFile = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf";
// Укажите выходной каталог
string outputDirectory = "C:\\Users\\Administrator\\Desktop\\Output\\";
// Загрузите исходный PDF-файл при инициализации объекта PdfDocument
PdfDocument sourcePdf = new PdfDocument(inputFile);
// Создайте два новых документа PDF
PdfDocument pdf1 = new PdfDocument();
PdfDocument pdf2 = new PdfDocument();
// Вставьте первую страницу исходного PDF в первый документ
pdf1.InsertPage(sourcePdf, 0);
// Вставьте остальные страницы исходного PDF во второй документ
pdf2.InsertPageRange(sourcePdf, 1, sourcePdf.Pages.Count - 1);
// Сохраните два документа PDF
pdf1.SaveToFile(outputDirectory + "output-1.pdf");
pdf2.SaveToFile(outputDirectory + "output-2.pdf");
}
}
}
Выполнив этот код, вы можете извлечь страницу 1 и страницы 2-10 из входного PDF в 2 отдельных PDF-файла.

Расширенные советы по разделению PDF
-
Динамические диапазоны страниц: чтобы разделить на несколько диапазонов (например, страницы 1-3, 5-7), создайте дополнительные объекты PdfDocument и настройте индекс вставки страниц метода InsertPageRange().
-
Соглашения об именовании файлов: используйте описательные шаблоны при именовании выходных файлов через параметр destFilePattern метода Split() для лучшей организации файлов (например, report_part-{0}.pdf).
-
Обработка ошибок: добавьте блоки try-catch для обработки исключений во время файловых операций.
try
{
/* Код для разделения PDF */
}
catch (Exception ex)
{
Console.WriteLine("Ошибка: " + ex.Message);
}
Часто задаваемые вопросы (демо на VB.NET)
В1: Как удалить водяные знаки в выходном файле?
О: Вы можете запросить пробную лицензию здесь (действительна в течение 30 дней), чтобы удалить водяные знаки и ограничения. Или вы можете попробовать бесплатную версию Community.
В2: Сохраняются ли при разделении гиперссылки/поля форм?
О:
| Элементы | Сохранено? |
| Гиперссылки | ✅ Да |
| Поля форм | ✅ Да |
| Аннотации | ✅ Да |
| Цифровые подписи | ❌ Нет (требуется полный контекст документа) |
В3: Могу ли я разделить одну страницу PDF на несколько страниц/файлов?
О: Да. Spire.PDF также поддерживает горизонтальное или вертикальное разделение страницы PDF на две или более страниц. Руководство: Разделение страницы PDF на несколько страниц на C#
В4: Есть ли демо-версия на VB.NET для разделения PDF-файлов?
О: Будучи нативной библиотекой .NET, Spire.PDF работает одинаково как на C#, так и на VB.NET. Поэтому вы можете использовать какой-либо инструмент для конвертации кода (например, Telerik Code Converter) для мгновенного перевода примеров с C# на VB.NET.
Заключение
Spire.PDF упрощает разделение PDF-файлов на C# с помощью интуитивно понятных методов. Независимо от того, нужно ли вам базовое разделение по страницам или более сложное разделение на основе диапазонов страниц, библиотека предоставляет необходимую функциональность. Следуя этому руководству, вы сможете эффективно реализовать разделение PDF в своих приложениях на C# или VB.NET, повысив производительность и управление документами.
Где получить помощь
Совет профессионала: комбинируйте разделение с функциями преобразования Spire.PDF для извлечения страниц в виде изображений или других форматов файлов.