Получение и поиск изображений в PDF
Contents
[
Hide
]
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);