Поиск и Извлечение Изображений из PDF Документа с использованием C++
Contents
[
Hide
]
ImagePlacementAbsorber позволяет искать среди изображений на всех страницах в PDF документе.
Чтобы произвести поиск изображений во всем документе:
- Вызовите метод Accept коллекции Pages. Метод Accept принимает объект ImagePlacementAbsorber в качестве параметра. Это возвращает коллекцию объектов ImagePlacement.
- Пройдитесь по объектам 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());
}
}