Trabajando con la Colocación de Imágenes

Contents
[ ]

Con el lanzamiento de Aspose.PDF para .NET 7.0.0, introdujimos clases llamadas ImagePlacement, ImagePlacementAbsorber y ImagePlacementCollection que ofrecen capacidades similares a las clases descritas anteriormente para obtener la resolución y posición de una imagen en un documento PDF.

  • ImagePlacementAbsorber realiza la búsqueda de uso de imagen como la colección de objetos ImagePlacement.
  • ImagePlacement proporciona los miembros Resolution y Rectangle que devuelven los valores reales de colocación de imágenes.

El siguiente fragmento de código también funciona con la nueva interfaz gráfica Aspose.Drawing.

// Para ejemplos completos y archivos de datos, por favor visite https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_Images();


// Cargar el documento PDF fuente
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir+ "ImagePlacement.pdf");
ImagePlacementAbsorber abs = new ImagePlacementAbsorber();

// Cargar el contenido de la primera página
doc.Pages[1].Accept(abs);
foreach (ImagePlacement imagePlacement in abs.ImagePlacements)
{
    // Obtener propiedades de la imagen
    Console.Out.WriteLine("ancho de imagen:" + imagePlacement.Rectangle.Width);
    Console.Out.WriteLine("altura de imagen:" + imagePlacement.Rectangle.Height);
    Console.Out.WriteLine("LLX de imagen:" + imagePlacement.Rectangle.LLX);
    Console.Out.WriteLine("LLY de imagen:" + imagePlacement.Rectangle.LLY);
    Console.Out.WriteLine("resolución horizontal de imagen:" + imagePlacement.Resolution.X);
    Console.Out.WriteLine("resolución vertical de imagen:" + imagePlacement.Resolution.Y);

    // Recuperar imagen con dimensiones visibles
    Bitmap scaledImage;
    using (MemoryStream imageStream = new MemoryStream())
    {
        // Recuperar imagen de recursos
        imagePlacement.Image.Save(imageStream, System.Drawing.Imaging.ImageFormat.Png);
        Bitmap resourceImage = (Bitmap)Bitmap.FromStream(imageStream);
        // Crear bitmap con dimensiones reales
        scaledImage = new Bitmap(resourceImage, (int)imagePlacement.Rectangle.Width, (int)imagePlacement.Rectangle.Height);
    }
}