Поиск и Извлечение Изображений из PDF Документа с использованием C++

Contents
[ ]

ImagePlacementAbsorber позволяет искать среди изображений на всех страницах в PDF документе.

Чтобы произвести поиск изображений во всем документе:

  1. Вызовите метод Accept коллекции Pages. Метод Accept принимает объект ImagePlacementAbsorber в качестве параметра. Это возвращает коллекцию объектов ImagePlacement.
  2. Пройдитесь по объектам ImagePlacements и получите их свойства (изображение, размеры, разрешение и так далее).

Следующий фрагмент кода показывает, как искать в документе все его изображения.

используя пространство имен System;
используя пространство имен Aspose::Pdf;
используя пространство имен Aspose::Pdf::Text;

void SearchAndGetImagesFromPDFDocument() {

    String _dataDir("C:\\Samples\\");

    // Открыть документ
    auto document = MakeObject<Document>(_dataDir + u"SearchAndGetImages.pdf");

    // Создать объект ImagePlacementAbsorber для выполнения поиска размещения изображений
    auto abs = MakeObject<ImagePlacementAbsorber>();

    // Принять абсорбер для всех страниц
    document->get_Pages()->Accept(abs);

    // Перебрать все ImagePlacements, получить изображение и свойства ImagePlacement
    for(auto imagePlacement : abs->get_ImagePlacements())
    {
        // Получить изображение, используя объект ImagePlacement
        auto image = imagePlacement->get_Image();

        // Отобразить свойства размещения изображений для всех размещений
        Console::WriteLine(u"ширина изображения: {0}", imagePlacement->get_Rectangle()->get_Width());
        Console::WriteLine(u"высота изображения:{0}", imagePlacement->get_Rectangle()->get_Height());
        Console::WriteLine(u"LLX изображения:{0}", imagePlacement->get_Rectangle()->get_LLX());
        Console::WriteLine(u"LLY изображения:{0}", imagePlacement->get_Rectangle()->get_LLY());
        Console::WriteLine(u"горизонтальное разрешение изображения:{0}", imagePlacement->get_Resolution()->get_X());
        Console::WriteLine(u"вертикальное разрешение изображения:{0}", imagePlacement->get_Resolution()->get_Y());
    }
}