Get and Search Images in PDF
Contents
[
Hide
]
The ImagePlacementAbsorber allows you to search among images on all pages in a PDF document.
The following code snippet also work with Aspose.PDF.Drawing library.
To search a whole document for images:
- Call the Pages collection’s Accept method. The Accept method takes an ImagePlacementAbsorber object as a parameter. This returns a collection of ImagePlacement objects.
- Loop through the ImagePlacements objects and get their properties (Image, dimensions, resolution and so on).
The following code snippet shows how to search a document for all its images.
// For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_AsposePdf_Images();
// Open document
Document document = new Document(dataDir + "SearchAndGetImages.pdf");
// Create ImagePlacementAbsorber object to perform image placement search
ImagePlacementAbsorber abs = new ImagePlacementAbsorber();
// Accept the absorber for all the pages
document.Pages.Accept(abs);
// Loop through all ImagePlacements, get image and ImagePlacement Properties
foreach (ImagePlacement imagePlacement in abs.ImagePlacements)
{
// Get the image using ImagePlacement object
XImage image = imagePlacement.Image;
// Display image placement properties for all placements
Console.Out.WriteLine("image width:" + imagePlacement.Rectangle.Width);
Console.Out.WriteLine("image height:" + imagePlacement.Rectangle.Height);
Console.Out.WriteLine("image LLX:" + imagePlacement.Rectangle.LLX);
Console.Out.WriteLine("image LLY:" + imagePlacement.Rectangle.LLY);
Console.Out.WriteLine("image horizontal resolution:" + imagePlacement.Resolution.X);
Console.Out.WriteLine("image vertical resolution:" + imagePlacement.Resolution.Y);
}
To get an image from an individual page, use the following code:
// For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.PDF-for-.NET
document.Pages[1].Accept(abs);