Разделить PDF-файлы с помощью C++

PDF – это стандартный формат для обмена документами в Интернете. Его глобальная поддержка и последовательная компоновка делают его идеальным выбором для таких сценариев. Но могут быть ситуации, когда совместное использование всего PDF-файла не является идеальным или подходящим вариантом. В таких случаях вы можете разделить файл PDF в соответствии с вашими требованиями. Вы можете сделать это вручную, но это может оказаться менее эффективным и трудоемким. Кроме того, вы можете разделить PDF-документ программно. В этой статье вы узнаете, как разделить файлы PDF с помощью C++.

C++ API для разделения PDF-файлов

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

PM> Install-Package Aspose.PDF.Cpp

Разделить файл PDF с помощью C++

Aspose.PDF для C++ позволяет сохранять каждую страницу PDF-файла как отдельный PDF-документ. Ниже приведены шаги для достижения этого с помощью C++.

  • Загрузите исходный файл PDF с помощью класса Document.
  • Пролистайте страницы исходного PDF-файла, используя метод Document->getPages().
  • В цикле создайте экземпляр класса Document для представления нового файла PDF.
  • Добавьте полученную в цикле страницу Page к только что созданному объекту Document.
  • Сохраните новый PDF-файл, используя метод Документ->Сохранить (System::String outputFileName).

Ниже приведен пример кода для разделения файла PDF с помощью C++.

// Загрузить PDF-файл
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Счетчик страниц
int pageCount = 1;

// Пролистайте все страницы
for (auto page : pdfDocument->get_Pages())
{
	// Создать новый документ
	auto newDoc = MakeObject<Document>();

	// Добавить страницу в документ
	newDoc->get_Pages()->Add(page);

	// Сохранить как PDF
	newDoc->Save(u"OutputDirectory\\Sample_Page_" + System::Convert::ToString(pageCount) + u"_out.pdf");
	pageCount++;
}

Разделить выбранные страницы PDF с помощью C++

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

Ниже приведен пример кода для разделения определенных страниц PDF с помощью C++.

// Загрузить PDF-файл
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Создать новый документ
auto newDoc = MakeObject<Document>();

// Счетчик страниц
int pageCount = 1;

// Пролистайте все страницы
for (auto page : pdfDocument->get_Pages())
{
	// Получить только четные страницы
	if (pageCount % 2 == 0)
	{
		// Добавить страницу в документ
		newDoc->get_Pages()->Add(page);
	}
	pageCount++;
}

// Сохранить как PDF
newDoc->Save(u"OutputDirectory\\Sample_Even_Pages_out.pdf");

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

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

Вывод

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

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