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, обращайтесь к нам на наш бесплатный форум поддержки.