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, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractImagesFromPDF()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Images();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "SearchAndGetImages.pdf"))
{
// Create ImagePlacementAbsorber object to perform image placement search
var abs = new Aspose.Pdf.ImagePlacementAbsorber();
// Accept the absorber for all the pages
document.Pages.Accept(abs);
// Loop through all ImagePlacements, get image and ImagePlacement properties
foreach (var imagePlacement in abs.ImagePlacements)
{
// Get the image using ImagePlacement object
var 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, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractImageFromAnIndividualPage()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Images();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "SearchAndGetImages.pdf"))
{
// Create ImagePlacementAbsorber object to perform image placement search
var abs = new Aspose.Pdf.ImagePlacementAbsorber();
// Accept the absorber for all the pages
document.Pages[1].Accept(abs);
}
}