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++

Ниже приведены шаги для извлечения изображений из файла PDF.

  • Загрузите документ PDF с помощью класса Document.
  • Получите страницы документа с помощью метода Document->getPages() и выполните итерацию по ним.
  • Получите изображения для каждой страницы с помощью метода page->getResources()->getImages() и выполните итерацию по ним.
  • Создайте объект FileStream для каждого изображения и сохраните его в формате JPEG, PNG и т. д.

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

// Загрузите PDF-документ
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\SampleImages2.pdf");

// Инициализировать счетчик изображений
int imageCounter = 1;

// Итерация по страницам документа
for (auto page : pdfDocument->get_Pages())
{
	// Итерация по изображениям страницы
	for (auto image : page->get_Resources()->get_Images())
	{
		// Создайте экземпляр FileStream
		System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(String::Format(u"OutputDirectory\\Image{0}.jpg", imageCounter));

		// Сохранить изображение
		image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());

		// Закройте файловый поток
		outputImage->Close();

		// Увеличение счетчика изображений
		imageCounter++;
	}
}

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

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

Вывод

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

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