Получение и поиск изображений в PDF

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

Следующий фрагмент кода также работает с библиотекой [Aspose.PDF.Drawing](/pdf/ru/net/drawing/).

Для поиска изображений во всем документе:

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

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

```csharp
// Для полных примеров и файлов данных, пожалуйста, перейдите на https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Путь к директории документов.
string dataDir = RunExamples.GetDataDir_AsposePdf_Images();

// Открыть документ
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir+ "SearchAndGetImages.pdf");

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

// Применить absorber ко всем страницам
doc.Pages.Accept(abs);

// Пройтись по всем ImagePlacements, получить изображение и свойства ImagePlacement
foreach (ImagePlacement imagePlacement in abs.ImagePlacements)
{
    // Получить изображение с помощью объекта ImagePlacement
    XImage image = imagePlacement.Image;

    // Отобразить свойства размещения изображений для всех размещений
    Console.Out.WriteLine("ширина изображения:" + imagePlacement.Rectangle.Width);
    Console.Out.WriteLine("высота изображения:" + imagePlacement.Rectangle.Height);
    Console.Out.WriteLine("LLX изображения:" + imagePlacement.Rectangle.LLX);
    Console.Out.WriteLine("LLY изображения:" + imagePlacement.Rectangle.LLY);
    Console.Out.WriteLine("горизонтальное разрешение изображения:" + imagePlacement.Resolution.X);
    Console.Out.WriteLine("вертикальное разрешение изображения:" + imagePlacement.Resolution.Y);
}

Для получения изображения со страницы используйте следующий код:

// Для полных примеров и файлов данных, пожалуйста, перейдите на https://github.com/aspose-pdf/Aspose.PDF-for-.NET
doc.Pages[1].Accept(abs);