Извлечение изображений из PDF в C++

Как извлечь изображения из PDF с помощью библиотеки C++

Как извлечь изображения из PDF с помощью библиотеки C++

Нужно ли извлекать изображения из PDF? Программная модификация PDF-документов — неотъемлемая часть современных цифровых рабочих процессов. С помощью библиотек C++, таких как Aspose.PDF, разработчики могут извлекать изображения из PDF. Эти библиотеки представляют собой автономные решения, которые не зависят от другого программного обеспечения и готовы к коммерческому использованию. Они удовлетворяют все возможные потребности профессиональных разработчиков на языке C++.

  • Извлечение текста из PDF
  • Извлечение изображений из PDF
  • Извлечение шрифтов из PDF
  • Извлечение данных из формы
  • Извлечение текста из марок
  • Извлечение данных из таблицы

Для извлечения изображений из PDF-файла мы будем использовать API Aspose.PDF для C++, который представляет собой многофункциональный, мощный и простой в использовании API для работы с документами для платформы cpp. Откройте менеджер пакетов NuGet, найдите aspose.pdf и установите. Вы также можете использовать следующую команду в консоли диспетчера пакетов.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

Извлечение изображений из PDF в C++


Чтобы попробовать код в своей среде, вам понадобится Aspose.PDF для C++.

  1. Загрузите PDF-файл вместе с экземпляром документа.
  2. Создайте объект Ximage для извлечения изображений.
  3. Сохраните выходное изображение в файл jpeg.
  4. Сохраните обновленный PDF-файл.

Извлечение изображений из PDF - C++

В этом примере кода показано, как извлекать изображения из PDF-документов.

Input file:

File not added

Output format:

PDF

Output file:

    void ExtractImage()
{
    std::clog << __func__ << ": Start" << std::endl;
    // String for path name
    String _dataDir("C:\\Samples\\Parsing\\");

    // String for file name
    String infilename("sample-image.pdf");
    String outfilename("extracted_image.jpeg");

    // Open document
    auto document = MakeObject<Document>(_dataDir + infilename);

    // Extract a particular image
    auto xImage = document->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);

    auto outputImage = System::IO::File::OpenWrite(_dataDir + outfilename);

    // Save output image
    xImage->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
    outputImage->Close();

    std::clog << __func__ << ": Finish" << std::endl;
}

О Aspose.PDF для API C++

Aspose.PDF для C++ — это мощная библиотека обработки, которая позволяет разработчикам создавать, читать и обрабатывать PDF-документы без использования Adobe Acrobat. Она предоставляет широкий спектр функций, таких как создание форм, добавление/редактирование текста, управление страницами PDF, добавление аннотаций, работа с пользовательскими шрифтами и многое другое.

Aspose.PDF для C++ — это библиотека, которая позволяет разработчикам добавлять в свои приложения возможности обработки PDF. API можно использовать для создания любых 32-битных и 64-разрядных приложений для создания, чтения, преобразования и обработки PDF-файлов без использования Adobe Acrobat.

Подробное объяснение и примеры каждого класса и метода можно найти в Aspose.PDF для библиотеки C++ в справочнике по API. А также рекомендуем ознакомиться с Документацией.